win32/include/winapi changes from https://github.com/run4flat/tinycc.git
just for testing. Is it needed? I'm not a MSYS citizen.
run4flat is a tcc fork by David Mertens that knows how to work with
multiple symbol tables. Excelent work. A good descriptions of the
tcc internals inside a code comments.
This commit is contained in:
94
win32/include/winapi/ws2ipdef.h
Normal file
94
win32/include/winapi/ws2ipdef.h
Normal file
@ -0,0 +1,94 @@
|
||||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
||||
*/
|
||||
#ifndef _INC_WS2IPDEF
|
||||
#define _INC_WS2IPDEF
|
||||
|
||||
#include <in6addr.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct ipv6_mreq {
|
||||
struct in6_addr ipv6mr_multiaddr;
|
||||
unsigned int ipv6mr_interface;
|
||||
} IPV6_MREQ;
|
||||
|
||||
struct sockaddr_in6_old {
|
||||
short sin6_family;
|
||||
u_short sin6_port;
|
||||
u_long sin6_flowinfo;
|
||||
struct in6_addr sin6_addr;
|
||||
};
|
||||
|
||||
typedef union sockaddr_gen {
|
||||
struct sockaddr Address;
|
||||
struct sockaddr_in AddressIn;
|
||||
struct sockaddr_in6_old AddressIn6;
|
||||
} sockaddr_gen;
|
||||
|
||||
struct sockaddr_in6 {
|
||||
short sin6_family;
|
||||
u_short sin6_port;
|
||||
u_long sin6_flowinfo;
|
||||
struct in6_addr sin6_addr;
|
||||
__C89_NAMELESS union {
|
||||
u_long sin6_scope_id;
|
||||
SCOPE_ID sin6_scope_struct;
|
||||
};
|
||||
};
|
||||
|
||||
typedef struct sockaddr_in6 SOCKADDR_IN6;
|
||||
typedef struct sockaddr_in6 *PSOCKADDR_IN6;
|
||||
typedef struct sockaddr_in6 *LPSOCKADDR_IN6;
|
||||
|
||||
typedef struct _INTERFACE_INFO {
|
||||
u_long iiFlags;
|
||||
sockaddr_gen iiAddress;
|
||||
sockaddr_gen iiBroadcastAddress;
|
||||
sockaddr_gen iiNetmask;
|
||||
} INTERFACE_INFO,*LPINTERFACE_INFO;
|
||||
|
||||
typedef enum _MULTICAST_MODE_TYPE {
|
||||
MCAST_INCLUDE = 0,
|
||||
MCAST_EXCLUDE
|
||||
} MULTICAST_MODE_TYPE;
|
||||
|
||||
typedef struct _sockaddr_in6_pair {
|
||||
PSOCKADDR_IN6 SourceAddress;
|
||||
PSOCKADDR_IN6 DestinationAddress;
|
||||
} SOCKADDR_IN6_PAIR, *PSOCKADDR_IN6_PAIR;
|
||||
|
||||
typedef union _SOCKADDR_INET {
|
||||
SOCKADDR_IN Ipv4;
|
||||
SOCKADDR_IN6 Ipv6;
|
||||
ADDRESS_FAMILY si_family;
|
||||
} SOCKADDR_INET, *PSOCKADDR_INET;
|
||||
|
||||
typedef struct group_filter {
|
||||
ULONG gf_interface;
|
||||
SOCKADDR_STORAGE gf_group;
|
||||
MULTICAST_MODE_TYPE gf_fmode;
|
||||
ULONG gf_numsrc;
|
||||
SOCKADDR_STORAGE gf_slist[1];
|
||||
} GROUP_FILTER, *PGROUP_FILTER;
|
||||
|
||||
typedef struct group_req {
|
||||
ULONG gr_interface;
|
||||
SOCKADDR_STORAGE gr_group;
|
||||
} GROUP_REQ, *PGROUP_REQ;
|
||||
|
||||
typedef struct group_source_req {
|
||||
ULONG gsr_interface;
|
||||
SOCKADDR_STORAGE gsr_group;
|
||||
SOCKADDR_STORAGE gsr_source;
|
||||
} GROUP_SOURCE_REQ, *PGROUP_SOURCE_REQ;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /*_INC_WS2IPDEF*/
|
||||
Reference in New Issue
Block a user