#ifndef __GEARSRC_NET_H__ #define __GEARSRC_NET_H__ #include #include #ifdef __cplusplus extern "C" { #endif #define GSNetDefaultPort 23903 #define GSNetPacketFlagAcknowledge (1 << 0) /* net_client.c */ GSDECL GSNetClient GSNetClientOpen(GSClient net, const char* hostname, int port); GSDECL void GSNetClientStep(GSNetClient net); GSDECL void GSNetClientClose(GSNetClient net); /* net_server.c */ GSDECL GSNetServer GSNetServerOpen(GSServer net, int port); GSDECL void GSNetServerStep(GSNetServer net); GSDECL void GSNetServerClose(GSNetServer net); /* net_base.c */ GSDECL GSBool GSNetBaseHasData(GSNetSocket sock); GSDECL GSNetSocket GSNetBaseServer(int port); GSDECL GSNetSocket GSNetBaseClient(const char* hostname, int port, GSNetAddress* address); GSDECL void GSNetBaseClose(GSNetSocket sock); GSDECL int GSNetBaseRead(GSNetSocket sock, void* data, int size, GSNetAddress* address); /* always read 508 bytes! */ GSDECL void GSNetBaseWrite(GSNetSocket sock, void* data, int size, GSNetAddress* address); /* net_packet.c */ GSDECL void GSNetPacketRead(GSNetSocket sock, GSNetPacket* packet, GSNetAddress* address); GSDECL void GSNetPacketWrite(GSNetSocket sock, GSNetPacket* packet, GSNetAddress* address); /* net_state.c */ GSDECL void GSNetStateRead(GSNetState* state, GSNetSocket sock, GSNetPacket* packet, GSNetAddress* address); GSDECL void GSNetStateWrite(GSNetState* state, GSNetSocket sock, GSNetAddress* address); #ifdef __cplusplus } #endif #endif