22#include "../common/gsCommon.h"
38typedef unsigned char GT2Byte;
49typedef unsigned short GT2MessageID;
85 GT2CommunicationError,
98extern char GT2ChallengeKey[33];
108typedef void (* gt2SocketErrorCallback)
124GT2Result gt2CreateSocket
127 const char * localAddress,
128 int outgoingBufferSize,
129 int incomingBufferSize,
130 gt2SocketErrorCallback callback
134GT2Result gt2CreateAdHocSocket
137 const char * localAddress,
138 int outgoingBufferSize,
139 int incomingBufferSize,
140 gt2SocketErrorCallback callback
151GT2Result gt2CreateVDPSocket
154 const char * localAddress,
155 int outgoingBufferSize,
156 int incomingBufferSize,
157 gt2SocketErrorCallback callback
165void gt2CloseSocket(GT2Socket socket);
168void gt2Think(GT2Socket socket);
174GT2Result gt2SendRawUDP
177 const char * remoteAddress,
178 const GT2Byte * message,
192typedef void (* gt2ConnectedCallback)
194 GT2Connection connection,
201typedef void (* gt2ReceivedCallback)
203 GT2Connection connection,
211typedef void (* gt2ClosedCallback)
213 GT2Connection connection,
214 GT2CloseReason reason
220typedef void (* gt2PingCallback)
222 GT2Connection connection,
231 gt2ConnectedCallback connected;
232 gt2ReceivedCallback received;
233 gt2ClosedCallback closed;
234 gt2PingCallback ping;
251 GT2Connection * connection,
252 const char * remoteAddress,
253 const GT2Byte * message,
267 GT2Connection connection,
268 const GT2Byte * message,
278void gt2Ping(GT2Connection connection);
282void gt2CloseConnection(GT2Connection connection);
286void gt2CloseConnectionHard(GT2Connection connection);
289void gt2CloseAllConnections(GT2Socket socket);
293void gt2CloseAllConnectionsHard(GT2Socket socket);
304typedef void (* gt2ConnectAttemptCallback)
307 GT2Connection connection,
323void gt2Listen(GT2Socket socket, gt2ConnectAttemptCallback callback);
342void gt2Reject(GT2Connection connection,
const GT2Byte * message,
int len);
354GT2MessageID gt2GetLastSentMessageID(GT2Connection connection);
360GT2Bool gt2WasMessageIDConfirmed(GT2Connection connection, GT2MessageID messageID);
371typedef void (* gt2SendFilterCallback)
373 GT2Connection connection,
375 const GT2Byte * message,
386typedef void (* gt2ReceiveFilterCallback)
388 GT2Connection connection,
401GT2Bool gt2AddSendFilter
403 GT2Connection connection,
404 gt2SendFilterCallback callback
409void gt2RemoveSendFilter
411 GT2Connection connection,
412 gt2SendFilterCallback callback
419 GT2Connection connection,
421 const GT2Byte * message,
428GT2Bool gt2AddReceiveFilter
430 GT2Connection connection,
431 gt2ReceiveFilterCallback callback
436void gt2RemoveReceiveFilter
438 GT2Connection connection,
439 gt2ReceiveFilterCallback callback
444void gt2FilteredReceive
446 GT2Connection connection,
461typedef GT2Bool (* gt2UnrecognizedMessageCallback)
476SOCKET gt2GetSocketSOCKET(GT2Socket socket);
483void gt2SetUnrecognizedMessageCallback(GT2Socket socket, gt2UnrecognizedMessageCallback callback);
490GT2Socket gt2GetConnectionSocket(GT2Connection connection);
497GT2ConnectionState gt2GetConnectionState(GT2Connection connection);
500unsigned int gt2GetRemoteIP(GT2Connection connection);
503unsigned short gt2GetRemotePort(GT2Connection connection);
506unsigned int gt2GetLocalIP(GT2Socket socket);
509unsigned short gt2GetLocalPort(GT2Socket socket);
512int gt2GetIncomingBufferSize(GT2Connection connection);
515int gt2GetIncomingBufferFreeSpace(GT2Connection connection);
518int gt2GetOutgoingBufferSize(GT2Connection connection);
521int gt2GetOutgoingBufferFreeSpace(GT2Connection connection);
527void gt2SetSocketData(GT2Socket socket,
void * data);
528void * gt2GetSocketData(GT2Socket socket);
529void gt2SetConnectionData(GT2Connection connection,
void * data);
530void * gt2GetConnectionData(GT2Connection connection);
536unsigned int gt2NetworkToHostInt(
unsigned int i);
537unsigned int gt2HostToNetworkInt(
unsigned int i);
538unsigned short gt2HostToNetworkShort(
unsigned short s);
539unsigned short gt2NetworkToHostShort(
unsigned short s);
554const char * gt2AddressToString
578GT2Bool gt2StringToAddress
582 unsigned short * port
601const char * gt2IPToHostInfo(
unsigned int ip,
char *** aliases,
unsigned int *** ips);
602const char * gt2StringToHostInfo(
const char *
string,
char *** aliases,
unsigned int *** ips);
607const char * gt2IPToHostname(
unsigned int ip);
608const char * gt2StringToHostname(
const char *
string);
609char ** gt2IPToAliases(
unsigned int ip);
610char ** gt2StringToAliases(
const char *
string);
611unsigned int ** gt2IPToIPs(
unsigned int ip);
612unsigned int ** gt2StringToIPs(
const char *
string);
615unsigned int gt2XnAddrToIP(XNADDR theAddr, XNKID theKeyId);
616GT2Bool gt2IPToXnAddr(
int ip, XNADDR *theAddr, XNKID *theKeyId);
620void gt2IpToMac(gsi_u32 ip,
char *mac);
622gsi_u32 gt2MacToIp(
const char *mac);
632typedef void (* gt2DumpCallback)
635 GT2Connection connection,
639 const GT2Byte * message,
655void gt2SetSendDump(GT2Socket socket, gt2DumpCallback callback);
656void gt2SetReceiveDump(GT2Socket socket, gt2DumpCallback callback);