Addons updated to new doc format
[io.git] / addons / Socket / source / IoSocket.h
blob672ef607c2a4aad50af33f4a025af9642846284c
1 /*
2 //metadoc copyright Steve Dekorte 2002
3 */
4 //metadoc license BSD revised
5 */
7 #ifndef IOSOCKET_DEFINED
8 #define IOSOCKET_DEFINED 1
10 #include "IoObject.h"
11 #include "IoSeq.h"
12 #include "IoMessage.h"
13 #include "Socket.h"
15 #define ISSOCKET(self) IoObject_hasCloneFunc_(self, (IoTagCloneFunc *)IoSocket_rawClone)
16 #define SOCKETERROR(leadingErrorDescription) IoState_setErrorDescription_(IOSTATE, "%s: %s", leadingErrorDescription, Socket_errorDescription())
18 typedef IoObject IoSocket;
20 IoSocket *IoMessage_locals_socketArgAt_(IoMessage *self, IoObject *locals, int n);
22 IoSocket *IoSocket_rawClone(IoSocket *self);
23 IoSocket *IoSocket_proto(void *state);
24 IoSocket *IoSocket_new(void *state);
25 IoSocket *IoSocket_newWithSocket_(void *state, Socket *socket);
26 void IoSocket_free(IoSocket *self);
28 // -----------------------------------------------------------
30 IoObject *IoSocket_descriptorId(IoSocket *self, IoObject *locals, IoMessage *m);
31 SOCKET_DESCRIPTOR IoSocket_rawDescriptor(IoSocket *self);
33 IoObject *IoSocket_asyncStreamOpen(IoSocket *self, IoObject *locals, IoMessage *m);
34 IoObject *IoSocket_asyncUdpOpen(IoSocket *self, IoObject *locals, IoMessage *m);
35 IoObject *IoSocket_isOpen(IoSocket *self, IoObject *locals, IoMessage *m);
36 IoObject *IoSocket_isValid(IoSocket *self, IoObject *locals, IoMessage *m);
37 IoObject *IoSocket_isStream(IoSocket *self, IoObject *locals, IoMessage *m);
38 IoObject *IoSocket_close(IoSocket *self, IoObject *locals, IoMessage *m);
40 // client
42 IoObject *IoSocket_connectTo(IoSocket *self, IoObject *locals, IoMessage *m);
43 IoObject *IoSocket_didConnect(IoSocket *self, IoObject *locals, IoMessage *m);
45 // stream
47 IoObject *IoSocket_asyncStreamRead(IoSocket *self, IoObject *locals, IoMessage *m);
48 IoObject *IoSocket_asyncStreamWrite(IoSocket *self, IoObject *locals, IoMessage *m);
50 // udp
52 IoObject *IoSocket_udpRead(IoSocket *self, IoObject *locals, IoMessage *m);
53 IoObject *IoSocket_udpWrite(IoSocket *self, IoObject *locals, IoMessage *m);
55 // server
57 IoObject *IoSocket_asyncBind(IoSocket *self, IoObject *locals, IoMessage *m);
58 IoObject *IoSocket_asyncListen(IoSocket *self, IoObject *locals, IoMessage *m);
59 IoObject *IoSocket_asyncAccept(IoSocket *self, IoObject *locals, IoMessage *m);
61 //IoObject *IoSocket_sendfile(IoSocket *self, IoObject *locals, IoMessage *m);
62 //IoObject *IoSocket_sync(IoSocket *self, IoObject *locals, IoMessage *m);
64 IoObject *IoSocket_setSocketReadBufferSize(IoSocket *self, IoObject *locals, IoMessage *m);
65 IoObject *IoSocket_setSocketWriteBufferSize(IoSocket *self, IoObject *locals, IoMessage *m);
67 IoObject *IoSocket_setSocketReadLowWaterMark(IoSocket *self, IoObject *locals, IoMessage *m);
68 IoObject *IoSocket_setSocketWriteLowWaterMark(IoSocket *self, IoObject *locals, IoMessage *m);
70 IoObject *IoSocket_getSocketReadLowWaterMark(IoSocket *self, IoObject *locals, IoMessage *m);
71 IoObject *IoSocket_getSocketWriteLowWaterMark(IoSocket *self, IoObject *locals, IoMessage *m);
73 IoObject *IoSocket_setNoDelay(IoSocket *self, IoObject *locals, IoMessage *m);
75 IoObject *IoSocket_errorNumber(IoSocket *self, IoObject *locals, IoMessage *m);
76 IoObject *IoSocket_errorDescription(IoSocket *self, IoObject *locals, IoMessage *m);
78 #endif