81#define ENGINE_VERSION "3.0"
82#define SERVER_TIMEOUT 3000
99typedef enum {sl_idle, sl_listxfer, sl_lanlist, sl_querying} GServerListState;
106typedef enum {cm_int, cm_float, cm_strcase, cm_stricase} GCompareMode;
109typedef enum {qt_basic, qt_info, qt_rules, qt_players, qt_info_rules, qt_status, qt_grouprooms, qt_masterinfo} GQueryType;
112#define LIST_STATECHANGED 1
113#define LIST_PROGRESS 2
116typedef void (*ListCallBackFn)(GServerList serverlist,
int msg,
void *instance,
void *param1,
void *param2);
119typedef void (*KeyEnumFn)(
char *key,
char *value,
void *instance);
123#define GCALLBACK_FUNCTION 1
128#define GE_NOCONNECT 3
130#define GE_DATAERROR 5
136extern char ServerListHostname[64];
152GServerList ServerListNew(
const char *gamename,
const char *enginename,
const char *seckey,
int maxconcupdates,
void *CallBackFn,
int CallBackFnType,
void *instance);
157void ServerListFree(GServerList serverlist);
169GError ServerListUpdate(GServerList serverlist, gbool async);
194GError ServerListUpdate2(GServerList serverlist, gbool async,
char *filter, GQueryType querytype);
209GError ServerListLANUpdate(GServerList serverlist, gbool async,
int startsearchport,
int endsearchport,
int searchdelta);
223GError ServerListAuxUpdate(GServerList serverlist,
const char *ip,
int port, gbool async, GQueryType querytype);
231void ServerListRemoveServer(GServerList serverlist,
char *ip,
int port);
237GError ServerListThink(GServerList serverlist);
242GError ServerListHalt(GServerList serverlist);
248GError ServerListClear(GServerList serverlist);
253GServerListState ServerListState(GServerList serverlist);
258char *ServerListErrorDesc(GServerList serverlist, GError error);
263GServer ServerListGetServer(GServerList serverlist,
int index);
269int ServerListCount(GServerList serverlist);
276void ServerListSort(GServerList serverlist, gbool ascending,
char *sortkey, GCompareMode comparemode);
287int ServerGetPing(GServer server);
292char *ServerGetAddress(GServer server);
297unsigned int ServerGetInetAddress(GServer server);
304int ServerGetQueryPort(GServer server);
310char *ServerGetStringValue(GServer server,
char *key,
char *sdefault);
311int ServerGetIntValue(GServer server,
char *key,
int idefault);
312double ServerGetFloatValue(GServer server,
char *key,
double fdefault);
313gbool ServerGetBoolValue(GServer server,
char *key, gbool bdefault);
320char *ServerGetPlayerStringValue(GServer server,
int playernum,
char *key,
char *sdefault);
321int ServerGetPlayerIntValue(GServer server,
int playernum,
char *key,
int idefault);
322double ServerGetPlayerFloatValue(GServer server,
int playernum,
char *key,
double fdefault);
328void ServerEnumKeys(GServer server, KeyEnumFn KeyFn,
void *instance);
Definition gserverlist.c:114