summaryrefslogtreecommitdiff
path: root/network/network_server.h
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2007-01-02 17:34:03 +0000
committerrubidium <rubidium@openttd.org>2007-01-02 17:34:03 +0000
commitbb6be2e3ee966cfb682755ee832b814829da5bb9 (patch)
treefacba1fe3550fd9d0d0d199bbe2800540cd7ea36 /network/network_server.h
parentef5a235c28513129d7f9c31e0f618f2b1e0955f1 (diff)
downloadopenttd-bb6be2e3ee966cfb682755ee832b814829da5bb9.tar.xz
(svn r7751) -Codechange: move network_* to a new network map. Furthermore move the low level network functions to network/core, so they can be reused by the masterserver and website-serverlist-updater.
Diffstat (limited to 'network/network_server.h')
-rw-r--r--network/network_server.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/network/network_server.h b/network/network_server.h
new file mode 100644
index 000000000..c5b2baade
--- /dev/null
+++ b/network/network_server.h
@@ -0,0 +1,39 @@
+/* $Id$ */
+
+#ifndef NETWORK_SERVER_H
+#define NETWORK_SERVER_H
+
+#ifdef ENABLE_NETWORK
+
+DEF_SERVER_SEND_COMMAND(PACKET_SERVER_MAP);
+DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_ERROR_QUIT)(NetworkClientState *cs, uint16 client_index, NetworkErrorCode errorno);
+DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_ERROR)(NetworkClientState *cs, NetworkErrorCode error);
+DEF_SERVER_SEND_COMMAND(PACKET_SERVER_SHUTDOWN);
+DEF_SERVER_SEND_COMMAND(PACKET_SERVER_NEWGAME);
+DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_RCON)(NetworkClientState *cs, uint16 color, const char *command);
+
+bool NetworkFindName(char new_name[NETWORK_CLIENT_NAME_LENGTH]);
+void NetworkServer_HandleChat(NetworkAction action, DestType type, int dest, const char *msg, uint16 from_index);
+
+bool NetworkServer_ReadPackets(NetworkClientState *cs);
+void NetworkServer_Tick(bool send_frame);
+void NetworkServerMonthlyLoop(void);
+void NetworkServerYearlyLoop(void);
+
+static inline const char* GetPlayerIP(const NetworkClientInfo* ci)
+{
+ struct in_addr addr;
+
+ addr.s_addr = ci->client_ip;
+ return inet_ntoa(addr);
+}
+
+#else /* ENABLE_NETWORK */
+/* Network function stubs when networking is disabled */
+
+static inline void NetworkServerMonthlyLoop(void) {}
+static inline void NetworkServerYearlyLoop(void) {}
+
+#endif /* ENABLE_NETWORK */
+
+#endif /* NETWORK_SERVER_H */