// Unlike lilsocklib.c, since this takes code from SRB2, // it is under the GPL, rather than public domain. =( // #ifndef __LILSOCKLIB_H__ #define __LILSOCKLIB_H__ #define SD_BOTH 0x02 #define PACKET_SIZE 1024 #define MS_NO_ERROR 0 #define MS_SOCKET_ERROR -201 #define MS_CONNECT_ERROR -203 #define MS_WRITE_ERROR -210 #define MS_READ_ERROR -211 #define MS_CLOSE_ERROR -212 #define MS_GETHOSTBYNAME_ERROR -220 #define MS_GETHOSTNAME_ERROR -221 #define MS_TIMEOUT_ERROR -231 // see master server code for the values #define ADD_SERVER_MSG 101 #define REMOVE_SERVER_MSG 103 #ifdef MASTERSERVERS12 #define ADD_SERVERv2_MSG 104 #endif #define GET_SERVER_MSG 200 #define GET_SHORT_SERVER_MSG 205 #ifdef MASTERSERVERS12 #define ASK_SERVER_MSG 206 #define ANSWER_ASK_SERVER_MSG 207 #endif #define HEADER_SIZE ((long)sizeof (long)*3) #define HEADER_MSG_POS 0 #define IP_MSG_POS 16 #define PORT_MSG_POS 32 #define HOSTNAME_MSG_POS 40 /** A message to be exchanged with the master server. */ typedef struct { long id; ///< Unused? long type; ///< Type of message. long length; ///< Length of the message. char buffer[PACKET_SIZE]; ///< Actual contents of the message. } msg_t; SOCKET ConnectSocket(char* IPAddress); #endif