Add missing types to NDK

svn path=/trunk/; revision=16159
This commit is contained in:
Alex Ionescu 2005-06-20 18:54:47 +00:00
parent 0f3a2ad610
commit 29075cd391
3 changed files with 223 additions and 10 deletions

View file

@ -328,7 +328,69 @@ RtlAddAccessAllowedAce(
ACCESS_MASK AccessMask, ACCESS_MASK AccessMask,
PSID Sid 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 NTSTATUS
STDCALL STDCALL
RtlAllocateAndInitializeSid( RtlAllocateAndInitializeSid(
@ -345,6 +407,20 @@ RtlAllocateAndInitializeSid(
OUT PSID *Sid OUT PSID *Sid
); );
BOOLEAN
STDCALL
RtlAreAllAccessesGranted(
ACCESS_MASK GrantedAccess,
ACCESS_MASK DesiredAccess
);
BOOLEAN
STDCALL
RtlAreAnyAccessesGranted(
ACCESS_MASK GrantedAccess,
ACCESS_MASK DesiredAccess
);
VOID VOID
STDCALL STDCALL
RtlCopyLuid( RtlCopyLuid(
@ -410,6 +486,20 @@ RtlCreateSecurityDescriptorRelative(
ULONG Revision ULONG Revision
); );
NTSTATUS
STDCALL
RtlDeleteAce(
PACL Acl,
ULONG AceIndex
);
BOOLEAN
STDCALL
RtlEqualPrefixSid(
PSID Sid1,
PSID Sid2
);
BOOLEAN BOOLEAN
STDCALL STDCALL
RtlEqualSid ( RtlEqualSid (
@ -417,12 +507,35 @@ RtlEqualSid (
IN PSID Sid2 IN PSID Sid2
); );
BOOLEAN
STDCALL
RtlFirstFreeAce(
PACL Acl,
PACE* Ace
);
PVOID PVOID
STDCALL STDCALL
RtlFreeSid ( RtlFreeSid (
IN PSID Sid 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 NTSTATUS
STDCALL STDCALL
RtlGetDaclSecurityDescriptor( RtlGetDaclSecurityDescriptor(
@ -457,6 +570,21 @@ RtlGetOwnerSecurityDescriptor(
OUT PBOOLEAN OwnerDefaulted 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 NTSTATUS
STDCALL STDCALL
RtlInitializeSid( RtlInitializeSid(
@ -473,12 +601,19 @@ ULONG
STDCALL STDCALL
RtlLengthSid(IN PSID Sid); RtlLengthSid(IN PSID Sid);
#if (VER_PRODUCTBUILD >= 2195) NTSTATUS
STDCALL
RtlQueryInformationAcl(
PACL Acl,
PVOID Information,
ULONG InformationLength,
ACL_INFORMATION_CLASS InformationClass
);
NTSTATUS NTSTATUS
STDCALL STDCALL
RtlSelfRelativeToAbsoluteSD( RtlSelfRelativeToAbsoluteSD(
IN PSECURITY_DESCRIPTOR SelfRelativeSD, IN PSECURITY_DESCRIPTOR_RELATIVE SelfRelativeSD,
OUT PSECURITY_DESCRIPTOR AbsoluteSD, OUT PSECURITY_DESCRIPTOR AbsoluteSD,
IN PULONG AbsoluteSDSize, IN PULONG AbsoluteSDSize,
IN PACL Dacl, IN PACL Dacl,
@ -491,7 +626,13 @@ RtlSelfRelativeToAbsoluteSD(
IN PULONG PrimaryGroupSize 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 NTSTATUS
STDCALL STDCALL
@ -510,6 +651,15 @@ RtlSetGroupSecurityDescriptor(
IN BOOLEAN GroupDefaulted IN BOOLEAN GroupDefaulted
); );
NTSTATUS
STDCALL
RtlSetInformationAcl(
PACL Acl,
PVOID Information,
ULONG InformationLength,
ACL_INFORMATION_CLASS InformationClass
);
NTSTATUS NTSTATUS
STDCALL STDCALL
RtlSetOwnerSecurityDescriptor( RtlSetOwnerSecurityDescriptor(
@ -527,6 +677,13 @@ RtlSetSaclSecurityDescriptor(
IN BOOLEAN SaclDefaulted IN BOOLEAN SaclDefaulted
); );
VOID
STDCALL
RtlSetSecurityDescriptorRMControl(
PSECURITY_DESCRIPTOR SecurityDescriptor,
PUCHAR RMControl
);
PUCHAR PUCHAR
STDCALL STDCALL
RtlSubAuthorityCountSid( RtlSubAuthorityCountSid(
@ -540,6 +697,18 @@ RtlSubAuthoritySid(
IN ULONG SubAuthority IN ULONG SubAuthority
); );
BOOLEAN
STDCALL
RtlValidRelativeSecurityDescriptor(
IN PSECURITY_DESCRIPTOR_RELATIVE SecurityDescriptorInput,
IN ULONG SecurityDescriptorLength,
IN SECURITY_INFORMATION RequiredInformation
);
BOOLEAN
STDCALL
RtlValidSecurityDescriptor(IN PSECURITY_DESCRIPTOR SecurityDescriptor);
BOOLEAN BOOLEAN
STDCALL STDCALL
RtlValidSid(IN PSID Sid); RtlValidSid(IN PSID Sid);
@ -1229,7 +1398,16 @@ RtlResetRtlTranslations(IN PNLSTABLEINFO NlsTable);
/* /*
* Misc String Functions * Misc String Functions
*/ */
BOOLEAN
STDCALL
RtlDosPathNameToNtPathName_U(
PWSTR DosName,
PUNICODE_STRING NtName,
PWSTR *ShortName,
PCURDIR CurrentDirectory
);
BOOLEAN BOOLEAN
STDCALL STDCALL
RtlIsNameLegalDOS8Dot3( RtlIsNameLegalDOS8Dot3(

View file

@ -568,6 +568,7 @@ struct _EVENT_TRACE_HEADER; /* <--- We might want to declare this one */
typedef ULONG EXECUTION_STATE; typedef ULONG EXECUTION_STATE;
/* Basic NT Types */ /* Basic NT Types */
#if !defined(_NTSECAPI_H) && !defined(_SUBAUTH_H)
typedef struct _UNICODE_STRING typedef struct _UNICODE_STRING
{ {
USHORT Length; USHORT Length;
@ -582,10 +583,6 @@ typedef struct _STRING
USHORT MaximumLength; USHORT MaximumLength;
PCHAR Buffer; PCHAR Buffer;
} STRING, *PSTRING; } STRING, *PSTRING;
typedef STRING ANSI_STRING;
typedef PSTRING PANSI_STRING;
typedef STRING OEM_STRING;
typedef PSTRING POEM_STRING;
typedef struct _OBJECT_ATTRIBUTES typedef struct _OBJECT_ATTRIBUTES
{ {
@ -596,6 +593,12 @@ typedef struct _OBJECT_ATTRIBUTES
PVOID SecurityDescriptor; PVOID SecurityDescriptor;
PVOID SecurityQualityOfService; PVOID SecurityQualityOfService;
} OBJECT_ATTRIBUTES, *POBJECT_ATTRIBUTES; } 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 typedef struct _IO_STATUS_BLOCK
{ {
@ -702,9 +705,34 @@ typedef struct _KEY_WRITE_TIME_INFORMATION
/* Class 1 */ /* Class 1 */
typedef struct _KEY_USER_FLAGS_INFORMATION typedef struct _KEY_USER_FLAGS_INFORMATION
{ {
ULONG UserFlags; ULONG UserFlags;
} KEY_USER_FLAGS_INFORMATION, *PKEY_USER_FLAGS_INFORMATION; } 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 * File
*/ */

View file

@ -406,6 +406,13 @@ typedef struct _KERNEL_USER_TIMES
LARGE_INTEGER UserTime; LARGE_INTEGER UserTime;
} KERNEL_USER_TIMES, *PKERNEL_USER_TIMES; } 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 */ /* Class 16 */
typedef struct _PROCESS_PRIORITY_CLASS typedef struct _PROCESS_PRIORITY_CLASS
{ {