0,0 → 1,195 |
/** |
* 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 _MSTCPIP_ |
#define _MSTCPIP_ |
|
#include <_mingw_unicode.h> |
|
struct tcp_keepalive { |
u_long onoff; |
u_long keepalivetime; |
u_long keepaliveinterval; |
}; |
|
#define SIO_RCVALL _WSAIOW(IOC_VENDOR,1) |
#define SIO_RCVALL_MCAST _WSAIOW(IOC_VENDOR,2) |
#define SIO_RCVALL_IGMPMCAST _WSAIOW(IOC_VENDOR,3) |
#define SIO_KEEPALIVE_VALS _WSAIOW(IOC_VENDOR,4) |
#define SIO_ABSORB_RTRALERT _WSAIOW(IOC_VENDOR,5) |
#define SIO_UCAST_IF _WSAIOW(IOC_VENDOR,6) |
#define SIO_LIMIT_BROADCASTS _WSAIOW(IOC_VENDOR,7) |
#define SIO_INDEX_BIND _WSAIOW(IOC_VENDOR,8) |
#define SIO_INDEX_MCASTIF _WSAIOW(IOC_VENDOR,9) |
#define SIO_INDEX_ADD_MCAST _WSAIOW(IOC_VENDOR,10) |
#define SIO_INDEX_DEL_MCAST _WSAIOW(IOC_VENDOR,11) |
|
#define RCVALL_OFF 0 |
#define RCVALL_ON 1 |
#define RCVALL_SOCKETLEVELONLY 2 |
|
#if (_WIN32_WINNT >= 0x0502) |
#define SOCKET_SETTINGS_GUARANTEE_ENCRYPTION 0x00000001 |
#define SOCKET_SETTINGS_ALLOW_INSECURE 0x00000002 |
|
typedef enum _SOCKET_SECURITY_PROTOCOL { |
SOCKET_SECURITY_PROTOCOL_DEFAULT, |
SOCKET_SECURITY_PROTOCOL_IPSEC, |
SOCKET_SECURITY_PROTOCOL_INVALID |
} SOCKET_SECURITY_PROTOCOL; |
|
typedef enum _SOCKET_USAGE_TYPE { |
SYSTEM_CRITICAL_SOCKET = 1 |
} SOCKET_USAGE_TYPE; |
|
typedef struct _SOCKET_PEER_TARGET_NAME { |
SOCKET_SECURITY_PROTOCOL SecurityProtocol; |
SOCKADDR_STORAGE PeerAddress; |
ULONG PeerTargetNameStringLen; |
wchar_t AllStrings[]; |
} SOCKET_PEER_TARGET_NAME; |
|
#define SOCKET_INFO_CONNECTION_SECURED 0x00000001 |
#define SOCKET_INFO_CONNECTION_ENCRYPTED 0x00000002 |
#define SOCKET_INFO_CONNECTION_IMPERSONATED 0x00000004 |
|
typedef struct _SOCKET_SECURITY_QUERY_INFO { |
SOCKET_SECURITY_PROTOCOL SecurityProtocol; |
ULONG Flags; |
UINT64 PeerApplicationAccessTokenHandle; |
UINT64 PeerMachineAccessTokenHandle; |
} SOCKET_SECURITY_QUERY_INFO; |
|
typedef struct _SOCKET_SECURITY_QUERY_TEMPLATE { |
SOCKET_SECURITY_PROTOCOL SecurityProtocol; |
SOCKADDR_STORAGE PeerAddress; |
ULONG PeerTokenAccessMask; |
} SOCKET_SECURITY_QUERY_TEMPLATE; |
|
typedef struct _SOCKET_SECURITY_SETTINGS { |
SOCKET_SECURITY_PROTOCOL SecurityProtocol; |
ULONG SecurityFlags; |
} SOCKET_SECURITY_SETTINGS; |
|
#define SOCKET_SETTINGS_IPSEC_SKIP_FILTER_INSTANTIATION 0x00000001 |
|
typedef struct _SOCKET_SECURITY_SETTINGS_IPSEC { |
SOCKET_SECURITY_PROTOCOL SecurityProtocol; |
ULONG SecurityFlags; |
ULONG IpsecFlags; |
GUID AuthipMMPolicyKey; |
GUID AuthipQMPolicyKey; |
GUID Reserved; |
UINT64 Reserved2; |
ULONG UserNameStringLen; |
ULONG DomainNameStringLen; |
ULONG PasswordStringLen; |
wchar_t AllStrings[]; |
} SOCKET_SECURITY_SETTINGS_IPSEC; |
|
#define RtlIpv6AddressToString __MINGW_NAME_AW(RtlIpv6AddressToString) |
#define RtlIpv6AddressToStringEx __MINGW_NAME_AW(RtlIpv6AddressToStringEx) |
|
LPWSTR NTAPI RtlIpv6AddressToStringA( |
const IN6_ADDR *Addr, |
LPSTR S |
); |
|
LPSTR NTAPI RtlIpv6AddressToStringW( |
const IN6_ADDR *Addr, |
LPWSTR S |
); |
|
LONG NTAPI RtlIpv6AddressToStringExA( |
const IN6_ADDR *Address, |
ULONG ScopeId, |
USHORT Port, |
LPSTR AddressString, |
PULONG AddressStringLength |
); |
|
LONG NTAPI RtlIpv6AddressToStringExW( |
const IN6_ADDR *Address, |
ULONG ScopeId, |
USHORT Port, |
LPWSTR AddressString, |
PULONG AddressStringLength |
); |
|
#define RtlIpv4AddressToString __MINGW_NAME_AW(RtlIpv4AddressToString) |
LPTSTR NTAPI RtlIpv4AddressToStringA( |
const IN_ADDR *Addr, |
LPSTR S |
); |
|
LPTSTR NTAPI RtlIpv4AddressToStringW( |
const IN_ADDR *Addr, |
LPWSTR S |
); |
|
#define RtlIpv4AddressToStringEx __MINGW_NAME_AW(RtlIpv4AddressToStringEx) |
LONG NTAPI RtlIpv4AddressToStringExA( |
const IN_ADDR *Address, |
USHORT Port, |
LPSTR AddressString, |
PULONG AddressStringLength |
); |
|
LONG NTAPI RtlIpv4AddressToStringExW( |
const IN_ADDR *Address, |
USHORT Port, |
LPWSTR AddressString, |
PULONG AddressStringLength |
); |
|
#define RtlIpv4StringToAddress __MINGW_NAME_AW(RtlIpv4StringToAddress) |
LONG NTAPI RtlIpv4StringToAddressA( |
PCSTR S, |
BOOLEAN Strict, |
LPSTR *Terminator, |
IN_ADDR *Addr |
); |
|
LONG NTAPI RtlIpv4StringToAddressW( |
PCWSTR S, |
BOOLEAN Strict, |
LPWSTR *Terminator, |
IN_ADDR *Addr |
); |
|
#define RtlIpv4StringToAddressEx __MINGW_NAME_AW(RtlIpv4StringToAddressEx) |
LONG NTAPI RtlIpv4StringToAddressExA( |
PCSTR AddressString, |
BOOLEAN Strict, |
IN_ADDR *Address, |
PUSHORT Port |
); |
|
LONG NTAPI RtlIpv4StringToAddressExW( |
PCWSTR AddressString, |
BOOLEAN Strict, |
IN_ADDR *Address, |
PUSHORT Port |
); |
|
#define RtlIpv6StringToAddressEx __MINGW_NAME_AW(RtlIpv6StringToAddressEx) |
LONG NTAPI RtlIpv6StringToAddressExA( |
PCSTR AddressString, |
IN6_ADDR *Address, |
PULONG ScopeId, |
PUSHORT Port |
); |
|
LONG NTAPI RtlIpv6StringToAddressExW( |
PCSTR AddressString, |
IN6_ADDR *Address, |
PULONG ScopeId, |
PUSHORT Port |
); |
|
#endif /*(_WIN32_WINNT >= 0x0502)*/ |
|
#endif /* _MSTCPIP_ */ |
|