summaryrefslogtreecommitdiff
path: root/src/base/server.h
diff options
context:
space:
mode:
authororoborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e>2008-06-28 16:38:35 +0000
committeroroborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e>2008-06-28 16:38:35 +0000
commit2d776fcd61be168e1ff0ff2e4a5e71835e7cea19 (patch)
tree7cf274897bf540d5332d446f583ffd066e4e2e1d /src/base/server.h
parentb877ae23ac5d380ab3aa48d7724045cf4883b186 (diff)
- prekopanie adresarovej struktury, prva cast
git-svn-id: http://opensvn.csie.org/tuxanci_ng@77 0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e
Diffstat (limited to 'src/base/server.h')
-rw-r--r--src/base/server.h93
1 files changed, 93 insertions, 0 deletions
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 <time.h>
+
+#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
+