FTEQW
Documentation of the FTE engine source tree.
net_wins.c File Reference

Typedefs

typedef struct ftenet_tcp_stream_s ftenet_tcp_stream_t
 
typedef struct ftenet_tcp_connection_s ftenet_tcp_connection_t
 
typedef char httparg_t[64]
 
typedef struct ftenet_ircconnect_stream_s ftenet_ircconnect_stream_t
 

Enumerations

enum  {
  WCATTR_METHOD , WCATTR_URL , WCATTR_HTTP , WCATTR_HOST ,
  WCATTR_CONNECTION , WCATTR_UPGRADE , WCATTR_WSKEY , WCATTR_WSPROTO ,
  WCATTR_IFNONEMATCH , WCATTR_COUNT , WCATTR_WSVER , WCATTR_CONTENT_LENGTH ,
  WCATTR_ACCEPT_ENCODING , WCATTR_TRANSFER_ENCODING
}
 

Functions

 FTE_ALIGN (4)
 
qboolean NET_RegisterCrypto (void *module, ftecrypto_t *driver)
 
int NetadrToSockadr (netadr_t *a, struct sockaddr_qstorage *s)
 
void SockadrToNetadr (struct sockaddr_qstorage *s, int sizeofsockaddr, netadr_t *a)
 
char * NET_SockadrToString (char *s, int len, struct sockaddr_qstorage *a, size_t sizeofa)
 
qboolean NET_AddrIsReliable (netadr_t *adr)
 
qboolean NET_CompareAdr (netadr_t *a, netadr_t *b)
 
qboolean NET_CompareBaseAdr (netadr_t *a, netadr_t *b)
 
qboolean NET_AddressSmellsFunny (netadr_t *a)
 
void NET_AdrToStringResolve (netadr_t *adr, void(*resolved)(void *ctx, void *data, size_t a, size_t b), void *ctx, size_t a, size_t b)
 
char * NET_AdrToString (char *s, int len, netadr_t *a)
 
char * NET_BaseAdrToString (char *s, int len, netadr_t *a)
 
size_t NET_StringToSockaddr2 (const char *s, int defaultport, netadrtype_t afhint, struct sockaddr_qstorage *sadr, int *addrfamily, int *addrsize, size_t addresses)
 
size_t NET_StringToAdr2 (const char *s, int defaultport, netadr_t *a, size_t numaddresses, const char **pathstart)
 
void NET_IntegerToMask (netadr_t *a, netadr_t *amask, int bits)
 
int ParsePartialIP (const char *s, netadr_t *a)
 
qboolean NET_StringToAdrMasked (const char *s, qboolean allowdns, netadr_t *a, netadr_t *amask)
 
qboolean NET_StringToAdr_NoDNS (const char *address, int port, netadr_t *out)
 
qboolean NET_IsEncrypted (netadr_t *adr)
 
qboolean NET_CompareAdrMasked (netadr_t *a, netadr_t *b, netadr_t *mask)
 
int UniformMaskedBits (netadr_t *mask)
 
char * NET_AdrToStringMasked (char *s, int len, netadr_t *a, netadr_t *amask)
 
qboolean NET_IsClientLegal (netadr_t *adr)
 
qboolean NET_IsLoopBackAddress (netadr_t *adr)
 
voidAuth_GetKnownCertificate (const char *certname, size_t *size)
 
voidTLS_GetKnownCertificate (const char *certname, size_t *size)
 
vfsfile_tFS_OpenSSL (const char *peername, vfsfile_t *source, qboolean isserver)
 
int TLS_GetChannelBinding (vfsfile_t *stream, qbyte *data, size_t *datasize)
 
ftenet_connections_tFTENET_CreateCollection (qboolean listen, void(*ReadPacket)(void))
 
ftenet_generic_connection_tFTENET_Datagram_EstablishConnection (ftenet_connections_t *col, const char *address, netadr_t adr)
 
int FTENET_NATPMP_GetLocalAddresses (struct ftenet_generic_connection_s *con, unsigned int *adrflags, netadr_t *addresses, const char **adrparams, int maxaddresses)
 
qboolean Net_OpenUDPPort (char *privateip, int privateport, char *publicip, size_t publiciplen, int *publicport)
 
qboolean FTENET_NATPMP_GetPacket (struct ftenet_generic_connection_s *con)
 
neterr_t FTENET_NATPMP_SendPacket (struct ftenet_generic_connection_s *con, int length, const void *data, netadr_t *to)
 
void FTENET_NATPMP_Close (struct ftenet_generic_connection_s *con)
 
const dtlsfuncs_tDTLS_InitServer (void)
 
const dtlsfuncs_tDTLS_InitClient (void)
 
qboolean NET_DTLS_Create (ftenet_connections_t *col, netadr_t *to, const dtlscred_t *cred, qboolean outgoing)
 
qboolean NET_DTLS_CheckInbound (ftenet_connections_t *col)
 
qboolean NET_DTLS_Disconnect (ftenet_connections_t *col, netadr_t *to)
 
qboolean NET_DTLS_Decode (ftenet_connections_t *col)
 
int NET_GetConnectionCertificate (struct ftenet_connections_s *col, netadr_t *a, enum certprops_e prop, char *out, size_t outsize)
 
qboolean FTENET_AddToCollection (ftenet_connections_t *col, const char *name, const char *addresslist, netadrtype_t addrtype, netproto_t addrprot)
 
void FTENET_CloseCollection (ftenet_connections_t *col)
 
int FTENET_GetLocalAddress (int port, qboolean ipx, qboolean ipv4, qboolean ipv6, unsigned int *adrflags, netadr_t *addresses, const char **adrparams, int maxaddresses)
 
int FTENET_Generic_GetLocalAddresses (struct ftenet_generic_connection_s *con, unsigned int *adrflags, netadr_t *addresses, const char **adrparams, int maxaddresses)
 
qboolean FTENET_Datagram_GetPacket (ftenet_generic_connection_t *con)
 
neterr_t FTENET_Datagram_SendPacket (ftenet_generic_connection_t *con, int length, const void *data, netadr_t *to)
 
qboolean NET_PortToAdr (netadrtype_t adrfamily, netproto_t adrprot, const char *s, netadr_t *a)
 
void tobase64 (unsigned char *out, int outlen, const unsigned char *in, int inlen)
 
neterr_t FTENET_TCP_WebSocket_Splurge (ftenet_tcp_stream_t *st, enum websocketpackettype_e packettype, const qbyte *data, unsigned int length)
 
void SV_UserCmdMVDList_HTML (vfsfile_t *pipe)
 
qboolean FTENET_TCP_HTTPResponse (ftenet_tcp_stream_t *st, httparg_t arg[WCATTR_COUNT], qboolean allowgzip)
 
void FTENET_TCP_WebRTCServerAssigned (ftenet_tcp_stream_t *list, ftenet_tcp_stream_t *client, ftenet_tcp_stream_t *server)
 
void FTENET_TCP_PrintStatus (ftenet_generic_connection_t *gcon)
 
void FTENET_TCP_ICEResponse (ftenet_connections_t *col, int type, const char *cid, const char *sdp)
 
neterr_t FTENET_TCP_SendPacket (ftenet_generic_connection_t *gcon, int length, const void *data, netadr_t *to)
 
qboolean FTENET_IRCConnect_GetPacket (ftenet_generic_connection_t *gcon)
 
neterr_t FTENET_IRCConnect_SendPacket (ftenet_generic_connection_t *gcon, int length, const void *data, netadr_t *to)
 
void FTENET_IRCConnect_Close (ftenet_generic_connection_t *gcon)
 
struct ftenet_generic_connection_sFTENET_IRCConnect_EstablishConnection (qboolean isserver, const char *address, netadr_t adr)
 
qboolean NET_GetRates (ftenet_connections_t *collection, float *pi, float *po, float *bi, float *bo)
 
qboolean NET_UpdateRates (ftenet_connections_t *collection, qboolean inbound, size_t size)
 
void NET_ReadPackets (ftenet_connections_t *collection)
 
int NET_LocalAddressForRemote (ftenet_connections_t *collection, netadr_t *remote, netadr_t *local, int idx)
 
neterr_t NET_SendPacket (ftenet_connections_t *collection, int length, const void *data, netadr_t *to)
 
qboolean NET_EnsureRoute (ftenet_connections_t *collection, char *routename, const struct dtlspeercred_s *peerinfo, netadr_t *adr, qboolean outgoing)
 
void NET_TerminateRoute (ftenet_connections_t *collection, netadr_t *adr)
 
int NET_EnumerateAddresses (ftenet_connections_t *collection, struct ftenet_generic_connection_s **con, unsigned int *adrflags, netadr_t *addresses, const char **adrparams, int maxaddresses)
 
enum addressscope_e NET_ClassifyAddress (netadr_t *adr, const char **outdesc)
 
void NET_PrintAddresses (ftenet_connections_t *collection)
 
void NET_PrintConnectionsStatus (ftenet_connections_t *collection)
 
int TCP_OpenStream (netadr_t *remoteaddr, const char *remotename)
 
int UDP_OpenSocket (int port)
 
void UDP_CloseSocket (int socket)
 
int UDP6_OpenSocket (int port)
 
void UDP6_CloseSocket (int socket)
 
int IPX_OpenSocket (int port)
 
void IPX_CloseSocket (int socket)
 
qboolean NET_Sleep (float seconds, qboolean stdinissocket)
 
void NET_GetLocalAddress (int socket, netadr_t *out)
 
void SVNET_AddPort_f (void)
 
void NET_ClientPort_f (void)
 
qboolean NET_WasSpecialPacket (ftenet_connections_t *collection)
 
void SSL_Init (void)
 
void NET_Init (void)
 
void NET_CloseClient (void)
 
void NET_InitClient (qboolean loopbackonly)
 
void QDECL SV_PortIPX_Callback (struct cvar_s *var, char *oldvalue)
 
void QDECL SV_PortUNIX_Callback (struct cvar_s *var, char *oldvalue)
 
void QDECL SV_PortRTC_Callback (struct cvar_s *var, char *oldvalue)
 
void SVNET_RegisterCvars (void)
 
void NET_CloseServer (void)
 
void NET_InitServer (void)
 
void NET_Tick (void)
 
void NET_Shutdown (void)
 
int QDECL VFSTCP_ReadBytes (struct vfsfile_s *file, void *buffer, int bytestoread)
 
int QDECL VFSTCP_WriteBytes (struct vfsfile_s *file, const void *buffer, int bytestoread)
 
qboolean QDECL VFSTCP_Seek (struct vfsfile_s *file, qofs_t pos)
 
vfsfile_tFS_WrapTCPSocket (SOCKET sock, qboolean conpending, const char *peername)
 
vfsfile_tFS_OpenTCP (const char *name, int defaultport, qboolean assumetls)
 

Variables

ftemanifest_tfs_manifest
 
netadr_t net_local_cl_ipadr
 
struct ftenet_generic_connection_snet_from_connection
 
netadr_t net_from
 
sizebuf_t net_message
 
cvar_t net_enable_dtls = CVARAFCD("net_enable_dtls", "", "sv_listen_dtls", 0, NET_Enable_DTLS_Changed, "Controls serverside dtls support.\n0: dtls blocked, not advertised.\n1: clientside choice.\n2: used where possible (recommended setting).\n3: disallow non-dtls clients (sv_port_tcp should be eg tls://[::]:27500 to also disallow unencrypted tcp connections).")
 
cvar_t dtls_psk_hint = CVARFD("dtls_psk_hint", "", CVAR_NOUNSAFEEXPAND, "For DTLS-PSK handshakes. This specifies the public server identity.")
 
cvar_t dtls_psk_user = CVARFD("dtls_psk_user", "", CVAR_NOUNSAFEEXPAND, "For DTLS-PSK handshakes. This specifies the username to use when the client+server's hints match.")
 
cvar_t dtls_psk_key = CVARFD("dtls_psk_key", "", CVAR_NOUNSAFEEXPAND, "For DTLS-PSK handshakes. This specifies the hexadecimal key which must match between client+server. Will only be used when client+server's hint settings match.")
 
cvar_t sv_public
 
cvar_t sv_listen_qw
 
cvar_t sv_listen_nq
 
cvar_t sv_listen_dp
 
cvar_t sv_listen_q3
 
loopback_t loopbacks [2]
 
ftecrypto_tcryptolib [cryptolib_count]
 
unsigned int iftime
 
cvar_t net_ice_servers = CVAR("net_ice_servers", "")
 
cvar_t net_ice_relayonly = CVAR("net_ice_relayonly", "0")
 
cvar_t sv_port_tcp = CVARFC("sv_port_tcp", "", CVAR_SERVERINFO, SV_Tcpport_Callback)
 
cvar_t qtv_streamport
 
cvar_t sv_port_tcp6 = CVARC("sv_port_tcp6", "", SV_Tcpport6_Callback)
 
cvar_t sv_port_ipv4 = CVARC("sv_port", STRINGIFY(PORT_DEFAULTSERVER), SV_Port_Callback)
 
cvar_t sv_port_ipv6 = CVARCD("sv_port_ipv6", "", SV_PortIPv6_Callback, "Port to use for incoming ipv6 udp connections. Due to hybrid sockets this might not be needed. You can specify an ipv4 address:port for a second ipv4 port if you want.")
 
cvar_t sv_port_ipx = CVARC("sv_port_ipx", "", SV_PortIPX_Callback)
 
cvar_t sv_port_unix = CVARC("sv_port_unix", "@qsock.fte", SV_PortUNIX_Callback)
 
cvar_t sv_port_natpmp = CVARCD("sv_port_natpmp", NATPMP_DEFAULT_PORT, SV_Port_NatPMP_Callback, "If set (typically to 5351), automatically configures your router's port forwarding. You can instead specify the full ip address of your router (192.168.1.1:5351 for example). Your router must have NAT-PMP supported and enabled.")
 
cvar_t sv_port_rtc = CVARCD("sv_port_rtc", "/", SV_PortRTC_Callback, "This specifies the broker url to use to obtain clients from. If the hostname is ommitted, it'll come from the manifest. If omitted, the broker service will randomize the resource part, so be sure to tell your friends the path reported by eg status rather than just this cvar value. Or just set it to 'rtc:///example' and tell clients to connect to the same sservevalue.")
 

Typedef Documentation

◆ ftenet_ircconnect_stream_t

typedef struct ftenet_ircconnect_stream_s ftenet_ircconnect_stream_t

◆ ftenet_tcp_connection_t

typedef struct ftenet_tcp_connection_s ftenet_tcp_connection_t

◆ ftenet_tcp_stream_t

typedef struct ftenet_tcp_stream_s ftenet_tcp_stream_t

◆ httparg_t

typedef char httparg_t[64]

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
WCATTR_METHOD 
WCATTR_URL 
WCATTR_HTTP 
WCATTR_HOST 
WCATTR_CONNECTION 
WCATTR_UPGRADE 
WCATTR_WSKEY 
WCATTR_WSPROTO 
WCATTR_IFNONEMATCH 
WCATTR_COUNT 
WCATTR_WSVER 
WCATTR_CONTENT_LENGTH 
WCATTR_ACCEPT_ENCODING 
WCATTR_TRANSFER_ENCODING 

Function Documentation

◆ Auth_GetKnownCertificate()

void * Auth_GetKnownCertificate ( const char *  certname,
size_t *  size 
)

◆ DTLS_InitClient()

const dtlsfuncs_t * DTLS_InitClient ( void  )

◆ DTLS_InitServer()

const dtlsfuncs_t * DTLS_InitServer ( void  )

◆ FS_OpenSSL()

vfsfile_t * FS_OpenSSL ( const char *  peername,
vfsfile_t source,
qboolean  isserver 
)

◆ FS_OpenTCP()

vfsfile_t * FS_OpenTCP ( const char *  name,
int  defaultport,
qboolean  assumetls 
)

◆ FS_WrapTCPSocket()

vfsfile_t * FS_WrapTCPSocket ( SOCKET  sock,
qboolean  conpending,
const char *  peername 
)

◆ FTE_ALIGN()

FTE_ALIGN ( )

◆ FTENET_AddToCollection()

qboolean FTENET_AddToCollection ( ftenet_connections_t col,
const char *  name,
const char *  addresslist,
netadrtype_t  addrtype,
netproto_t  addrprot 
)

◆ FTENET_CloseCollection()

void FTENET_CloseCollection ( ftenet_connections_t col)

◆ FTENET_CreateCollection()

ftenet_connections_t * FTENET_CreateCollection ( qboolean  listen,
void(*)(void ReadPacket 
)

◆ FTENET_Datagram_EstablishConnection()

ftenet_generic_connection_t * FTENET_Datagram_EstablishConnection ( ftenet_connections_t col,
const char *  address,
netadr_t  adr 
)

◆ FTENET_Datagram_GetPacket()

qboolean FTENET_Datagram_GetPacket ( ftenet_generic_connection_t con)

◆ FTENET_Datagram_SendPacket()

neterr_t FTENET_Datagram_SendPacket ( ftenet_generic_connection_t con,
int  length,
const void data,
netadr_t to 
)

◆ FTENET_Generic_GetLocalAddresses()

int FTENET_Generic_GetLocalAddresses ( struct ftenet_generic_connection_s con,
unsigned int adrflags,
netadr_t addresses,
const char **  adrparams,
int  maxaddresses 
)

◆ FTENET_GetLocalAddress()

int FTENET_GetLocalAddress ( int  port,
qboolean  ipx,
qboolean  ipv4,
qboolean  ipv6,
unsigned int adrflags,
netadr_t addresses,
const char **  adrparams,
int  maxaddresses 
)

◆ FTENET_IRCConnect_Close()

void FTENET_IRCConnect_Close ( ftenet_generic_connection_t gcon)

◆ FTENET_IRCConnect_EstablishConnection()

struct ftenet_generic_connection_s * FTENET_IRCConnect_EstablishConnection ( qboolean  isserver,
const char *  address,
netadr_t  adr 
)

◆ FTENET_IRCConnect_GetPacket()

qboolean FTENET_IRCConnect_GetPacket ( ftenet_generic_connection_t gcon)

◆ FTENET_IRCConnect_SendPacket()

neterr_t FTENET_IRCConnect_SendPacket ( ftenet_generic_connection_t gcon,
int  length,
const void data,
netadr_t to 
)

◆ FTENET_NATPMP_Close()

void FTENET_NATPMP_Close ( struct ftenet_generic_connection_s con)

◆ FTENET_NATPMP_GetLocalAddresses()

int FTENET_NATPMP_GetLocalAddresses ( struct ftenet_generic_connection_s con,
unsigned int adrflags,
netadr_t addresses,
const char **  adrparams,
int  maxaddresses 
)

◆ FTENET_NATPMP_GetPacket()

qboolean FTENET_NATPMP_GetPacket ( struct ftenet_generic_connection_s con)

◆ FTENET_NATPMP_SendPacket()

neterr_t FTENET_NATPMP_SendPacket ( struct ftenet_generic_connection_s con,
int  length,
const void data,
netadr_t to 
)

◆ FTENET_TCP_HTTPResponse()

qboolean FTENET_TCP_HTTPResponse ( ftenet_tcp_stream_t st,
httparg_t  arg[WCATTR_COUNT],
qboolean  allowgzip 
)

◆ FTENET_TCP_ICEResponse()

void FTENET_TCP_ICEResponse ( ftenet_connections_t col,
int  type,
const char *  cid,
const char *  sdp 
)

◆ FTENET_TCP_PrintStatus()

void FTENET_TCP_PrintStatus ( ftenet_generic_connection_t gcon)

◆ FTENET_TCP_SendPacket()

neterr_t FTENET_TCP_SendPacket ( ftenet_generic_connection_t gcon,
int  length,
const void data,
netadr_t to 
)

◆ FTENET_TCP_WebRTCServerAssigned()

void FTENET_TCP_WebRTCServerAssigned ( ftenet_tcp_stream_t list,
ftenet_tcp_stream_t client,
ftenet_tcp_stream_t server 
)

◆ FTENET_TCP_WebSocket_Splurge()

neterr_t FTENET_TCP_WebSocket_Splurge ( ftenet_tcp_stream_t st,
enum websocketpackettype_e  packettype,
const qbyte data,
unsigned int  length 
)

◆ IPX_CloseSocket()

void IPX_CloseSocket ( int  socket)

◆ IPX_OpenSocket()

int IPX_OpenSocket ( int  port)

◆ NET_AddressSmellsFunny()

qboolean NET_AddressSmellsFunny ( netadr_t a)

◆ NET_AddrIsReliable()

qboolean NET_AddrIsReliable ( netadr_t adr)

◆ NET_AdrToString()

char * NET_AdrToString ( char *  s,
int  len,
netadr_t a 
)

◆ NET_AdrToStringMasked()

char * NET_AdrToStringMasked ( char *  s,
int  len,
netadr_t a,
netadr_t amask 
)

◆ NET_AdrToStringResolve()

void NET_AdrToStringResolve ( netadr_t adr,
void(*)(void *ctx, void *data, size_t a, size_t b resolved,
void ctx,
size_t  a,
size_t  b 
)

◆ NET_BaseAdrToString()

char * NET_BaseAdrToString ( char *  s,
int  len,
netadr_t a 
)

◆ NET_ClassifyAddress()

enum addressscope_e NET_ClassifyAddress ( netadr_t adr,
const char **  outdesc 
)

◆ NET_ClientPort_f()

void NET_ClientPort_f ( void  )

◆ NET_CloseClient()

void NET_CloseClient ( void  )

◆ NET_CloseServer()

void NET_CloseServer ( void  )

◆ NET_CompareAdr()

qboolean NET_CompareAdr ( netadr_t a,
netadr_t b 
)

◆ NET_CompareAdrMasked()

qboolean NET_CompareAdrMasked ( netadr_t a,
netadr_t b,
netadr_t mask 
)

◆ NET_CompareBaseAdr()

qboolean NET_CompareBaseAdr ( netadr_t a,
netadr_t b 
)

◆ NET_DTLS_CheckInbound()

qboolean NET_DTLS_CheckInbound ( ftenet_connections_t col)

◆ NET_DTLS_Create()

qboolean NET_DTLS_Create ( ftenet_connections_t col,
netadr_t to,
const dtlscred_t cred,
qboolean  outgoing 
)

◆ NET_DTLS_Decode()

qboolean NET_DTLS_Decode ( ftenet_connections_t col)

◆ NET_DTLS_Disconnect()

qboolean NET_DTLS_Disconnect ( ftenet_connections_t col,
netadr_t to 
)

◆ NET_EnsureRoute()

qboolean NET_EnsureRoute ( ftenet_connections_t collection,
char *  routename,
const struct dtlspeercred_s *  peerinfo,
netadr_t adr,
qboolean  outgoing 
)

◆ NET_EnumerateAddresses()

int NET_EnumerateAddresses ( ftenet_connections_t collection,
struct ftenet_generic_connection_s **  con,
unsigned int adrflags,
netadr_t addresses,
const char **  adrparams,
int  maxaddresses 
)

◆ NET_GetConnectionCertificate()

int NET_GetConnectionCertificate ( struct ftenet_connections_s col,
netadr_t a,
enum certprops_e  prop,
char *  out,
size_t  outsize 
)

◆ NET_GetLocalAddress()

void NET_GetLocalAddress ( int  socket,
netadr_t out 
)

◆ NET_GetRates()

qboolean NET_GetRates ( ftenet_connections_t collection,
float *  pi,
float *  po,
float *  bi,
float *  bo 
)

◆ NET_Init()

void NET_Init ( void  )

◆ NET_InitClient()

void NET_InitClient ( qboolean  loopbackonly)

◆ NET_InitServer()

void NET_InitServer ( void  )

◆ NET_IntegerToMask()

void NET_IntegerToMask ( netadr_t a,
netadr_t amask,
int  bits 
)

◆ NET_IsClientLegal()

qboolean NET_IsClientLegal ( netadr_t adr)

◆ NET_IsEncrypted()

qboolean NET_IsEncrypted ( netadr_t adr)

◆ NET_IsLoopBackAddress()

qboolean NET_IsLoopBackAddress ( netadr_t adr)

◆ NET_LocalAddressForRemote()

int NET_LocalAddressForRemote ( ftenet_connections_t collection,
netadr_t remote,
netadr_t local,
int  idx 
)

◆ Net_OpenUDPPort()

qboolean Net_OpenUDPPort ( char *  privateip,
int  privateport,
char *  publicip,
size_t  publiciplen,
int publicport 
)

◆ NET_PortToAdr()

qboolean NET_PortToAdr ( netadrtype_t  adrfamily,
netproto_t  adrprot,
const char *  s,
netadr_t a 
)

◆ NET_PrintAddresses()

void NET_PrintAddresses ( ftenet_connections_t collection)

◆ NET_PrintConnectionsStatus()

void NET_PrintConnectionsStatus ( ftenet_connections_t collection)

◆ NET_ReadPackets()

void NET_ReadPackets ( ftenet_connections_t collection)

◆ NET_RegisterCrypto()

qboolean NET_RegisterCrypto ( void module,
ftecrypto_t driver 
)

◆ NET_SendPacket()

neterr_t NET_SendPacket ( ftenet_connections_t collection,
int  length,
const void data,
netadr_t to 
)

◆ NET_Shutdown()

void NET_Shutdown ( void  )

◆ NET_Sleep()

qboolean NET_Sleep ( float  seconds,
qboolean  stdinissocket 
)

◆ NET_SockadrToString()

char * NET_SockadrToString ( char *  s,
int  len,
struct sockaddr_qstorage a,
size_t  sizeofa 
)

◆ NET_StringToAdr2()

size_t NET_StringToAdr2 ( const char *  s,
int  defaultport,
netadr_t a,
size_t  numaddresses,
const char **  pathstart 
)

◆ NET_StringToAdr_NoDNS()

qboolean NET_StringToAdr_NoDNS ( const char *  address,
int  port,
netadr_t out 
)

◆ NET_StringToAdrMasked()

qboolean NET_StringToAdrMasked ( const char *  s,
qboolean  allowdns,
netadr_t a,
netadr_t amask 
)

◆ NET_StringToSockaddr2()

size_t NET_StringToSockaddr2 ( const char *  s,
int  defaultport,
netadrtype_t  afhint,
struct sockaddr_qstorage sadr,
int addrfamily,
int addrsize,
size_t  addresses 
)

◆ NET_TerminateRoute()

void NET_TerminateRoute ( ftenet_connections_t collection,
netadr_t adr 
)

◆ NET_Tick()

void NET_Tick ( void  )

◆ NET_UpdateRates()

qboolean NET_UpdateRates ( ftenet_connections_t collection,
qboolean  inbound,
size_t  size 
)

◆ NET_WasSpecialPacket()

qboolean NET_WasSpecialPacket ( ftenet_connections_t collection)

◆ NetadrToSockadr()

int NetadrToSockadr ( netadr_t a,
struct sockaddr_qstorage s 
)

◆ ParsePartialIP()

int ParsePartialIP ( const char *  s,
netadr_t a 
)

◆ SockadrToNetadr()

void SockadrToNetadr ( struct sockaddr_qstorage s,
int  sizeofsockaddr,
netadr_t a 
)

◆ SSL_Init()

void SSL_Init ( void  )

◆ SV_PortIPX_Callback()

void QDECL SV_PortIPX_Callback ( struct cvar_s var,
char *  oldvalue 
)

◆ SV_PortRTC_Callback()

void QDECL SV_PortRTC_Callback ( struct cvar_s var,
char *  oldvalue 
)

◆ SV_PortUNIX_Callback()

void QDECL SV_PortUNIX_Callback ( struct cvar_s var,
char *  oldvalue 
)

◆ SV_UserCmdMVDList_HTML()

void SV_UserCmdMVDList_HTML ( vfsfile_t pipe)

◆ SVNET_AddPort_f()

void SVNET_AddPort_f ( void  )

◆ SVNET_RegisterCvars()

void SVNET_RegisterCvars ( void  )

◆ TCP_OpenStream()

int TCP_OpenStream ( netadr_t remoteaddr,
const char *  remotename 
)

◆ TLS_GetChannelBinding()

int TLS_GetChannelBinding ( vfsfile_t stream,
qbyte data,
size_t *  datasize 
)

◆ TLS_GetKnownCertificate()

void * TLS_GetKnownCertificate ( const char *  certname,
size_t *  size 
)

◆ tobase64()

void tobase64 ( unsigned char *  out,
int  outlen,
const unsigned char *  in,
int  inlen 
)

◆ UDP6_CloseSocket()

void UDP6_CloseSocket ( int  socket)

◆ UDP6_OpenSocket()

int UDP6_OpenSocket ( int  port)

Con_TPrintf("Binding to IP Interface Address of %s\n",

◆ UDP_CloseSocket()

void UDP_CloseSocket ( int  socket)

◆ UDP_OpenSocket()

int UDP_OpenSocket ( int  port)

◆ UniformMaskedBits()

int UniformMaskedBits ( netadr_t mask)

◆ VFSTCP_ReadBytes()

int QDECL VFSTCP_ReadBytes ( struct vfsfile_s file,
void buffer,
int  bytestoread 
)

◆ VFSTCP_Seek()

qboolean QDECL VFSTCP_Seek ( struct vfsfile_s file,
qofs_t  pos 
)

◆ VFSTCP_WriteBytes()

int QDECL VFSTCP_WriteBytes ( struct vfsfile_s file,
const void buffer,
int  bytestoread 
)

Variable Documentation

◆ cryptolib

ftecrypto_t* cryptolib[cryptolib_count]
Initial value:
=
{
NULL,
NULL,
NULL,
NULL,
#ifdef HAVE_WINSSPI
#endif
#ifdef HAVE_GNUTLS
#endif
}
ftecrypto_t crypto_gnutls
Definition: net_ssl_gnutls.c:1826
ftecrypto_t crypto_sspi
Definition: net_ssl_winsspi.c:1758

◆ dtls_psk_hint

cvar_t dtls_psk_hint = CVARFD("dtls_psk_hint", "", CVAR_NOUNSAFEEXPAND, "For DTLS-PSK handshakes. This specifies the public server identity.")

◆ dtls_psk_key

cvar_t dtls_psk_key = CVARFD("dtls_psk_key", "", CVAR_NOUNSAFEEXPAND, "For DTLS-PSK handshakes. This specifies the hexadecimal key which must match between client+server. Will only be used when client+server's hint settings match.")

◆ dtls_psk_user

cvar_t dtls_psk_user = CVARFD("dtls_psk_user", "", CVAR_NOUNSAFEEXPAND, "For DTLS-PSK handshakes. This specifies the username to use when the client+server's hints match.")

◆ fs_manifest

ftemanifest_t* fs_manifest
extern

◆ iftime

unsigned int iftime

◆ loopbacks

loopback_t loopbacks[2]

◆ net_enable_dtls

cvar_t net_enable_dtls = CVARAFCD("net_enable_dtls", "", "sv_listen_dtls", 0, NET_Enable_DTLS_Changed, "Controls serverside dtls support.\n0: dtls blocked, not advertised.\n1: clientside choice.\n2: used where possible (recommended setting).\n3: disallow non-dtls clients (sv_port_tcp should be eg tls://[::]:27500 to also disallow unencrypted tcp connections).")

◆ net_from

netadr_t net_from

◆ net_from_connection

struct ftenet_generic_connection_s* net_from_connection

◆ net_ice_relayonly

cvar_t net_ice_relayonly = CVAR("net_ice_relayonly", "0")

◆ net_ice_servers

cvar_t net_ice_servers = CVAR("net_ice_servers", "")

◆ net_local_cl_ipadr

netadr_t net_local_cl_ipadr

◆ net_message

sizebuf_t net_message

◆ qtv_streamport

cvar_t qtv_streamport
Initial value:
= CVARAFCD( "qtv_streamport", "",
"mvd_streamport", 0, SV_Tcpport_Callback, "Legacy cvar. Use sv_port_tcp instead.")

◆ sv_listen_dp

cvar_t sv_listen_dp

◆ sv_listen_nq

cvar_t sv_listen_nq

◆ sv_listen_q3

cvar_t sv_listen_q3
extern

◆ sv_listen_qw

cvar_t sv_listen_qw

◆ sv_port_ipv4

cvar_t sv_port_ipv4 = CVARC("sv_port", STRINGIFY(PORT_DEFAULTSERVER), SV_Port_Callback)

◆ sv_port_ipv6

cvar_t sv_port_ipv6 = CVARCD("sv_port_ipv6", "", SV_PortIPv6_Callback, "Port to use for incoming ipv6 udp connections. Due to hybrid sockets this might not be needed. You can specify an ipv4 address:port for a second ipv4 port if you want.")

◆ sv_port_ipx

cvar_t sv_port_ipx = CVARC("sv_port_ipx", "", SV_PortIPX_Callback)

◆ sv_port_natpmp

cvar_t sv_port_natpmp = CVARCD("sv_port_natpmp", NATPMP_DEFAULT_PORT, SV_Port_NatPMP_Callback, "If set (typically to 5351), automatically configures your router's port forwarding. You can instead specify the full ip address of your router (192.168.1.1:5351 for example). Your router must have NAT-PMP supported and enabled.")

◆ sv_port_rtc

cvar_t sv_port_rtc = CVARCD("sv_port_rtc", "/", SV_PortRTC_Callback, "This specifies the broker url to use to obtain clients from. If the hostname is ommitted, it'll come from the manifest. If omitted, the broker service will randomize the resource part, so be sure to tell your friends the path reported by eg status rather than just this cvar value. Or just set it to 'rtc:///example' and tell clients to connect to the same sservevalue.")

◆ sv_port_tcp

cvar_t sv_port_tcp = CVARFC("sv_port_tcp", "", CVAR_SERVERINFO, SV_Tcpport_Callback)

◆ sv_port_tcp6

cvar_t sv_port_tcp6 = CVARC("sv_port_tcp6", "", SV_Tcpport6_Callback)

◆ sv_port_unix

cvar_t sv_port_unix = CVARC("sv_port_unix", "@qsock.fte", SV_PortUNIX_Callback)

◆ sv_public

cvar_t sv_public
extern