fteqw/engine/common/netinc.h
Spoike 9b6ea1c114 Fix for recent timing issues, hopefully.
Fixed a couple of warnings.
Added voip options to menus.
GL+D3D merged builds compile, but d3d is probably broken still.
Added vid_gl_context_es2 cvar to attempt to init a gles context. Note that you also need to set the requested gl version correctly.
Changed qtv's webpage view slightly, for slightly updated npfte usage.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3714 fc73d0e0-1445-4013-8a0c-d673dee63da5
2011-01-04 02:56:16 +00:00

131 lines
2.4 KiB
C

#ifdef _WIN32
#ifdef _MSC_VER
#define USEIPX
#endif
#include "winquake.h"
#ifdef USEIPX
#include "wsipx.h"
#endif
#include <ws2tcpip.h>
#include <errno.h>
#ifndef IPPROTO_IPV6
/*for msvc6*/
#define IPPROTO_IPV6
#ifndef EAI_NONAME
#define EAI_NONAME 8
#endif
struct ip6_scope_id
{
union
{
struct
{
u_long Zone : 28;
u_long Level : 4;
};
u_long Value;
};
};
#if !(_MSC_VER >= 1500)
struct in6_addr
{
u_char s6_addr[16]; /* IPv6 address */
};
#define sockaddr_in6 sockaddr_in6_fixed /*earlier versions of msvc have a sockaddr_in6 which does _not_ match windows, so this *must* be redefined for any non-final msvc releases or it won't work at all*/
typedef struct sockaddr_in6
{
short sin6_family;
u_short sin6_port;
u_long sin6_flowinfo;
struct in6_addr sin6_addr;
union
{
u_long sin6_scope_id;
struct ip6_scope_id sin6_scope_struct;
};
};
struct addrinfo
{
int ai_flags;
int ai_family;
int ai_socktype;
int ai_protocol;
size_t ai_addrlen;
char* ai_canonname;
struct sockaddr * ai_addr;
struct addrinfo * ai_next;
};
#endif
#endif
#if (_MSC_VER >= 1600)
#undef EADDRNOTAVAIL
#undef EAFNOSUPPORT
#undef ECONNABORTED
#undef ECONNREFUSED
#undef ECONNRESET
#undef EMSGSIZE
#undef EWOULDBLOCK
#endif
#define EWOULDBLOCK WSAEWOULDBLOCK
#define EMSGSIZE WSAEMSGSIZE
#define ECONNRESET WSAECONNRESET
#define ECONNABORTED WSAECONNABORTED
#define ECONNREFUSED WSAECONNREFUSED
#define EADDRNOTAVAIL WSAEADDRNOTAVAIL
#define EAFNOSUPPORT WSAEAFNOSUPPORT
#else
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <netdb.h>
#include <sys/ioctl.h>
#include <sys/uio.h>
#include <arpa/inet.h>
#include <errno.h>
#include <unistd.h>
#ifdef sun
#include <sys/filio.h>
#endif
#ifdef NeXT
#include <libc.h>
#endif
#if defined(__MORPHOS__) && !defined(ixemul)
#define closesocket CloseSocket
#define ioctlsocket IoctlSocket
#else
#define closesocket close
#define ioctlsocket ioctl
#endif
#define SOCKET int
#endif
#if defined(_WIN32)
#define qerrno WSAGetLastError()
#elif defined(__MORPHOS__) && !defined(ixemul)
#define qerrno Errno()
#else
#define qerrno errno
#endif
#ifndef INVALID_SOCKET
#define INVALID_SOCKET -1
#endif
#ifndef INADDR_LOOPBACK
#define INADDR_LOOPBACK 0x7f000001
#endif