X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=blobdiff_plain;f=net.h;h=e4be15b86a833a722d1df6d1eb7afcbc3ea94c60;hp=71dc2541dd00036fb1e401d4bcc51079849e6451;hb=a79a57664e9b2420bb4b5a06cde2e84b7191e967;hpb=cecffffdd5310e387e8b910735ff77aa329cdb43 diff --git a/net.h b/net.h index 71dc2541..e4be15b8 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,6 +191,7 @@ typedef struct int (*Init) (void); void (*Listen) (qboolean state); void (*SearchForHosts) (qboolean xmit); + qboolean (*SearchForInetHosts) (char *master); qsocket_t *(*Connect) (char *host); qsocket_t *(*CheckNewConnections) (void); int (*QGetMessage) (qsocket_t *sock); @@ -197,6 +201,7 @@ typedef struct qboolean (*CanSendUnreliableMessage) (qsocket_t *sock); void (*Close) (qsocket_t *sock); void (*Shutdown) (void); + void (*Heartbeat) (char *host); int controlSock; } net_driver_t; @@ -272,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 (void); +// Send an heartbeat to the master server(s) + qboolean NET_CanSendMessage (qsocket_t *sock); // Returns true or false if the given qsocket can currently accept a // message to be transmitted. @@ -316,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 +