Author: dchapyshev
Date: Tue Jul 21 11:03:03 2009
New Revision: 42112
URL:
http://svn.reactos.org/svn/reactos?rev=42112&view=rev
Log:
- Add some defines, prototypes. It fixes compilation ws2_32_new
Modified:
trunk/reactos/include/psdk/winsock2.h
trunk/reactos/include/psdk/ws2spi.h
trunk/reactos/include/psdk/ws2tcpip.h
Modified: trunk/reactos/include/psdk/winsock2.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/winsock2.h?re…
==============================================================================
--- trunk/reactos/include/psdk/winsock2.h [iso-8859-1] (original)
+++ trunk/reactos/include/psdk/winsock2.h [iso-8859-1] Tue Jul 21 11:03:03 2009
@@ -48,6 +48,8 @@
#ifndef FD_SETSIZE
#define FD_SETSIZE 64
#endif
+
+#define WSAAPI WINAPI
/* shutdown() how types */
#define SD_RECEIVE 0x00
@@ -519,6 +521,47 @@
#endif /* !WSABASEERR */
+#if !defined(NS_ALL)
+#define NS_ALL 0
+#define NS_SAP 1
+#define NS_NDS 2
+#define NS_PEER_BROWSE 3
+#define NS_SLP 5
+#define NS_DHCP 6
+#define NS_TCPIP_LOCAL 10
+#define NS_TCPIP_HOSTS 11
+#define NS_DNS 12
+#define NS_NETBT 13
+#define NS_WINS 14
+#define NS_NLA 15
+#define NS_NBP 20
+#define NS_MS 30
+#define NS_STDA 31
+#define NS_NTDS 32
+#define NS_X500 40
+#define NS_NIS 41
+#define NS_NISPLUS 42
+#define NS_WRQ 50
+#define NS_NETDES 60
+#endif /* !defined(NS_ALL) */
+
+#define LUP_DEEP 0x0001
+#define LUP_CONTAINERS 0x0002
+#define LUP_NOCONTAINERS 0x0004
+#define LUP_NEAREST 0x0008
+#define LUP_RETURN_NAME 0x0010
+#define LUP_RETURN_TYPE 0x0020
+#define LUP_RETURN_VERSION 0x0040
+#define LUP_RETURN_COMMENT 0x0080
+#define LUP_RETURN_ADDR 0x0100
+#define LUP_RETURN_BLOB 0x0200
+#define LUP_RETURN_ALIASES 0x0400
+#define LUP_RETURN_QUERY_STRING 0x0800
+#define LUP_RETURN_ALL 0x0FF0
+#define LUP_RES_SERVICE 0x8000
+#define LUP_FLUSHCACHE 0x1000
+#define LUP_FLUSHPREVIOUS 0x2000
+
#define WSANO_ADDRESS WSANO_DATA
#if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
#define h_errno WSAGetLastError()
@@ -556,6 +599,13 @@
int PASCAL WSACleanup(void);
void PASCAL WSASetLastError(int);
int PASCAL WSAGetLastError(void);
+typedef int (WSAAPI *LPFN_WSAGETLASTERROR)(void);
+typedef int (WSAAPI *LPFN_WSACANCELBLOCKINGCALL)(void);
+typedef FARPROC (WSAAPI *LPFN_WSASETBLOCKINGHOOK)(FARPROC);
+typedef int (WSAAPI *LPFN_SELECT)(int nfds,fd_set FAR*,fd_set FAR*,fd_set FAR*,const
struct timeval FAR*);
+typedef int (WSAAPI *LPFN_WSASTARTUP)(WORD,LPWSADATA);
+typedef int (WSAAPI *LPFN_WSACLEANUP)(void);
+typedef int (WSAAPI *LPFN_GETSOCKOPT)(SOCKET,int,int,char FAR*,int FAR*);
/*
* Pseudo-blocking functions are deprecated in WinSock2
* spec. Use threads instead.
@@ -647,7 +697,6 @@
#define MSG_INTERRUPT 0x10
#define MSG_MAXIOVLEN 16
-#define WSAAPI WINAPI
#define WSAEVENT HANDLE
#define LPWSAEVENT LPHANDLE
#define WSAOVERLAPPED OVERLAPPED
Modified: trunk/reactos/include/psdk/ws2spi.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/ws2spi.h?rev=…
==============================================================================
--- trunk/reactos/include/psdk/ws2spi.h [iso-8859-1] (original)
+++ trunk/reactos/include/psdk/ws2spi.h [iso-8859-1] Tue Jul 21 11:03:03 2009
@@ -113,13 +113,39 @@
LPWSPSTRINGTOADDRESS lpWSPStringToAddress;
} WSPPROC_TABLE, FAR* LPWSPPROC_TABLE;
+/* Prototypes for service provider namespace procedure table */
+typedef INT (WSAAPI *LPNSPCLEANUP)(LPGUID);
+typedef INT (WSAAPI
*LPNSPLOOKUPSERVICEBEGIN)(LPGUID,LPWSAQUERYSETW,LPWSASERVICECLASSINFOW,DWORD,LPHANDLE);
+typedef INT (WSAAPI *LPNSPLOOKUPSERVICENEXT)(HANDLE,DWORD,LPDWORD,LPWSAQUERYSETW);
+typedef INT (WSAAPI *LPNSPLOOKUPSERVICEEND)(HANDLE);
+typedef INT (WSAAPI
*LPNSPSETSERVICE)(LPGUID,LPWSASERVICECLASSINFOW,LPWSAQUERYSETW,WSAESETSERVICEOP,DWORD);
+typedef INT (WSAAPI *LPNSPINSTALLSERVICECLASS)(LPGUID,LPWSASERVICECLASSINFOW);
+typedef INT (WSAAPI *LPNSPREMOVESERVICECLASS)(LPGUID,LPGUID);
+typedef INT (WSAAPI *LPNSPGETSERVICECLASSINFO)(LPGUID,LPDWORD,LPWSASERVICECLASSINFOW);
+typedef INT (WSAAPI
*LPNSPIOCTL)(HANDLE,DWORD,LPVOID,DWORD,LPVOID,DWORD,LPDWORD,LPWSACOMPLETION,LPWSATHREADID);
+
+typedef struct _NSP_ROUTINE {
+ DWORD cbSize;
+ DWORD dwMajorVersion;
+ DWORD dwMinorVersion;
+ LPNSPCLEANUP NSPCleanup;
+ LPNSPLOOKUPSERVICEBEGIN NSPLookupServiceBegin;
+ LPNSPLOOKUPSERVICENEXT NSPLookupServiceNext;
+ LPNSPLOOKUPSERVICEEND NSPLookupServiceEnd;
+ LPNSPSETSERVICE NSPSetService;
+ LPNSPINSTALLSERVICECLASS NSPInstallServiceClass;
+ LPNSPREMOVESERVICECLASS NSPRemoveServiceClass;
+ LPNSPGETSERVICECLASSINFO NSPGetServiceClassInfo;
+ LPNSPIOCTL NSPIoctl;
+} NSP_ROUTINE, *PNSP_ROUTINE, FAR* LPNSP_ROUTINE;
+
/* Prototypes for service provider upcall procedure table */
typedef BOOL (WSPAPI *LPWPUCLOSEEVENT)(WSAEVENT,LPINT);
typedef INT (WSPAPI *LPWPUCLOSESOCKETHANDLE)(SOCKET,LPINT);
typedef INT (WSPAPI *LPWPUCLOSETHREAD)(LPWSATHREADID,LPINT);
typedef WSAEVENT (WSPAPI *LPWPUCREATEEVENT)(LPINT);
typedef SOCKET (WSPAPI *LPWPUCREATESOCKETHANDLE)(DWORD,DWORD,LPINT);
-typedef SOCKET (WSPAPI *LPWPUFDISSET)(SOCKET,LPFD_SET);
+typedef INT (WSPAPI *LPWPUFDISSET)(SOCKET,LPFD_SET);
typedef INT (WSPAPI *LPWPUGETPROVIDERPATH)(LPGUID,LPWSTR,LPINT,LPINT);
typedef SOCKET (WSPAPI *LPWPUMODIFYIFSHANDLE)(DWORD,SOCKET,LPINT);
typedef INT (WSPAPI *LPWPUOPENCURRENTTHREAD)(LPWSATHREADID,LPINT);
@@ -129,6 +155,7 @@
typedef INT (WSPAPI *LPWPUQUEUEAPC)(LPWSATHREADID,LPWSAUSERAPC,DWORD,LPINT);
typedef BOOL (WSPAPI *LPWPURESETEVENT)(WSAEVENT,LPINT);
typedef BOOL (WSPAPI *LPWPUSETEVENT)(WSAEVENT,LPINT);
+typedef INT (WSAAPI *LPNSPSTARTUP)(LPGUID,LPNSP_ROUTINE);
/* Available only directly from the DLL */
typedef INT (WSPAPI
*LPWPUCOMPLETEOVERLAPPEDREQUEST)(SOCKET,LPWSAOVERLAPPED,DWORD,DWORD,LPINT);
@@ -153,30 +180,6 @@
typedef INT (WSPAPI
*LPWSPSTARTUP)(WORD,LPWSPDATA,LPWSAPROTOCOL_INFOW,WSPUPCALLTABLE,LPWSPPROC_TABLE);
-/* Prototypes for service provider namespace procedure table */
-typedef INT (WSPAPI *LPNSPCLEANUP)(LPGUID);
-typedef INT (WSPAPI *LPNSPGETSERVICECLASSINFO)(LPGUID,LPDWORD,LPWSASERVICECLASSINFOW);
-typedef INT (WSPAPI *LPNSPINSTALLSERVICECLASS)(LPGUID,LPWSASERVICECLASSINFOW);
-typedef INT (WSPAPI
*LPNSPLOOKUPSERVICEBEGIN)(LPGUID,LPWSAQUERYSETW,LPWSASERVICECLASSINFOW,DWORD,LPHANDLE);
-typedef INT (WSPAPI *LPNSPLOOKUPSERVICEEND)(HANDLE);
-typedef INT (WSPAPI *LPNSPLOOKUPSERVICENEXT)(HANDLE,DWORD,LPDWORD,LPWSAQUERYSET);
-typedef INT (WSPAPI *LPNSPREMOVESERVICECLASS)(LPGUID,LPGUID);
-typedef INT (WSPAPI
*LPNSPSETSERVICE)(LPGUID,LPWSASERVICECLASSINFOW,LPWSAQUERYSETW,WSAESETSERVICEOP,DWORD);
-
-typedef struct _NSP_ROUTINE {
- DWORD cbSize;
- DWORD dwMajorVersion;
- DWORD dwMinorVersion;
- LPNSPCLEANUP NSPCleanup;
- LPNSPLOOKUPSERVICEBEGIN NSPLookupServiceBegin;
- LPNSPLOOKUPSERVICENEXT NSPLookupServiceNext;
- LPNSPLOOKUPSERVICEEND NSPLookupServiceEnd;
- LPNSPSETSERVICE NSPSetService;
- LPNSPINSTALLSERVICECLASS NSPInstallServiceClass;
- LPNSPREMOVESERVICECLASS NSPRemoveServiceClass;
- LPNSPGETSERVICECLASSINFO NSPGetServiceClassInfo;
-} NSP_ROUTINE, *PNSP_ROUTINE, *LPNSP_ROUTINE;
-
INT WSPAPI NSPStartup(LPGUID,LPNSP_ROUTINE);
/* WinSock 2 DLL function prototypes */
@@ -185,11 +188,26 @@
INT WSPAPI WSCDeinstallProvider(LPGUID,LPINT);
INT WSPAPI WSCEnumProtocols(LPINT,LPWSAPROTOCOL_INFOW,LPDWORD,LPINT);
INT WSPAPI WSCGetProviderPath(LPGUID,LPWSTR,LPINT,LPINT);
-INT WSPAPI WSCInstallProvider(CONST LPGUID,CONST LPWSTR,CONST
LPWSAPROTOCOL_INFOW,DWORD,LPINT);
+INT WSPAPI WSCInstallProvider(LPGUID,CONST WCHAR*,CONST
LPWSAPROTOCOL_INFOW,DWORD,LPINT);
INT WSPAPI WSCEnableNSProvider(LPGUID,BOOL);
INT WSPAPI WSCInstallNameSpace(LPWSTR,LPWSTR,DWORD,DWORD,LPGUID);
INT WSPAPI WSCUnInstallNameSpace(LPGUID);
INT WSPAPI WSCWriteProviderOrder(LPDWORD,DWORD);
+BOOL WSPAPI WPUPostMessage(HWND,UINT,WPARAM,LPARAM);
+BOOL WSPAPI WPUCloseEvent(WSAEVENT,LPINT);
+int WSPAPI WPUCloseSocketHandle(SOCKET,LPINT);
+WSAEVENT WSPAPI WPUCreateEvent(LPINT);
+SOCKET WSPAPI WPUModifyIFSHandle(DWORD,SOCKET,LPINT);
+SOCKET WSPAPI WPUCreateSocketHandle(DWORD,DWORD_PTR,LPINT);
+int WSPAPI WPUFDIsSet(SOCKET,LPFD_SET);
+int WSPAPI WPUGetProviderPath(LPGUID,WCHAR FAR*,LPINT,LPINT);
+int WSPAPI WPUQueryBlockingCallback(DWORD,LPBLOCKINGCALLBACK FAR*,PDWORD_PTR,LPINT);
+int WSPAPI WPUQuerySocketHandleContext(SOCKET,PDWORD_PTR,LPINT);
+int WSPAPI WPUQueueApc(LPWSATHREADID,LPWSAUSERAPC,DWORD_PTR,LPINT);
+BOOL WSPAPI WPUResetEvent(WSAEVENT,LPINT);
+BOOL WSPAPI WPUSetEvent(WSAEVENT,LPINT);
+int WSPAPI WPUOpenCurrentThread(LPWSATHREADID,LPINT);
+int WSPAPI WPUCloseThread(LPWSATHREADID,LPINT);
#endif /* RC_INVOKED */
Modified: trunk/reactos/include/psdk/ws2tcpip.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/ws2tcpip.h?re…
==============================================================================
--- trunk/reactos/include/psdk/ws2tcpip.h [iso-8859-1] (original)
+++ trunk/reactos/include/psdk/ws2tcpip.h [iso-8859-1] Tue Jul 21 11:03:03 2009
@@ -155,22 +155,23 @@
struct in6_addr {
union {
- u_char _S6_u8[16];
- u_short _S6_u16[8];
+ u_char Byte[16];
+ u_short Word[8];
u_long _S6_u32[4];
- } _S6_un;
-};
+ } u;
+};
+
/* s6_addr is the standard name */
-#define s6_addr _S6_un._S6_u8
+#define s6_addr u.Byte
/* These are GLIBC names */
-#define s6_addr16 _S6_un._S6_u16
-#define s6_addr32 _S6_un._S6_u16
+#define s6_addr16 u.Word
+#define s6_addr32 u.Word
/* These are used in some MS code */
#define in_addr6 in6_addr
-#define _s6_bytes _S6_un._S6_u8
-#define _s6_words _S6_un._S6_u16
+#define _s6_bytes u.Byte
+#define _s6_words u.Word
typedef struct in6_addr IN6_ADDR, *PIN6_ADDR, *LPIN6_ADDR;
@@ -275,16 +276,37 @@
};
typedef struct in6_pktinfo IN6_PKTINFO;
-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;
-};
+typedef 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;
+} ADDRINFOA, *PADDRINFOA;
+
+typedef struct addrinfoW
+{
+ int ai_flags;
+ int ai_family;
+ int ai_socktype;
+ int ai_protocol;
+ size_t ai_addrlen;
+ PWSTR ai_canonname;
+ struct sockaddr *ai_addr;
+ struct addrinfoW *ai_next;
+} ADDRINFOW, *PADDRINFOW;
+
+#ifdef UNICODE
+typedef ADDRINFOW ADDRINFOT,*PADDRINFOT;
+#else
+typedef ADDRINFOA ADDRINFOT,*PADDRINFOT;
+#endif
+
+typedef ADDRINFOA ADDRINFO, FAR *LPADDRINFO;
void WSAAPI freeaddrinfo (struct addrinfo*);
int WSAAPI getaddrinfo (const char*,const char*,const struct addrinfo*,
@@ -335,6 +357,17 @@
int WSAAPI getnameinfo(const struct sockaddr*,socklen_t,char*,DWORD,
char*,DWORD,int);
+#if (_WIN32_WINNT >= 0x0502)
+INT WSAAPI GetNameInfoW(const SOCKADDR*,socklen_t,PWCHAR,DWORD,PWCHAR,DWORD,INT);
+#define GetNameInfoA getnameinfo
+
+#ifdef UNICODE
+#define GetNameInfo GetNameInfoW
+#else
+#define GetNameInfo GetNameInfoA
+#endif /* UNICODE */
+
+#endif /* (_WIN32_WINNT >= 0x0502) */
/* Some older IPv4/IPv6 compatability stuff */