assaultfish/engine/include/GearSrc/Net.h

45 lines
1.5 KiB
C

#ifndef __GEARSRC_NET_H__
#define __GEARSRC_NET_H__
#include <GearSrc/MachDep.h>
#include <GearSrc/TypeDefs.h>
#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