From e611b132f9b8abe35b362e5870b74bce94a1e58e Mon Sep 17 00:00:00 2001 From: Adam Date: Sat, 16 May 2020 20:51:50 -0700 Subject: initial commit --- public/sdk/inc/ws2tcpip.h | 71 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 public/sdk/inc/ws2tcpip.h (limited to 'public/sdk/inc/ws2tcpip.h') diff --git a/public/sdk/inc/ws2tcpip.h b/public/sdk/inc/ws2tcpip.h new file mode 100644 index 000000000..e462bb091 --- /dev/null +++ b/public/sdk/inc/ws2tcpip.h @@ -0,0 +1,71 @@ +/* +** WS2TCPIP.H - WinSock2 Extension for TCP/IP protocols +** +** This file contains TCP/IP specific information for use +** by WinSock2 compatible applications. +** +** To provide the backward compatibility, all the TCP/IP +** specific definitions that were included in the WINSOCK.H +** file are now included in WINSOCK2.H file. WS2TCPIP.H +** file includes only the definitions introduced in the +** WinSock 2 Protocol-Specific Annex document. +** +** Rev 0.2 Aug 10, 1995 +*/ + +#ifndef _WS2TCPIP_H_ +#define _WS2TCPIP_H_ + + +/* Structure to keep interface specific information */ + +typedef struct _INTERFACE_INFO +{ + u_long iiFlags; /* Interface flags */ + struct sockaddr iiAddress; /* Interface address */ + struct sockaddr iiBroadcastAddress; /* Broadcast address */ + struct sockaddr iiNetmask; /* Network mask */ +} INTERFACE_INFO, FAR * LPINTERFACE_INFO; + +/* Possible flags for the iiFlags - bitmask */ + +#define IFF_UP 0x00000001 /* Interface is up */ +#define IFF_BROADCAST 0x00000002 /* Broadcast is supported */ +#define IFF_LOOPBACK 0x00000004 /* this is loopback interface */ +#define IFF_POINTTOPOINT 0x00000008 /*this is point-to-point interface*/ +#define IFF_MULTICAST 0x00000010 /* multicast is supported */ + +/* Argument structure for IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP */ + +struct ip_mreq { + struct in_addr imr_multiaddr; /* IP multicast address of group */ + struct in_addr imr_interface; /* local IP address of interface */ +}; + +/* TCP/IP specific Ioctl codes */ + +#define SIO_GET_INTERFACE_LIST _IOR('t', 127, u_long) // + +/* Option to use with [gs]etsockopt at the IPPROTO_IP level */ + +#define IP_OPTIONS 1 /* set/get IP options */ +#define IP_HDRINCL 2 /* header is included with data */ +#define IP_TOS 3 /* IP type of service and preced*/ +#define IP_TTL 4 /* IP time to live */ +#define IP_MULTICAST_IF 9 /* set/get IP multicast i/f */ +#define IP_MULTICAST_TTL 10 /* set/get IP multicast ttl */ +#define IP_MULTICAST_LOOP 11 /*set/get IP multicast loopback */ +#define IP_ADD_MEMBERSHIP 12 /* add an IP group membership */ +#define IP_DROP_MEMBERSHIP 13 /* drop an IP group membership */ +#define IP_DONTFRAGMENT 14 /* don't fragment IP datagrams */ + +/* Option to use with [gs]etsockopt at the IPPROTO_UDP level */ + +#define UDP_NOCHECKSUM 1 + +/* Option to use with [gs]etsockopt at the IPPROTO_TCP level */ + +#define TCP_EXPEDITED_1122 0x0002 + +#endif /* _WS2TCPIP_H_ */ + -- cgit v1.2.3