X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=net.h;h=d7c315f195bc61d04bf78d364bedfe916367b673;hb=bcdca3f76b1e1020eeebd27e5721ec4fe57523a1;hp=af461256b6d1197fd13103735667206d0d516a08;hpb=8dcce44300385b12c46d494c06aadcfa35a8bc14;p=xonotic%2Fdarkplaces.git diff --git a/net.h b/net.h index af461256..d7c315f1 100644 --- a/net.h +++ b/net.h @@ -19,6 +19,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // net.h -- quake's interface to the networking layer +#ifndef NET_H +#define NET_H + struct qsockaddr { short sa_family; @@ -28,7 +31,7 @@ struct qsockaddr #define NET_NAMELEN 64 -#define NET_MAXMESSAGE 8192 +#define NET_MAXMESSAGE 16384 #define NET_HEADERSIZE (2 * sizeof(unsigned int)) #define NET_DATAGRAMSIZE (MAX_DATAGRAM + NET_HEADERSIZE) @@ -126,7 +129,7 @@ typedef struct qsocket_s qboolean disconnected; qboolean canSend; qboolean sendNext; - + int driver; int landriver; int socket; @@ -136,21 +139,19 @@ typedef struct qsocket_s unsigned int sendSequence; unsigned int unreliableSendSequence; int sendMessageLength; - byte sendMessage [NET_MAXMESSAGE]; + qbyte sendMessage [NET_MAXMESSAGE]; unsigned int receiveSequence; unsigned int unreliableReceiveSequence; int receiveMessageLength; - byte receiveMessage [NET_MAXMESSAGE]; + qbyte receiveMessage [NET_MAXMESSAGE]; struct qsockaddr addr; char address[NET_NAMELEN]; - } qsocket_t; extern qsocket_t *net_activeSockets; -extern qsocket_t *net_freeSockets; -extern int net_numsockets; +extern mempool_t *net_mempool; typedef struct { @@ -164,15 +165,17 @@ typedef struct int (*CloseSocket) (int socket); int (*Connect) (int socket, struct qsockaddr *addr); int (*CheckNewConnections) (void); - int (*Read) (int socket, byte *buf, int len, struct qsockaddr *addr); - int (*Write) (int socket, byte *buf, int len, struct qsockaddr *addr); - int (*Broadcast) (int socket, byte *buf, int len); - char * (*AddrToString) (struct qsockaddr *addr); - int (*StringToAddr) (char *string, struct qsockaddr *addr); + 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) (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; @@ -188,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); @@ -197,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; @@ -253,10 +258,6 @@ extern unsigned short ntohs (unsigned short netshort); #endif #endif -#ifdef IDGODS -qboolean IsID(struct qsockaddr *addr); -#endif - //============================================================================ // // public network functions @@ -276,6 +277,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. @@ -320,18 +324,19 @@ typedef struct _PollProcedure void SchedulePollProcedure(PollProcedure *pp, double timeOffset); -extern qboolean serialAvailable; extern qboolean ipxAvailable; extern qboolean tcpipAvailable; extern char my_ipx_address[NET_NAMELEN]; extern char my_tcpip_address[NET_NAMELEN]; -extern void (*GetComPortConfig) (int portNumber, int *port, int *irq, int *baud, qboolean *useModem); -extern void (*SetComPortConfig) (int portNumber, int port, int irq, int baud, qboolean useModem); -extern void (*GetModemConfig) (int portNumber, char *dialType, char *clear, char *init, char *hangup); -extern void (*SetModemConfig) (int portNumber, char *dialType, char *clear, char *init, char *hangup); extern qboolean slistInProgress; extern qboolean slistSilent; extern qboolean slistLocal; +extern cvar_t hostname; + void NET_Slist_f (void); +void NET_InetSlist_f (void); + +#endif +