aboutsummaryrefslogtreecommitdiff
path: root/win32/include/winapi/mstcpip.h
diff options
context:
space:
mode:
authorseyko <seyko2@gmail.com>2015-05-14 01:27:46 +0300
committerseyko <seyko2@gmail.com>2015-05-14 01:27:46 +0300
commit101cc8747f767344d38566bd229f1761ad96f744 (patch)
treeef800583f7994bb56c6c32bf4256f44727c5d48d /win32/include/winapi/mstcpip.h
parent80322adaa0544eedc7198ed4c529a41856f66f43 (diff)
downloadtinycc-101cc8747f767344d38566bd229f1761ad96f744.tar.gz
tinycc-101cc8747f767344d38566bd229f1761ad96f744.tar.bz2
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.
Diffstat (limited to 'win32/include/winapi/mstcpip.h')
-rw-r--r--win32/include/winapi/mstcpip.h195
1 files changed, 195 insertions, 0 deletions
diff --git a/win32/include/winapi/mstcpip.h b/win32/include/winapi/mstcpip.h
new file mode 100644
index 0000000..71e3d9f
--- /dev/null
+++ b/win32/include/winapi/mstcpip.h
@@ -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_ */
+