[PSDK]
authorAmine Khaldi <amine.khaldi@reactos.org>
Mon, 10 Dec 2012 14:54:25 +0000 (14:54 +0000)
committerAmine Khaldi <amine.khaldi@reactos.org>
Mon, 10 Dec 2012 14:54:25 +0000 (14:54 +0000)
* Update some headers.

svn path=/trunk/; revision=57863

reactos/include/psdk/wincred.h
reactos/include/psdk/winnt.h
reactos/include/psdk/winsvc.h
reactos/include/reactos/idl/svcctl.idl

index e263644..d0a75a7 100644 (file)
 extern "C" {
 #endif
 
+#ifdef _ADVAPI32_
+#define WINADVAPI
+#else
+#define WINADVAPI DECLSPEC_IMPORT
+#endif
+
 #ifndef __SECHANDLE_DEFINED__
 #define __SECHANDLE_DEFINED__
 typedef struct _SecHandle
@@ -32,8 +38,11 @@ typedef struct _SecHandle
 } SecHandle, *PSecHandle;
 #endif
 
+#ifndef __WINE_CTXTHANDLE_DEFINED__
+#define __WINE_CTXTHANDLE_DEFINED__
 typedef SecHandle CtxtHandle;
 typedef PSecHandle PCtxtHandle;
+#endif
 
 typedef struct _CREDENTIAL_ATTRIBUTEA
 {
@@ -89,30 +98,8 @@ typedef struct _CREDENTIALW
 DECL_WINELIB_TYPE_AW(CREDENTIAL)
 DECL_WINELIB_TYPE_AW(PCREDENTIAL)
 
-typedef struct _CREDUI_INFOA
-{
-    DWORD cbSize;
-    HWND hwndParent;
-    PCSTR pszMessageText;
-    PCSTR pszCaptionText;
-    HBITMAP hbmBanner;
-} CREDUI_INFOA, *PCREDUI_INFOA;
-
-typedef struct _CREDUI_INFOW
+typedef struct _CREDENTIAL_TARGET_INFORMATIONA
 {
-    DWORD cbSize;
-    HWND hwndParent;
-    PCWSTR pszMessageText;
-    PCWSTR pszCaptionText;
-    HBITMAP hbmBanner;
-} CREDUI_INFOW, *PCREDUI_INFOW;
-
-typedef enum _CRED_MARSHAL_TYPE {
-    CertCredential = 1,
-    UsernameTargetCredential
-} CRED_MARSHAL_TYPE, *PCRED_MARSHAL_TYPE;
-
-typedef struct _CREDENTIAL_TARGET_INFORMATIONA {
     LPSTR TargetName;
     LPSTR NetbiosServerName;
     LPSTR DnsServerName;
@@ -120,12 +107,13 @@ typedef struct _CREDENTIAL_TARGET_INFORMATIONA {
     LPSTR DnsDomainName;
     LPSTR DnsTreeName;
     LPSTR PackageName;
-    ULONG Flags;
+    DWORD Flags;
     DWORD CredTypeCount;
     LPDWORD CredTypes;
 } CREDENTIAL_TARGET_INFORMATIONA, *PCREDENTIAL_TARGET_INFORMATIONA;
 
-typedef struct _CREDENTIAL_TARGET_INFORMATIONW {
+typedef struct _CREDENTIAL_TARGET_INFORMATIONW
+{
     LPWSTR TargetName;
     LPWSTR NetbiosServerName;
     LPWSTR DnsServerName;
@@ -133,22 +121,61 @@ typedef struct _CREDENTIAL_TARGET_INFORMATIONW {
     LPWSTR DnsDomainName;
     LPWSTR DnsTreeName;
     LPWSTR PackageName;
-    ULONG Flags;
+    DWORD Flags;
     DWORD CredTypeCount;
     LPDWORD CredTypes;
 } CREDENTIAL_TARGET_INFORMATIONW, *PCREDENTIAL_TARGET_INFORMATIONW;
 
-#ifdef UNICODE
-typedef CREDENTIAL_TARGET_INFORMATIONW CREDENTIAL_TARGET_INFORMATION;
-typedef PCREDENTIAL_TARGET_INFORMATIONW PCREDENTIAL_TARGET_INFORMATION;
-#else
-typedef CREDENTIAL_TARGET_INFORMATIONA CREDENTIAL_TARGET_INFORMATION;
-typedef PCREDENTIAL_TARGET_INFORMATIONA PCREDENTIAL_TARGET_INFORMATION;
-#endif /* UNICODE */
+DECL_WINELIB_TYPE_AW(CREDENTIAL_TARGET_INFORMATION)
+DECL_WINELIB_TYPE_AW(PCREDENTIAL_TARGET_INFORMATION)
+
+typedef struct _CREDUI_INFOA
+{
+    DWORD cbSize;
+    HWND hwndParent;
+    PCSTR pszMessageText;
+    PCSTR pszCaptionText;
+    HBITMAP hbmBanner;
+} CREDUI_INFOA, *PCREDUI_INFOA;
+
+typedef struct _CREDUI_INFOW
+{
+    DWORD cbSize;
+    HWND hwndParent;
+    PCWSTR pszMessageText;
+    PCWSTR pszCaptionText;
+    HBITMAP hbmBanner;
+} CREDUI_INFOW, *PCREDUI_INFOW;
 
 DECL_WINELIB_TYPE_AW(CREDUI_INFO)
 DECL_WINELIB_TYPE_AW(PCREDUI_INFO)
 
+typedef enum _CRED_MARSHAL_TYPE
+{
+    CertCredential = 1,
+    UsernameTargetCredential,
+    BinaryBlobCredential
+} CRED_MARSHAL_TYPE, *PCRED_MARSHAL_TYPE;
+
+#define CERT_HASH_LENGTH    20
+
+typedef struct _CERT_CREDENTIAL_INFO
+{
+    ULONG cbSize;
+    UCHAR rgbHashOfCert[CERT_HASH_LENGTH];
+} CERT_CREDENTIAL_INFO, *PCERT_CREDENTIAL_INFO;
+
+typedef struct _USERNAME_TARGET_CREDENTIAL_INFO
+{
+    LPWSTR UserName;
+} USERNAME_TARGET_CREDENTIAL_INFO;
+
+typedef struct _BINARY_BLOB_CREDENTIAL_INFO
+{
+    ULONG cbBlob;
+    LPBYTE pbBlob;
+} BINARY_BLOB_CREDENTIAL_INFO, *PBINARY_BLOB_CREDENTIAL_INFO;
+
 #define CRED_MAX_STRING_LENGTH              256
 #define CRED_MAX_USERNAME_LENGTH            513
 #define CRED_MAX_GENERIC_TARGET_NAME_LENGTH 32767
@@ -177,7 +204,9 @@ DECL_WINELIB_TYPE_AW(PCREDUI_INFO)
 #define CRED_TYPE_DOMAIN_PASSWORD                   2
 #define CRED_TYPE_DOMAIN_CERTIFICATE                3
 #define CRED_TYPE_DOMAIN_VISIBLE_PASSWORD           4
-#define CRED_TYPE_MAXIMUM                           5
+#define CRED_TYPE_GENERIC_CERTIFICATE               5
+#define CRED_TYPE_MAXIMUM                           6
+#define CRED_TYPE_MAXIMUM_EX                        (CRED_TYPE_MAXIMUM+1000)
 
 /* values for CREDENTIAL::Persist */
 #define CRED_PERSIST_NONE                           0
@@ -185,6 +214,11 @@ DECL_WINELIB_TYPE_AW(PCREDUI_INFO)
 #define CRED_PERSIST_LOCAL_MACHINE                  2
 #define CRED_PERSIST_ENTERPRISE                     3
 
+/* values for CREDENTIAL_TARGET_INFORMATION::Flags */
+#define CRED_TI_SERVER_FORMAT_UNKNOWN               1
+#define CRED_TI_DOMAIN_FORMAT_UNKNOWN               2
+#define CRED_TI_ONLY_PASSWORD_REQUIRED              4
+
 #define CREDUI_FLAGS_INCORRECT_PASSWORD             0x00000001
 #define CREDUI_FLAGS_DO_NOT_PERSIST                 0x00000002
 #define CREDUI_FLAGS_REQUEST_ADMINISTRATOR          0x00000004
@@ -206,22 +240,35 @@ DECL_WINELIB_TYPE_AW(PCREDUI_INFO)
 /* flags for CredWrite and CredWriteDomainCredentials */
 #define CRED_PRESERVE_CREDENTIAL_BLOB               0x00000001
 
-BOOL  WINAPI CredDeleteA(LPCSTR,DWORD,DWORD);
-BOOL  WINAPI CredDeleteW(LPCWSTR,DWORD,DWORD);
-#define      CredDelete WINELIB_NAME_AW(CredDelete)
-BOOL  WINAPI CredEnumerateA(LPCSTR,DWORD,DWORD *,PCREDENTIALA **);
-BOOL  WINAPI CredEnumerateW(LPCWSTR,DWORD,DWORD *,PCREDENTIALW **);
-#define      CredEnumerate WINELIB_NAME_AW(CredEnumerate)
-VOID  WINAPI CredFree(PVOID);
-BOOL  WINAPI CredReadA(LPCSTR,DWORD,DWORD,PCREDENTIALA *);
-BOOL  WINAPI CredReadW(LPCWSTR,DWORD,DWORD,PCREDENTIALW *);
-#define      CredRead WINELIB_NAME_AW(CredRead)
-BOOL  WINAPI CredRenameA(LPCSTR,LPCSTR,DWORD,DWORD);
-BOOL  WINAPI CredRenameW(LPCWSTR,LPCWSTR,DWORD,DWORD);
-#define      CredRename WINELIB_NAME_AW(CredRename)
-BOOL  WINAPI CredWriteA(PCREDENTIALA,DWORD);
-BOOL  WINAPI CredWriteW(PCREDENTIALW,DWORD);
-#define      CredWrite WINELIB_NAME_AW(CredWrite)
+WINADVAPI BOOL  WINAPI CredDeleteA(LPCSTR,DWORD,DWORD);
+WINADVAPI BOOL  WINAPI CredDeleteW(LPCWSTR,DWORD,DWORD);
+#define                CredDelete WINELIB_NAME_AW(CredDelete)
+WINADVAPI BOOL  WINAPI CredEnumerateA(LPCSTR,DWORD,DWORD *,PCREDENTIALA **);
+WINADVAPI BOOL  WINAPI CredEnumerateW(LPCWSTR,DWORD,DWORD *,PCREDENTIALW **);
+#define                CredEnumerate WINELIB_NAME_AW(CredEnumerate)
+WINADVAPI VOID  WINAPI CredFree(PVOID);
+WINADVAPI BOOL  WINAPI CredGetSessionTypes(DWORD,LPDWORD);
+WINADVAPI BOOL  WINAPI CredIsMarshaledCredentialA(LPCSTR);
+WINADVAPI BOOL  WINAPI CredIsMarshaledCredentialW(LPCWSTR);
+#define                CredIsMarshaledCredential WINELIB_NAME_AW(CredIsMarshaledCredential)
+WINADVAPI BOOL  WINAPI CredMarshalCredentialA(CRED_MARSHAL_TYPE,PVOID,LPSTR *);
+WINADVAPI BOOL  WINAPI CredMarshalCredentialW(CRED_MARSHAL_TYPE,PVOID,LPWSTR *);
+#define                CredMarshalCredential WINELIB_NAME_AW(CredMarshalCredential)
+WINADVAPI BOOL  WINAPI CredReadA(LPCSTR,DWORD,DWORD,PCREDENTIALA *);
+WINADVAPI BOOL  WINAPI CredReadW(LPCWSTR,DWORD,DWORD,PCREDENTIALW *);
+#define                CredRead WINELIB_NAME_AW(CredRead)
+WINADVAPI BOOL  WINAPI CredReadDomainCredentialsA(PCREDENTIAL_TARGET_INFORMATIONA,DWORD,DWORD *,PCREDENTIALA **);
+WINADVAPI BOOL  WINAPI CredReadDomainCredentialsW(PCREDENTIAL_TARGET_INFORMATIONW,DWORD,DWORD *,PCREDENTIALW **);
+#define                CredReadDomainCredentials WINELIB_NAME_AW(CredReadDomainCredentials)
+WINADVAPI BOOL  WINAPI CredRenameA(LPCSTR,LPCSTR,DWORD,DWORD);
+WINADVAPI BOOL  WINAPI CredRenameW(LPCWSTR,LPCWSTR,DWORD,DWORD);
+#define                CredRename WINELIB_NAME_AW(CredRename)
+WINADVAPI BOOL  WINAPI CredUnmarshalCredentialA(LPCSTR,PCRED_MARSHAL_TYPE,PVOID *);
+WINADVAPI BOOL  WINAPI CredUnmarshalCredentialW(LPCWSTR,PCRED_MARSHAL_TYPE,PVOID *);
+#define                CredUnmarshalCredential WINELIB_NAME_AW(CredUnmarshalCredential)
+WINADVAPI BOOL  WINAPI CredWriteA(PCREDENTIALA,DWORD);
+WINADVAPI BOOL  WINAPI CredWriteW(PCREDENTIALW,DWORD);
+#define                CredWrite WINELIB_NAME_AW(CredWrite)
 
 DWORD WINAPI CredUICmdLinePromptForCredentialsW(PCWSTR,PCtxtHandle,DWORD,PWSTR,ULONG,PWSTR,ULONG,PBOOL,DWORD);
 DWORD WINAPI CredUICmdLinePromptForCredentialsA(PCSTR,PCtxtHandle,DWORD,PSTR,ULONG,PSTR,ULONG,PBOOL,DWORD);
@@ -240,23 +287,6 @@ DWORD WINAPI CredUIStoreSSOCredW(PCWSTR,PCWSTR,PCWSTR,BOOL);
 DWORD WINAPI CredUIReadSSOCredW(PCWSTR,PWSTR*);
 /* Note: no CredUIReadSSOCredA in PSDK header */
 
-BOOL WINAPI CredReadDomainCredentialsW(PCREDENTIAL_TARGET_INFORMATIONW TargetInfo, DWORD Flags, DWORD *Count, PCREDENTIALW **Credential);
-BOOL WINAPI CredReadDomainCredentialsA(PCREDENTIAL_TARGET_INFORMATIONA TargetInfo, DWORD Flags, DWORD *Count, PCREDENTIALA **Credential);
-BOOL WINAPI CredWriteDomainCredentialsW(PCREDENTIAL_TARGET_INFORMATIONW TargetInfo, PCREDENTIALW Credential, DWORD Flags);
-BOOL WINAPI CredWriteDomainCredentialsA(PCREDENTIAL_TARGET_INFORMATIONA TargetInfo, PCREDENTIALA Credential, DWORD Flags);
-BOOL WINAPI CredUnmarshalCredentialW(LPCWSTR MarshaledCredential, PCRED_MARSHAL_TYPE CredType, PVOID *Credential);
-BOOL WINAPI CredUnmarshalCredentialA(LPCSTR MarshaledCredential, PCRED_MARSHAL_TYPE CredType, PVOID *Credential);
-
-#ifdef UNICODE
-#define CredReadDomainCredentials CredReadDomainCredentialsW
-#define CredWriteDomainCredentials CredWriteDomainCredentialsW
-#define CredUnmarshalCredential CredUnmarshalCredentialW
-#else
-#define CredReadDomainCredentials CredReadDomainCredentialsA
-#define CredWriteDomainCredentials CredWriteDomainCredentialsA
-#define CredUnmarshalCredential CredUnmarshalCredentialA
-#endif /* UNICODE */
-
 #ifdef __cplusplus
 }
 #endif
index 9cebd20..ae16f23 100644 (file)
@@ -931,13 +931,17 @@ typedef enum {
 #define SE_MANAGE_VOLUME_NAME  TEXT("SeManageVolumePrivilege")
 #define SE_IMPERSONATE_NAME    TEXT("SeImpersonatePrivilege")
 #define SE_CREATE_GLOBAL_NAME  TEXT("SeCreateGlobalPrivilege")
-#define SE_GROUP_MANDATORY 1
-#define SE_GROUP_ENABLED_BY_DEFAULT 2
-#define SE_GROUP_ENABLED 4
-#define SE_GROUP_OWNER 8
-#define SE_GROUP_USE_FOR_DENY_ONLY 16
-#define SE_GROUP_LOGON_ID 3221225472U
-#define SE_GROUP_RESOURCE 536870912
+
+#define SE_GROUP_MANDATORY          0x00000001
+#define SE_GROUP_ENABLED_BY_DEFAULT 0x00000002
+#define SE_GROUP_ENABLED            0x00000004
+#define SE_GROUP_OWNER              0x00000008
+#define SE_GROUP_USE_FOR_DENY_ONLY  0x00000010
+#define SE_GROUP_INTEGRITY          0x00000020
+#define SE_GROUP_INTEGRITY_ENABLED  0x00000040
+#define SE_GROUP_LOGON_ID           0xC0000000
+#define SE_GROUP_RESOURCE           0x20000000
+#define SE_GROUP_VALID_ATTRIBUTES   0xE000007F
 
 /*
  * Product types
@@ -3481,6 +3485,10 @@ typedef enum _TOKEN_ELEVATION_TYPE {
     TokenElevationTypeLimited,
 } TOKEN_ELEVATION_TYPE, *PTOKEN_ELEVATION_TYPE;
 
+typedef struct _TOKEN_MANDATORY_LABEL {
+  SID_AND_ATTRIBUTES Label;
+} TOKEN_MANDATORY_LABEL, * PTOKEN_MANDATORY_LABEL;
+
 #include <pshpack4.h>
 typedef struct _TOKEN_STATISTICS {
   LUID TokenId;
index 8a66503..a0a82bf 100644 (file)
@@ -61,8 +61,24 @@ extern "C" {
 #define SERVICE_USER_DEFINED_CONTROL 256
 #define SERVICE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SERVICE_QUERY_CONFIG|SERVICE_CHANGE_CONFIG|SERVICE_QUERY_STATUS|SERVICE_ENUMERATE_DEPENDENTS|SERVICE_START|SERVICE_STOP|SERVICE_PAUSE_CONTINUE|SERVICE_INTERROGATE|SERVICE_USER_DEFINED_CONTROL)
 #define SERVICE_RUNS_IN_SYSTEM_PROCESS 1
-#define SERVICE_CONFIG_DESCRIPTION     1
-#define SERVICE_CONFIG_FAILURE_ACTIONS 2
+
+#define SERVICE_CONFIG_DESCRIPTION              1
+#define SERVICE_CONFIG_FAILURE_ACTIONS          2
+#define SERVICE_CONFIG_DELAYED_AUTO_START_INFO  3
+#define SERVICE_CONFIG_FAILURE_ACTIONS_FLAG     4
+#define SERVICE_CONFIG_SERVICE_SID_INFO         5
+#define SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO 6
+#define SERVICE_CONFIG_PRESHUTDOWN_INFO         7
+#define SERVICE_CONFIG_TRIGGER_INFO             8
+#define SERVICE_CONFIG_PREFERRED_NODE           9
+#define SERVICE_CONFIG_RUNLEVEL_INFO            10
+
+#ifndef _SERVICE_PRESHUTDOWN_INFO_DEFINED_
+#define _SERVICE_PRESHUTDOWN_INFO_DEFINED_
+typedef struct _SERVICE_PRESHUTDOWN_INFO {
+    DWORD dwPreshutdownTimeout;
+} SERVICE_PRESHUTDOWN_INFO, *LPSERVICE_PRESHUTDOWN_INFO;
+#endif
 
 typedef struct _SERVICE_STATUS {
        DWORD dwServiceType;
index a678bdc..1160293 100644 (file)
@@ -174,9 +174,12 @@ typedef struct _SERVICE_RPC_REQUIRED_PRIVILEGES_INFO {
     [size_is(cbRequiredPrivileges)] PBYTE pRequiredPrivileges;
 } SERVICE_RPC_REQUIRED_PRIVILEGES_INFO, *LPSERVICE_RPC_REQUIRED_PRIVILEGES_INFO;
 
+cpp_quote("#ifndef _SERVICE_PRESHUTDOWN_INFO_DEFINED_")
+cpp_quote("#define _SERVICE_PRESHUTDOWN_INFO_DEFINED_")
 typedef struct _SERVICE_PRESHUTDOWN_INFO {
     DWORD dwPreshutdownTimeout;
 } SERVICE_PRESHUTDOWN_INFO, *LPSERVICE_PRESHUTDOWN_INFO;
+cpp_quote("#endif")
 
 typedef struct _SC_RPC_CONFIG_INFOA {
     DWORD dwInfoLevel;