2010-02-15 23:26:55 +00:00
|
|
|
/*
|
|
|
|
Copyright (C) 1996-2001 Id Software, Inc.
|
2014-09-22 08:55:46 +00:00
|
|
|
Copyright (C) 2010-2014 QuakeSpasm developers
|
2010-02-15 23:26:55 +00:00
|
|
|
|
|
|
|
This program is free software; you can redistribute it and/or
|
|
|
|
modify it under the terms of the GNU General Public License
|
|
|
|
as published by the Free Software Foundation; either version 2
|
|
|
|
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.
|
|
|
|
|
|
|
|
See the GNU General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
|
|
along with this program; if not, write to the Free Software
|
|
|
|
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
|
|
|
|
|
|
*/
|
2010-06-20 13:10:52 +00:00
|
|
|
|
2010-08-14 20:55:39 +00:00
|
|
|
#include "q_stdinc.h"
|
* Makefile, Makefile.darwin, Makefile.w32, Makefile.w64: Build changes:
The SDL_net driver is now disabled by default and platform-specific network
drivers will be used. To compile for SDL_net, a command like "make SDLNET=1"
must be used, in which case a new preprocessor macro _USE_SDLNET will be
defined in the CFLAGS. For windows targets when not using SDL_net, WINSOCK2
is added as another option: A command line like "make WINSOCK2=1" will enable
WinSock2 api and a new preprocessor macro _USE_WINSOCK2 will be defined in
the CFLAGS. Or, a command line like "make WINSOCK2=0" will disable WinSock2
api and the old WinSock 1.1 api will be used instead. For Win64, WinSock2 is
enabled by default. For Win32, WinSock 1.1 is the default api.
* net_bsd.c, net_dgrm.c, net_loop.c, net_main.c, net_sdl.c, net_sdlnet.c,
net_udp.c, net_win.c, net_wins.c, net_wipx.c: Use the newly added net_sys.h
header. The sys_socket_t type is not in use, yet.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@215 af15c1b1-3010-417e-b628-4374ebc0bcbd
2010-06-21 11:10:38 +00:00
|
|
|
#include "arch_def.h"
|
|
|
|
#include "net_sys.h"
|
2010-02-15 23:26:55 +00:00
|
|
|
#include "quakedef.h"
|
2010-06-20 17:21:10 +00:00
|
|
|
#include "net_defs.h"
|
2010-02-15 23:26:55 +00:00
|
|
|
|
|
|
|
#include "net_dgrm.h"
|
2010-06-21 12:20:25 +00:00
|
|
|
#include "net_loop.h"
|
2010-02-15 23:26:55 +00:00
|
|
|
|
2011-12-18 10:00:36 +00:00
|
|
|
net_driver_t net_drivers[] =
|
2010-02-15 23:26:55 +00:00
|
|
|
{
|
2011-12-18 10:00:36 +00:00
|
|
|
{ "Loopback",
|
2010-06-21 12:20:25 +00:00
|
|
|
false,
|
|
|
|
Loop_Init,
|
|
|
|
Loop_Listen,
|
2018-10-17 00:46:09 +00:00
|
|
|
Loop_QueryAddresses,
|
2010-06-21 12:20:25 +00:00
|
|
|
Loop_SearchForHosts,
|
|
|
|
Loop_Connect,
|
|
|
|
Loop_CheckNewConnections,
|
2017-09-17 02:12:53 +00:00
|
|
|
Loop_GetAnyMessage,
|
2010-06-21 12:20:25 +00:00
|
|
|
Loop_GetMessage,
|
|
|
|
Loop_SendMessage,
|
|
|
|
Loop_SendUnreliableMessage,
|
|
|
|
Loop_CanSendMessage,
|
|
|
|
Loop_CanSendUnreliableMessage,
|
|
|
|
Loop_Close,
|
|
|
|
Loop_Shutdown
|
|
|
|
},
|
|
|
|
|
2011-12-18 10:00:36 +00:00
|
|
|
{ "Datagram",
|
2010-06-21 12:20:25 +00:00
|
|
|
false,
|
|
|
|
Datagram_Init,
|
|
|
|
Datagram_Listen,
|
2018-10-17 00:46:09 +00:00
|
|
|
Datagram_QueryAddresses,
|
2010-06-21 12:20:25 +00:00
|
|
|
Datagram_SearchForHosts,
|
|
|
|
Datagram_Connect,
|
|
|
|
Datagram_CheckNewConnections,
|
2017-09-17 02:12:53 +00:00
|
|
|
Datagram_GetAnyMessage,
|
2010-06-21 12:20:25 +00:00
|
|
|
Datagram_GetMessage,
|
|
|
|
Datagram_SendMessage,
|
|
|
|
Datagram_SendUnreliableMessage,
|
|
|
|
Datagram_CanSendMessage,
|
|
|
|
Datagram_CanSendUnreliableMessage,
|
|
|
|
Datagram_Close,
|
|
|
|
Datagram_Shutdown
|
2010-02-15 23:26:55 +00:00
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2011-12-18 10:00:36 +00:00
|
|
|
const int net_numdrivers = (sizeof(net_drivers) / sizeof(net_drivers[0]));
|
2010-02-15 23:26:55 +00:00
|
|
|
|
|
|
|
|
|
|
|
#include "net_wins.h"
|
|
|
|
#include "net_wipx.h"
|
|
|
|
|
2011-12-18 10:00:36 +00:00
|
|
|
net_landriver_t net_landrivers[] =
|
2010-02-15 23:26:55 +00:00
|
|
|
{
|
2011-12-18 10:00:36 +00:00
|
|
|
{ "Winsock TCPIP",
|
2010-06-21 12:20:25 +00:00
|
|
|
false,
|
|
|
|
0,
|
2017-09-17 02:12:53 +00:00
|
|
|
WINIPv4_Init,
|
|
|
|
WINIPv4_Shutdown,
|
|
|
|
WINIPv4_Listen,
|
2018-10-17 00:46:09 +00:00
|
|
|
WINIPv4_GetAddresses,
|
2017-09-17 02:12:53 +00:00
|
|
|
WINIPv4_OpenSocket,
|
2010-06-21 12:20:25 +00:00
|
|
|
WINS_CloseSocket,
|
|
|
|
WINS_Connect,
|
2017-09-17 02:12:53 +00:00
|
|
|
WINIPv4_CheckNewConnections,
|
2010-06-21 12:20:25 +00:00
|
|
|
WINS_Read,
|
|
|
|
WINS_Write,
|
2017-09-17 02:12:53 +00:00
|
|
|
WINIPv4_Broadcast,
|
2010-06-21 12:20:25 +00:00
|
|
|
WINS_AddrToString,
|
2017-09-17 02:12:53 +00:00
|
|
|
WINIPv4_StringToAddr,
|
2010-06-21 12:20:25 +00:00
|
|
|
WINS_GetSocketAddr,
|
2017-09-17 02:12:53 +00:00
|
|
|
WINIPv4_GetNameFromAddr,
|
|
|
|
WINIPv4_GetAddrFromName,
|
2010-06-21 12:20:25 +00:00
|
|
|
WINS_AddrCompare,
|
|
|
|
WINS_GetSocketPort,
|
|
|
|
WINS_SetSocketPort
|
2010-02-15 23:26:55 +00:00
|
|
|
},
|
2017-09-17 02:12:53 +00:00
|
|
|
#ifdef IPPROTO_IPV6
|
|
|
|
{ "Winsock IPv6",
|
|
|
|
false,
|
|
|
|
0,
|
|
|
|
WINIPv6_Init,
|
|
|
|
WINIPv6_Shutdown,
|
|
|
|
WINIPv6_Listen,
|
2018-10-17 00:46:09 +00:00
|
|
|
WINIPv6_GetAddresses,
|
2017-09-17 02:12:53 +00:00
|
|
|
WINIPv6_OpenSocket,
|
|
|
|
WINS_CloseSocket,
|
|
|
|
WINS_Connect,
|
|
|
|
WINIPv6_CheckNewConnections,
|
|
|
|
WINS_Read,
|
|
|
|
WINS_Write,
|
|
|
|
WINIPv6_Broadcast,
|
|
|
|
WINS_AddrToString,
|
|
|
|
WINIPv6_StringToAddr,
|
|
|
|
WINS_GetSocketAddr,
|
|
|
|
WINIPv6_GetNameFromAddr,
|
|
|
|
WINIPv6_GetAddrFromName,
|
|
|
|
WINS_AddrCompare,
|
|
|
|
WINS_GetSocketPort,
|
|
|
|
WINS_SetSocketPort
|
|
|
|
},
|
|
|
|
#endif
|
2011-12-18 10:00:36 +00:00
|
|
|
{ "Winsock IPX",
|
2010-06-21 12:20:25 +00:00
|
|
|
false,
|
|
|
|
0,
|
|
|
|
WIPX_Init,
|
|
|
|
WIPX_Shutdown,
|
|
|
|
WIPX_Listen,
|
2018-10-17 00:46:09 +00:00
|
|
|
WIPX_GetAddresses,
|
2010-06-21 12:20:25 +00:00
|
|
|
WIPX_OpenSocket,
|
|
|
|
WIPX_CloseSocket,
|
|
|
|
WIPX_Connect,
|
|
|
|
WIPX_CheckNewConnections,
|
|
|
|
WIPX_Read,
|
|
|
|
WIPX_Write,
|
|
|
|
WIPX_Broadcast,
|
|
|
|
WIPX_AddrToString,
|
|
|
|
WIPX_StringToAddr,
|
|
|
|
WIPX_GetSocketAddr,
|
|
|
|
WIPX_GetNameFromAddr,
|
|
|
|
WIPX_GetAddrFromName,
|
|
|
|
WIPX_AddrCompare,
|
|
|
|
WIPX_GetSocketPort,
|
|
|
|
WIPX_SetSocketPort
|
2010-02-15 23:26:55 +00:00
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2011-12-18 10:00:36 +00:00
|
|
|
const int net_numlandrivers = (sizeof(net_landrivers) / sizeof(net_landrivers[0]));
|
2010-06-20 13:10:52 +00:00
|
|
|
|