00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __CS_INETWORK_SOCKET2_H__
00021 #define __CS_INETWORK_SOCKET2_H__
00022
00023 #include "csutil/scf.h"
00024
00025 SCF_VERSION (iNetworkSocket2, 0, 0, 2);
00026
00031 struct iNetworkSocket2 : public iBase
00032 {
00038 virtual bool IsConnected () const = 0;
00039
00041 virtual int LastError() const = 0;
00042
00048 virtual int SetSocketBlock (bool block) = 0;
00049
00055 virtual int SetSocketReuse (bool reuse) = 0;
00056
00061 virtual int Connect (char const* host, int port) = 0;
00062
00067 virtual int Send (char const* buff, size_t size) = 0;
00068
00076 virtual int Recv (char* buff, size_t size) = 0;
00077
00079 virtual int Close () = 0;
00080
00082 virtual int Disconnect () = 0;
00083
00092 virtual int WaitForConnection (int source, int port, int queue) = 0;
00093
00098 virtual iNetworkSocket2 *Accept () = 0;
00099
00106 virtual int ReadLine (char *buff, size_t size) = 0;
00107
00112 virtual char const* RemoteName () const = 0;
00113 };
00114
00115 #endif // __CS_INETWORK_SOCKET2_H__