Add missing types to NDK Modified: trunk/reactos/include/ndk/rtlfuncs.h Modified: trunk/reactos/include/ndk/umtypes.h Modified: trunk/reactos/include/ndk/zwtypes.h _____
Modified: trunk/reactos/include/ndk/rtlfuncs.h --- trunk/reactos/include/ndk/rtlfuncs.h 2005-06-20 18:48:32 UTC (rev 16158) +++ trunk/reactos/include/ndk/rtlfuncs.h 2005-06-20 18:54:47 UTC (rev 16159) @@ -328,7 +328,69 @@
ACCESS_MASK AccessMask, PSID Sid ); - + +NTSTATUS +STDCALL +RtlAddAccessAllowedAceEx( + IN OUT PACL pAcl, + IN DWORD dwAceRevision, + IN DWORD AceFlags, + IN DWORD AccessMask, + IN PSID pSid +); + +NTSTATUS +STDCALL +RtlAddAccessDeniedAce( + PACL Acl, + ULONG Revision, + ACCESS_MASK AccessMask, + PSID Sid +); + +NTSTATUS +STDCALL +RtlAddAccessDeniedAceEx( + IN OUT PACL Acl, + IN ULONG Revision, + IN ULONG Flags, + IN ACCESS_MASK AccessMask, + IN PSID Sid +); + +NTSTATUS +STDCALL +RtlAddAuditAccessAceEx( + IN OUT PACL Acl, + IN ULONG Revision, + IN ULONG Flags, + IN ACCESS_MASK AccessMask, + IN PSID Sid, + IN BOOLEAN Success, + IN BOOLEAN Failure +); + +NTSTATUS +STDCALL +RtlAddAce( + PACL Acl, + ULONG Revision, + ULONG StartingIndex, + PACE AceList, + ULONG AceListLength +); + +NTSTATUS +STDCALL +RtlAddAuditAccessAce( + PACL Acl, + ULONG Revision, + ACCESS_MASK AccessMask, + PSID Sid, + BOOLEAN Success, + BOOLEAN Failure +); + NTSTATUS STDCALL RtlAllocateAndInitializeSid( @@ -345,6 +407,20 @@ OUT PSID *Sid );
+BOOLEAN +STDCALL +RtlAreAllAccessesGranted( + ACCESS_MASK GrantedAccess, + ACCESS_MASK DesiredAccess +); + +BOOLEAN +STDCALL +RtlAreAnyAccessesGranted( + ACCESS_MASK GrantedAccess, + ACCESS_MASK DesiredAccess +); + VOID STDCALL RtlCopyLuid( @@ -410,6 +486,20 @@ ULONG Revision );
+NTSTATUS +STDCALL +RtlDeleteAce( + PACL Acl, + ULONG AceIndex +); + +BOOLEAN +STDCALL +RtlEqualPrefixSid( + PSID Sid1, + PSID Sid2 +); + BOOLEAN STDCALL RtlEqualSid ( @@ -417,12 +507,35 @@ IN PSID Sid2 );
+BOOLEAN +STDCALL +RtlFirstFreeAce( + PACL Acl, + PACE* Ace +); + PVOID STDCALL RtlFreeSid ( IN PSID Sid );
+NTSTATUS +STDCALL +RtlGetAce( + PACL Acl, + ULONG AceIndex, + PACE *Ace +); + +NTSTATUS +STDCALL +RtlGetControlSecurityDescriptor( + PSECURITY_DESCRIPTOR SecurityDescriptor, + PSECURITY_DESCRIPTOR_CONTROL Control, + PULONG Revision +); + NTSTATUS STDCALL RtlGetDaclSecurityDescriptor( @@ -457,8 +570,23 @@ OUT PBOOLEAN OwnerDefaulted );
+BOOLEAN +STDCALL +RtlGetSecurityDescriptorRMControl( + PSECURITY_DESCRIPTOR SecurityDescriptor, + PUCHAR RMControl +); + +PSID_IDENTIFIER_AUTHORITY +STDCALL +RtlIdentifierAuthoritySid(PSID Sid); + NTSTATUS STDCALL +RtlImpersonateSelf(IN SECURITY_IMPERSONATION_LEVEL ImpersonationLevel); + +NTSTATUS +STDCALL RtlInitializeSid( IN OUT PSID Sid, IN PSID_IDENTIFIER_AUTHORITY IdentifierAuthority, @@ -473,12 +601,19 @@ STDCALL RtlLengthSid(IN PSID Sid);
-#if (VER_PRODUCTBUILD >= 2195) +NTSTATUS +STDCALL +RtlQueryInformationAcl( + PACL Acl, + PVOID Information, + ULONG InformationLength, + ACL_INFORMATION_CLASS InformationClass +);
NTSTATUS STDCALL RtlSelfRelativeToAbsoluteSD( - IN PSECURITY_DESCRIPTOR SelfRelativeSD, + IN PSECURITY_DESCRIPTOR_RELATIVE SelfRelativeSD, OUT PSECURITY_DESCRIPTOR AbsoluteSD, IN PULONG AbsoluteSDSize, IN PACL Dacl, @@ -491,7 +626,13 @@ IN PULONG PrimaryGroupSize );
-#endif /* (VER_PRODUCTBUILD >= 2195) */ +NTSTATUS +STDCALL +RtlSetControlSecurityDescriptor( + IN PSECURITY_DESCRIPTOR SecurityDescriptor, + IN SECURITY_DESCRIPTOR_CONTROL ControlBitsOfInterest, + IN SECURITY_DESCRIPTOR_CONTROL ControlBitsToSet +);
NTSTATUS STDCALL @@ -510,6 +651,15 @@ IN BOOLEAN GroupDefaulted );
+NTSTATUS +STDCALL +RtlSetInformationAcl( + PACL Acl, + PVOID Information, + ULONG InformationLength, + ACL_INFORMATION_CLASS InformationClass +); + NTSTATUS STDCALL RtlSetOwnerSecurityDescriptor( @@ -527,6 +677,13 @@ IN BOOLEAN SaclDefaulted );
+VOID +STDCALL +RtlSetSecurityDescriptorRMControl( + PSECURITY_DESCRIPTOR SecurityDescriptor, + PUCHAR RMControl +); + PUCHAR STDCALL RtlSubAuthorityCountSid( @@ -542,6 +699,18 @@
BOOLEAN STDCALL +RtlValidRelativeSecurityDescriptor( + IN PSECURITY_DESCRIPTOR_RELATIVE SecurityDescriptorInput, + IN ULONG SecurityDescriptorLength, + IN SECURITY_INFORMATION RequiredInformation +); + +BOOLEAN +STDCALL +RtlValidSecurityDescriptor(IN PSECURITY_DESCRIPTOR SecurityDescriptor); + +BOOLEAN +STDCALL RtlValidSid(IN PSID Sid);
BOOLEAN @@ -1229,9 +1398,18 @@
/* * Misc String Functions - */ + */ BOOLEAN STDCALL +RtlDosPathNameToNtPathName_U( + PWSTR DosName, + PUNICODE_STRING NtName, + PWSTR *ShortName, + PCURDIR CurrentDirectory +); + +BOOLEAN +STDCALL RtlIsNameLegalDOS8Dot3( IN PUNICODE_STRING UnicodeName, IN PANSI_STRING AnsiName, _____
Modified: trunk/reactos/include/ndk/umtypes.h --- trunk/reactos/include/ndk/umtypes.h 2005-06-20 18:48:32 UTC (rev 16158) +++ trunk/reactos/include/ndk/umtypes.h 2005-06-20 18:54:47 UTC (rev 16159) @@ -568,6 +568,7 @@
typedef ULONG EXECUTION_STATE;
/* Basic NT Types */ +#if !defined(_NTSECAPI_H) && !defined(_SUBAUTH_H) typedef struct _UNICODE_STRING { USHORT Length; @@ -582,10 +583,6 @@ USHORT MaximumLength; PCHAR Buffer; } STRING, *PSTRING; -typedef STRING ANSI_STRING; -typedef PSTRING PANSI_STRING; -typedef STRING OEM_STRING; -typedef PSTRING POEM_STRING;
typedef struct _OBJECT_ATTRIBUTES { @@ -596,7 +593,13 @@ PVOID SecurityDescriptor; PVOID SecurityQualityOfService; } OBJECT_ATTRIBUTES, *POBJECT_ATTRIBUTES; +#endif
+typedef STRING ANSI_STRING; +typedef PSTRING PANSI_STRING; +typedef STRING OEM_STRING; +typedef PSTRING POEM_STRING; + typedef struct _IO_STATUS_BLOCK { union @@ -702,9 +705,34 @@ /* Class 1 */ typedef struct _KEY_USER_FLAGS_INFORMATION { - ULONG UserFlags; + ULONG UserFlags; } KEY_USER_FLAGS_INFORMATION, *PKEY_USER_FLAGS_INFORMATION;
+typedef struct _KEY_FULL_INFORMATION +{ + LARGE_INTEGER LastWriteTime; + ULONG TitleIndex; + ULONG ClassOffset; + ULONG ClassLength; + ULONG SubKeys; + ULONG MaxNameLen; + ULONG MaxClassLen; + ULONG Values; + ULONG MaxValueNameLen; + ULONG MaxValueDataLen; + WCHAR Class[1]; +} KEY_FULL_INFORMATION, *PKEY_FULL_INFORMATION; + +typedef struct _KEY_NODE_INFORMATION +{ + LARGE_INTEGER LastWriteTime; + ULONG TitleIndex; + ULONG ClassOffset; + ULONG ClassLength; + ULONG NameLength; + WCHAR Name[1]; +} KEY_NODE_INFORMATION, *PKEY_NODE_INFORMATION; + /* * File */ _____
Modified: trunk/reactos/include/ndk/zwtypes.h --- trunk/reactos/include/ndk/zwtypes.h 2005-06-20 18:48:32 UTC (rev 16158) +++ trunk/reactos/include/ndk/zwtypes.h 2005-06-20 18:54:47 UTC (rev 16159) @@ -406,6 +406,13 @@
LARGE_INTEGER UserTime; } KERNEL_USER_TIMES, *PKERNEL_USER_TIMES;
+/* Class 9 */ +typedef struct _PROCESS_ACCESS_TOKEN +{ + HANDLE Token; + HANDLE Thread; +} PROCESS_ACCESS_TOKEN, *PPROCESS_ACCESS_TOKEN; + /* Class 16 */ typedef struct _PROCESS_PRIORITY_CLASS {