X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=net.h;h=4a69b87201a9f3fd71c0abcd119a4f47c59e547a;hb=c8630f49b9fe6321ff9778ea79bd062d812e513d;hp=126dbe03834dcf251f6f1b6a96dc6438246fa203;hpb=0256e57e16a302ad45090618b8d6eb5930788809;p=xonotic%2Fdarkplaces.git diff --git a/net.h b/net.h index 126dbe03..4a69b872 100644 --- a/net.h +++ b/net.h @@ -8,7 +8,7 @@ of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -31,7 +31,7 @@ struct qsockaddr #define NET_NAMELEN 64 -#define NET_MAXMESSAGE 16384 +#define NET_MAXMESSAGE (MAX_DATAGRAM + 64) #define NET_HEADERSIZE (2 * sizeof(unsigned int)) #define NET_DATAGRAMSIZE (MAX_DATAGRAM + NET_HEADERSIZE) @@ -148,7 +148,6 @@ typedef struct qsocket_s struct qsockaddr addr; char address[NET_NAMELEN]; - } qsocket_t; extern qsocket_t *net_activeSockets; @@ -166,15 +165,17 @@ typedef struct int (*CloseSocket) (int socket); int (*Connect) (int socket, struct qsockaddr *addr); int (*CheckNewConnections) (void); + int (*Recv) (qbyte *buf, int len, struct qsockaddr *addr); + int (*Send) (qbyte *buf, int len, struct qsockaddr *addr); int (*Read) (int socket, qbyte *buf, int len, struct qsockaddr *addr); int (*Write) (int socket, qbyte *buf, int len, struct qsockaddr *addr); int (*Broadcast) (int socket, qbyte *buf, int len); - char * (*AddrToString) (struct qsockaddr *addr); - int (*StringToAddr) (char *string, struct qsockaddr *addr); + char * (*AddrToString) (const struct qsockaddr *addr); + int (*StringToAddr) (const char *string, struct qsockaddr *addr); int (*GetSocketAddr) (int socket, struct qsockaddr *addr); - int (*GetNameFromAddr) (struct qsockaddr *addr, char *name); - int (*GetAddrFromName) (char *name, struct qsockaddr *addr); - int (*AddrCompare) (struct qsockaddr *addr1, struct qsockaddr *addr2); + int (*GetNameFromAddr) (const struct qsockaddr *addr, char *name); + int (*GetAddrFromName) (const char *name, struct qsockaddr *addr); + int (*AddrCompare) (const struct qsockaddr *addr1, const struct qsockaddr *addr2); int (*GetSocketPort) (struct qsockaddr *addr); int (*SetSocketPort) (struct qsockaddr *addr, int port); } net_landriver_t; @@ -190,7 +191,8 @@ typedef struct int (*Init) (void); void (*Listen) (qboolean state); void (*SearchForHosts) (qboolean xmit); - qsocket_t *(*Connect) (char *host); + qboolean (*SearchForInetHosts) (const char *master); + qsocket_t *(*Connect) (const char *host); qsocket_t *(*CheckNewConnections) (void); int (*QGetMessage) (qsocket_t *sock); int (*QSendMessage) (qsocket_t *sock, sizebuf_t *data); @@ -199,6 +201,7 @@ typedef struct qboolean (*CanSendUnreliableMessage) (qsocket_t *sock); void (*Close) (qsocket_t *sock); void (*Shutdown) (void); + void (*Heartbeat) (const char *host); int controlSock; } net_driver_t; @@ -210,6 +213,7 @@ extern int net_hostport; extern int net_driverlevel; extern cvar_t hostname; +extern cvar_t developer_networking; extern char playername[]; extern int playercolor; @@ -223,18 +227,18 @@ void NET_FreeQSocket(qsocket_t *); double SetNetTime(void); -#define HOSTCACHESIZE 8 +#define HOSTCACHESIZE 128 typedef struct { - char name[16]; - char map[16]; - char cname[32]; + char name[64]; + char map[64]; + char cname[64]; int users; int maxusers; - int driver; - int ldriver; - struct qsockaddr addr; + //int driver; + //int ldriver; + //struct qsockaddr addr; } hostcache_t; extern int hostCacheCount; @@ -274,6 +278,9 @@ struct qsocket_s *NET_CheckNewConnections (void); struct qsocket_s *NET_Connect (char *host); // called by client to connect to a host. Returns -1 if not able to +void NET_Heartbeat (int priority); +// Send an heartbeat to the master server(s). priority: 0 = lowest, 1 = state change, 2 = force + qboolean NET_CanSendMessage (qsocket_t *sock); // Returns true or false if the given qsocket can currently accept a // message to be transmitted. @@ -327,9 +334,8 @@ extern qboolean slistInProgress; extern qboolean slistSilent; extern qboolean slistLocal; -extern cvar_t hostname; - void NET_Slist_f (void); +void NET_InetSlist_f (void); #endif