From 2d776fcd61be168e1ff0ff2e4a5e71835e7cea19 Mon Sep 17 00:00:00 2001 From: oroborus Date: Sat, 28 Jun 2008 16:38:35 +0000 Subject: - prekopanie adresarovej struktury, prva cast git-svn-id: http://opensvn.csie.org/tuxanci_ng@77 0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e --- src/base/server.h | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 src/base/server.h (limited to 'src/base/server.h') diff --git a/src/base/server.h b/src/base/server.h new file mode 100644 index 0000000..4a946ea --- /dev/null +++ b/src/base/server.h @@ -0,0 +1,93 @@ + +#ifndef MY_SERVER + +#define MY_SERVER + +#include + +#include "base/list.h" +#include "base/tux.h" +#include "base/myTimer.h" +#include "base/protect.h" + +#ifndef PUBLIC_SERVER +#include "client/interface.h" +#endif + + +#ifdef SUPPORT_NET_SDL_UDP + +#include "net_sdl/sdl_udp.h" + +#endif + +#ifdef SUPPORT_NET_UNIX_UDP + +#include "net_unix/udp.h" + +#endif + +#define SERVER_TIMEOUT 1000 +#define SERVER_TIME_SYNC 1000 +#define SERVER_TIME_PING 1000 +#define SERVER_MAX_CLIENTS 100 + + +#define SERVER_INDEX_ROOT_TUX 0 + +typedef struct client_struct +{ +#ifdef SUPPORT_NET_UNIX_UDP + sock_udp_t *socket_udp; +#endif + +#ifdef SUPPORT_NET_SDL_UDP + sock_sdl_udp_t *socket_sdl_udp; +#endif + int status; + + tux_t *tux; + + protect_t *protect; + + list_t *listSendMsg; + list_t *listRecvMsg; +} client_t; + +#ifdef PUBLIC_SERVER +extern int initUdpPublicServer(char *ip4, int port4, char *ip6, int port6); +#endif + +#ifdef SUPPORT_NET_UNIX_UDP +extern int initUdpServer(char *ip, int port, int proto); +extern int initUdpServerMultiProto(char *ip4, char *ip6, int port4, int port6); +extern client_t* newUdpClient(sock_udp_t *sock_udp); +extern int selectServerUdpSocket(); +extern void quitUdpServer(); +#endif + +#ifdef SUPPORT_NET_SDL_UDP +extern int initSdlUdpServer(int port); +extern client_t* newSdlUdpClient(sock_sdl_udp_t *sock_udp); +extern void selectServerSdlUdpSocket(); +extern void quitSdlUdpServer(); +#endif + +extern void destroyClient(client_t *p); + +extern time_t getUpdateServer(); +extern list_t* getListServerClient(); +extern int getServerMaxClients(); +extern void setServerMaxClients(int n); + +extern void sendClient(client_t *p, char *msg); +extern void protoSendClient(int type, client_t *client, char *msg, int type2, int id); + +extern tux_t *getServerTux(); +extern client_t *getClientFromTux(tux_t *tux); +extern void eventClientListBuffer(); +extern void sendInfoCreateClient(client_t *client); +extern void eventServer(); + +#endif + -- cgit v1.2.3