OSDN Git Service

Implement [#2072], [#2088], [#2089], [#2090], [#2091], [#2092] and [#2093].
authorEarnie Boyd <earnie@users.sourceforge.net>
Sun, 6 Oct 2013 16:28:24 +0000 (12:28 -0400)
committerEarnie Boyd <earnie@users.sourceforge.net>
Sun, 6 Oct 2013 16:28:24 +0000 (12:28 -0400)
ChangeLog
include/rpcasync.h
include/rpcdce.h
include/windows.h
include/winefs.h
include/winscard.h
include/winsock.h
include/winsock2.h

index 482c485..50c1965 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -12,6 +12,26 @@ RELEASE 4.1:
        * include/unknwn.h: Move the RPC headers before the file protection.
        [#2087] unknwn.h needs to include RPC headers before file filter.
 
+       * include/rpcasync.h: Restructure for proper use.
+       [#2072] rpcasync.h structures need filtered based on OS version.
+
+       * include/rpcdce.h: This file contained a mess.
+       [#2088] rpcdce.h has typos and syntax errors throughout.
+       [#2089] rpcdce.h is missing RPC_BINDING_HANDLE_OPTIONS_V1 structure.
+
+       * include/windows.h: Include basetyps.h for REFIID definition.
+       [#2090] Need basetyps.h in windows.h for shellapi.h use of REFIID.
+
+       * include/winefs.h: Fix a badly formed define.  Fix typo in use of
+       __API_VOID_DEPRECATED__.
+       [#2091] winefs.h has __API_DWORD_DEPRECATED__ incorrectly defined.
+
+       * include/winscard.h: SCARD_AIRMASK should be SCARD_ATRMASK.
+       [#2092] SCARD_AIRMASK should be SCARD_ATRMASK in winscard.h.
+
+       * include/winsock.h include/winsock2.h: Need timeval structure.
+       [#2093] Winsock.h and winsock2.h missing timeval structure.
+
 2013-10-02  Earnie Boyd  <earnie@users.sourceforge.net>
 
        [#2081] Neeed a __FORCEINLINE macro for better definition.
index fa9d742..9fd67e1 100644 (file)
@@ -49,18 +49,19 @@ typedef enum _RPC_NOTIFICATION_TYPES {
   RpcNotificationTypeCallback
 } RPC_NOTIFICATION_TYPES;
 
-#if !(_WIN32_WINNT >= _WIN32_WINNT_VISTA)
 typedef enum _RPC_ASYNC_EVENT {
-  RpcCallComplete,
-  RpcSendComplete,
-  RpcReceiveComplete,
-  RpcClientDisconnect
+   RpcCallComplete
+  ,RpcSendComplete
+  ,RpcReceiveComplete
+  ,RpcClientDisconnect
+#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
+  ,RpcClientCancel
+#endif
 } RPC_ASYNC_EVENT;
 
 #define RPC_CALL_ATTRIBUTES_VERSION 1
 #define RPC_QUERY_SERVER_PRINCIPAL_NAME 2
 #define RPC_QUERY_CLIENT_PRINCIPAL_NAME 4
-#endif
 
 struct _RPC_ASYNC_STATE;
 
@@ -156,7 +157,7 @@ typedef struct tagRPC_EE_INFO_PARAM {
 #define EEInfoUseFileTime             4
 #define EEInfoGCCOM                  11
 
-typedef struct tagRPC_EXTENDED_ERROR_INFO
+typedef struct tagRPC_EXTENDED_ERROR_INFO {
   ULONG Version;
   LPWSTR ComputerName;
   ULONG ProcessID;
@@ -232,13 +233,6 @@ typedef RPC_CALL_ATTRIBUTES_V1 RPC_CALL_ATTRIBUTES;
 #endif /* (_WIN32_WINNT >= _WIN32_WINNT_WINXP) */
 
 #if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
-typedef enum _RPC_ASYNC_EVENT {
-  RpcCallComplete,
-  RpcSendComplete,
-  RpcReceiveComplete,
-  RpcClientDisconnect,
-  RpcClientCancel
-} RPC_ASYNC_EVENT;
 
 #define RPC_CALL_STATUS_CANCELLED    0x01
 #define RPC_CALL_STATUS_DISCONNECTED 0x02
@@ -257,6 +251,19 @@ typedef enum tagRpcCallClientLocality {
   rcclClientUnknownLocality
 } RpcCallClientLocality;
 
+typedef enum tagRpcLocalAddressFormat {
+  rlafInvalid = 0,
+  rlafIPv4,
+  rlafIPv6
+} RpcLocalAddressFormat;
+
+typedef struct _RPC_CALL_LOCAL_ADDRESS_V1 {
+  unsigned int Version;
+  void *Buffer;
+  unsigned long BufferSize;
+  RpcLocalAddressFormat AddressFormat;
+} RPC_CALL_LOCAL_ADDRESS_V1, *PRPC_CALL_LOCAL_ADDRESS_V1;
+
 typedef struct tagRPC_CALL_ATTRIBUTES_V2_W {
   unsigned int Version;
   unsigned long Flags;
@@ -299,18 +306,7 @@ typedef struct tagRPC_CALL_ATTRIBUTES_V2_A {
   UUID InterfaceUuid;    
 } RPC_CALL_ATTRIBUTES_V2_A;
 
-typedef enum tagRpcLocalAddressFormat {
-  rlafInvalid = 0,
-  rlafIPv4,
-  rlafIPv6
-} RpcLocalAddressFormat;
-
-typedef struct _RPC_CALL_LOCAL_ADDRESS_V1 {
-  unsigned int Version;
-  void *Buffer;
-  unsigned long BufferSize;
-  RpcLocalAddressFormat AddressFormat;
-} RPC_CALL_LOCAL_ADDRESS_V1, *PRPC_CALL_LOCAL_ADDRESS_V1;
+#define RPC_CALL_ATTRIBUTES_V2 __AW(RPC_CALL_ATTRIBUTES_V2_)
 
 #define RPC_CALL_ATTRIBUTES_VERSION 2
 #define RPC_QUERY_SERVER_PRINCIPAL_NAME 0x02
index 9e1ade9..c41ab17 100644 (file)
@@ -352,7 +352,7 @@ typedef struct _RPC_HTTP_TRANSPORT_CREDENTIALS_A {
   unsigned long NumberOfAuthnSchemes;
   unsigned long *AuthnSchemes;
   RPC_CSTR ServerCertificateSubject;
-} RPC_HTTP_TRANSPORT_CREDENTIALS_A, *PRPC_HTTP_TRANSPORT_CREDENTIALS_A
+} RPC_HTTP_TRANSPORT_CREDENTIALS_A, *PRPC_HTTP_TRANSPORT_CREDENTIALS_A;
 
 typedef struct _RPC_HTTP_TRANSPORT_CREDENTIALS_W {
   SEC_WINNT_AUTH_IDENTITY_W *TrasportCredentials;
@@ -361,7 +361,7 @@ typedef struct _RPC_HTTP_TRANSPORT_CREDENTIALS_W {
   unsigned long NumberOfAuthnSchemes;
   unsigned long *AuthnSchemes;
   RPC_WSTR ServerCertificateSubject;
-} RPC_HTTP_TRANSPORT_CREDENTIALS_W, *PRPC_HTTP_TRANSPORT_CREDENTIALS_W
+} RPC_HTTP_TRANSPORT_CREDENTIALS_W, *PRPC_HTTP_TRANSPORT_CREDENTIALS_W;
 
 #define RPC_HTTP_TRANSPORT_CREDENTIALS __AW(RPC_HTTP_TRANSPORT_CREDENTIALS_)
 #define PRPC_HTTP_TRANSPORT_CREDENTIALS __AW(PRPC_HTTP_TRANSPORT_CREDENTIALS_)
@@ -374,9 +374,9 @@ typedef struct _RPC_SECURITY_QOS_V2_A {
   unsigned long ImpersonationType;
   unsigned long AdditionalSecurityInfoType;
   union {
-    RPC_HTTP_TRANSPORT_CREDENITIALS_A *HttpCredentials;
-  } u
-} RPC_SECURITY_QOS_V2_A *PRPC_SECURITY_QOS_V2_A;
+    RPC_HTTP_TRANSPORT_CREDENTIALS_A *HttpCredentials;
+  } u;
+} RPC_SECURITY_QOS_V2_A, *PRPC_SECURITY_QOS_V2_A;
 
 typedef struct _RPC_SECURITY_QOS_V2_W {
   unsigned long Version;
@@ -385,9 +385,9 @@ typedef struct _RPC_SECURITY_QOS_V2_W {
   unsigned long ImpersonationType;
   unsigned long AdditionalSecurityInfoType;
   union {
-    RPC_HTTP_TRANSPORT_CREDENITIALS_W *HttpCredentials;
-  } u
-} RPC_SECURITY_QOS_V2_W *PRPC_SECURITY_QOS_V2_W;
+    RPC_HTTP_TRANSPORT_CREDENTIALS_W *HttpCredentials;
+  } u;
+} RPC_SECURITY_QOS_V2_W, *PRPC_SECURITY_QOS_V2_W;
 
 #define RPC_SECURITY_QOS_V2 __AW(RPC_SECURITY_QOS_V2_)
 #define PRPC_SECURITY_QOS_V2 __AW(PRPC_SECURITY_QOS_V2_)
@@ -409,10 +409,10 @@ typedef struct _RPC_SECURITY_QOS_V3_A {
   unsigned long ImpersonationType;
   unsigned long AdditionalSecurityInfoType;
   union {
-    RPC_HTTP_TRANSPORT_CREDENITIALS_A *HttpCredentials;
-  } u
+    RPC_HTTP_TRANSPORT_CREDENTIALS_A *HttpCredentials;
+  } u;
   void *Sid;
-} RPC_SECURITY_QOS_V3_A *PRPC_SECURITY_QOS_V3_A;
+} RPC_SECURITY_QOS_V3_A, *PRPC_SECURITY_QOS_V3_A;
 
 typedef struct _RPC_SECURITY_QOS_V3_W {
   unsigned long Version;
@@ -421,10 +421,10 @@ typedef struct _RPC_SECURITY_QOS_V3_W {
   unsigned long ImpersonationType;
   unsigned long AdditionalSecurityInfoType;
   union {
-    RPC_HTTP_TRANSPORT_CREDENITIALS_W *HttpCredentials;
-  } u
+    RPC_HTTP_TRANSPORT_CREDENTIALS_W *HttpCredentials;
+  } u;
   void *Sid;
-} RPC_SECURITY_QOS_V3_W *PRPC_SECURITY_QOS_V3_W;
+} RPC_SECURITY_QOS_V3_W, *PRPC_SECURITY_QOS_V3_W;
 
 #define RPC_SECURITY_QOS_V3 __AW(RPC_SECURITY_QOS_V3_)
 #define PRPC_SECURITY_QOS_V3 __AW(PRPC_SECURITY_QOS_V3_)
@@ -436,7 +436,7 @@ typedef enum _RPC_HTTP_REDIRECTOR_STAGE {
   RPCHTTP_RS_SESSION,
   RPCHTTP_RS_ACCESS_2,
   RPCHTTP_RS_INTERFACE
-} RPC_HTTP_REDIRECTORY_STAGE;
+} RPC_HTTP_REDIRECTOR_STAGE;
 
 typedef RPC_STATUS (__RPC_USER * RPC_NEW_HTTP_PROXY_CHANNEL) (
   RPC_HTTP_REDIRECTOR_STAGE RedirectorStage,
@@ -478,7 +478,7 @@ typedef struct _RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A {
   SEC_WINNT_AUTH_IDENTITY_A *ProxyCredentials;
   unsigned long NumberOfProxyAuthnSchemes;
   unsigned long *ProxyAuthnSchemes;
-} RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A, *PRPC_HTTP_TRANSPORT_CREDENTIALS_V2_A
+} RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A, *PRPC_HTTP_TRANSPORT_CREDENTIALS_V2_A;
 
 typedef struct _RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W {
   SEC_WINNT_AUTH_IDENTITY_W *TrasportCredentials;
@@ -490,7 +490,7 @@ typedef struct _RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W {
   SEC_WINNT_AUTH_IDENTITY_W *ProxyCredentials;
   unsigned long NumberOfProxyAuthnSchemes;
   unsigned long *ProxyAuthnSchemes;
-} RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W, *PRPC_HTTP_TRANSPORT_CREDENTIALS_V2_W
+} RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W, *PRPC_HTTP_TRANSPORT_CREDENTIALS_V2_W;
 
 #define RPC_HTTP_TRANSPORT_CREDENTIALS_V2 __AW(RPC_HTTP_TRANSPORT_CREDENTIALS_V2_)
 #define PRPC_HTTP_TRANSPORT_CREDENTIALS_V2 __AW(PRPC_HTTP_TRANSPORT_CREDENTIALS_V2_)
@@ -503,11 +503,11 @@ typedef struct _RPC_SECURITY_QOS_V4_A {
   unsigned long ImpersonationType;
   unsigned long AdditionalSecurityInfoType;
   union {
-    RPC_HTTP_TRANSPORT_CREDENITIALS_A *HttpCredentials;
-  } u
+    RPC_HTTP_TRANSPORT_CREDENTIALS_A *HttpCredentials;
+  } u;
   void *Sid;
   unsigned int EffectiveOnly;
-} RPC_SECURITY_QOS_V4_A *PRPC_SECURITY_QOS_V4_A;
+} RPC_SECURITY_QOS_V4_A, *PRPC_SECURITY_QOS_V4_A;
 
 typedef struct _RPC_SECURITY_QOS_V4_W {
   unsigned long Version;
@@ -516,11 +516,11 @@ typedef struct _RPC_SECURITY_QOS_V4_W {
   unsigned long ImpersonationType;
   unsigned long AdditionalSecurityInfoType;
   union {
-    RPC_HTTP_TRANSPORT_CREDENITIALS_W *HttpCredentials;
-  } u
+    RPC_HTTP_TRANSPORT_CREDENTIALS_W *HttpCredentials;
+  } u;
   void *Sid;
   unsigned int EffectiveOnly;
-} RPC_SECURITY_QOS_V4_W *PRPC_SECURITY_QOS_V4_W;
+} RPC_SECURITY_QOS_V4_W, *PRPC_SECURITY_QOS_V4_W;
 
 #define RPC_SECURITY_QOS_V4 __AW(RPC_SECURITY_QOS_V4_)
 #define PRPC_SECURITY_QOS_V4 __AW(PRPC_SECURITY_QOS_V4_)
@@ -538,7 +538,7 @@ typedef struct _RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A {
   RPC_AUTH_IDENTITY_HANDLE ProxyCredentials;
   unsigned long NumberOfProxyAuthnSchemes;
   unsigned long *ProxyAuthnSchemes;
-} RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A, *PRPC_HTTP_TRANSPORT_CREDENTIALS_V3_A
+} RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A, *PRPC_HTTP_TRANSPORT_CREDENTIALS_V3_A;
 
 typedef struct _RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W {
   SEC_WINNT_AUTH_IDENTITY_W *TrasportCredentials;
@@ -550,7 +550,7 @@ typedef struct _RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W {
   RPC_AUTH_IDENTITY_HANDLE ProxyCredentials;
   unsigned long NumberOfProxyAuthnSchemes;
   unsigned long *ProxyAuthnSchemes;
-} RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W, *PRPC_HTTP_TRANSPORT_CREDENTIALS_V3_W
+} RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W, *PRPC_HTTP_TRANSPORT_CREDENTIALS_V3_W;
 
 #define RPC_HTTP_TRANSPORT_CREDENTIALS_V3 __AW(RPC_HTTP_TRANSPORT_CREDENTIALS_V3_)
 #define PRPC_HTTP_TRANSPORT_CREDENTIALS_V3 __AW(PRPC_HTTP_TRANSPORT_CREDENTIALS_V3_)
@@ -834,7 +834,7 @@ typedef struct _RPC_BINDING_HANDLE_TEMPLATE_V1_A {
   union {
     unsigned short *Reserved;
   } u1;
-  UUID Object Uuid;
+  UUID ObjectUuid;
 } RPC_BINDING_HANDLE_TEMPLATE_V1_A, *PRPC_BINDING_HANDLE_TEMPLATE_V1_A;
 
 typedef struct _RPC_BINDING_HANDLE_TEMPLATE_V1_W {
@@ -846,7 +846,7 @@ typedef struct _RPC_BINDING_HANDLE_TEMPLATE_V1_W {
   union {
     unsigned short *Reserved;
   } u1;
-  UUID Object Uuid;
+  UUID ObjectUuid;
 } RPC_BINDING_HANDLE_TEMPLATE_V1_W, *PRPC_BINDING_HANDLE_TEMPLATE_V1_W;
 
 #define RPC_BINDING_HANDLE_TEMPLATE_V1 __AW(RPC_BINDING_HANDLE_TEMPLATE_V1_)
@@ -877,6 +877,13 @@ typedef struct _RPC_BINDING_HANDLE_SECURITY_V1_W {
 #define PRPC_BINDING_HANDLE_SECURITY_V1 __AW(PRPC_BINDING_HANDLE_SECURITY_V1_)
 #define _RPC_BINDING_HANDLE_SECURITY_V1 __AW(_RPC_BINDING_HANDLE_SECURITY_V1_)
 
+typedef struct _RPC_BINDING_HANDLE_OPTIONS_V1 {
+  unsigned long Version;
+  unsigned long Flags;
+  unsigned long ComTimeout;
+  unsigned long CallTimeout;
+} RPC_BINDING_HANDLE_OPTIONS_V1, RPC_BINDING_HANDLE_OPTIONS;
+
 #ifdef _AUTH_IDENTITY_A_DEFINED
 ___RPC_ENTRY__ RpcBindingCreateA(RPC_BINDING_HANDLE_TEMPLATE_V1_A *, RPC_BINDING_HANDLE_SECURITY_V1_A *, RPC_BINDING_HANDLE_OPTIONS_V1 *, RPC_BINDING_HANDLE *);
 #endif /* def _AUTH_IDENTITY_A_DEFINED */
index c171f84..bbf4836 100644 (file)
@@ -76,6 +76,7 @@
 #include <mmsystem.h>
 #include <nb30.h>
 #include <rpc.h>
+#include <basetyps.h>
 #include <shellapi.h>
 #include <winperf.h>
 #include <winsock.h>
index a77e46f..12a5654 100644 (file)
@@ -33,7 +33,7 @@ extern "C" {
 #define ___API_DWORD__ WINADVAPI DWORD WINAPI
 #define ___API_BOOL__  WINADVAPI BOOL  WINAPI
 #define ___API_VOID__  WINADVAPI VOID  WINAPI
-#define ___API_DWORD_DEPRECATED__ __MINGW_DEPRECATED (WINADVAPI DWORD WINAPI)
+#define ___API_DWORD_DEPRECATED__ __MINGW_DEPRECATED WINADVAPI DWORD WINAPI
 #define ___API_VOID_DEPRECATED__  __MINGW_DEPRECATED WINADVAPI VOID  WINAPI
 
 #if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
@@ -186,7 +186,7 @@ ___API_DWORD__ SetUserFileEncryptionKeyEx(PENCRYPTION_CERTIFICATE, DWORD, DWORD,
 
 ___API_DWORD_DEPRECATED__ GetEncryptedFileMetadata(LPCWSTR, PDWORD, PBYTE);
 ___API_DWORD_DEPRECATED__ SetEncryptedFileMetadata(LPCWSTR, PBYTE, PBYTE, PENCRYPTION_CERTIFICATE_HASH, DWORD, PENCRYPTION_CERTIFICATE_HASH_LIST);
-___API_VOID_DEPRICATED__  FreeEncryptedFileMetadata(PBYTE);
+___API_VOID_DEPRECATED__  FreeEncryptedFileMetadata(PBYTE);
 
 #endif /* (_WIN32_WINNT >= _WIN32_WINNT_VISTA) */
 
index e056abf..32508cd 100644 (file)
@@ -410,14 +410,14 @@ ___EAPI_LONG__ SCardDlgExtendedError(void);
 ___EAPI_HANDLE__ SCardAccessStartedEvent(void);
 ___EAPI_VOID__ SCardReleaseStartedEvent(void);
 
-typedef struct _SCARD_AIRMASK {
+typedef struct _SCARD_ATRMASK {
   DWORD cbAtr;
   BYTE  rgbAtr[36];
   BYTE  rgbMask[36];
-} SCARD_AIRMASK, *PSCARD_AIRMASK, *LPSCARD_AIRMASK;
+} SCARD_ATRMASK, *PSCARD_ATRMASK, *LPSCARD_ATRMASK;
 
-___EAPI_LONG__ SCardLocateCardsByATRA(SCARDCONTEXT, LPSCARD, DWORD, LPSCARD_READERSTATEA, DWORD);
-___EAPI_LONG__ SCardLocateCardsByATRW(SCARDCONTEXT, LPSCARD, DWORD, LPSCARD_READERSTATEW, DWORD);
+___EAPI_LONG__ SCardLocateCardsByATRA(SCARDCONTEXT, LPSCARD_ATRMASK, DWORD, LPSCARD_READERSTATEA, DWORD);
+___EAPI_LONG__ SCardLocateCardsByATRW(SCARDCONTEXT, LPSCARD_ATRMASK, DWORD, LPSCARD_READERSTATEW, DWORD);
 #define SCardLocateCardsByATR __AW(SCardLocateCardsByATR)
 #endif /* (_WIN32_WINNT >= _WIN32_WINNT_WINXP) */
 
index 5f1241b..60d1766 100644 (file)
@@ -42,6 +42,7 @@
 #define _GNU_H_WINDOWS32_SOCKETS
 
 #include <windows.h>
+#include <sys/time.h>
 
 #ifdef __cplusplus
 extern "C" {
index 33232f7..f206b84 100644 (file)
@@ -38,6 +38,7 @@
 #define _GNU_H_WINDOWS32_SOCKETS
 
 #include <windows.h>
+#include <sys/time.h>
 
 #ifndef WINSOCK_API_LINKAGE
 #ifdef __W32API_USE_DLLIMPORT__