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,
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 @@ RtlAllocateAndInitializeSid(
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 @@ RtlCreateSecurityDescriptorRelative(
ULONG Revision
);
NTSTATUS
STDCALL
RtlDeleteAce(
PACL Acl,
ULONG AceIndex
);
BOOLEAN
STDCALL
RtlEqualPrefixSid(
PSID Sid1,
PSID Sid2
);
BOOLEAN
STDCALL
RtlEqualSid (
@ -417,12 +507,35 @@ RtlEqualSid (
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,6 +570,21 @@ RtlGetOwnerSecurityDescriptor(
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(
@ -473,12 +601,19 @@ ULONG
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 @@ RtlSelfRelativeToAbsoluteSD(
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 @@ RtlSetGroupSecurityDescriptor(
IN BOOLEAN GroupDefaulted
);
NTSTATUS
STDCALL
RtlSetInformationAcl(
PACL Acl,
PVOID Information,
ULONG InformationLength,
ACL_INFORMATION_CLASS InformationClass
);
NTSTATUS
STDCALL
RtlSetOwnerSecurityDescriptor(
@ -527,6 +677,13 @@ RtlSetSaclSecurityDescriptor(
IN BOOLEAN SaclDefaulted
);
VOID
STDCALL
RtlSetSecurityDescriptorRMControl(
PSECURITY_DESCRIPTOR SecurityDescriptor,
PUCHAR RMControl
);
PUCHAR
STDCALL
RtlSubAuthorityCountSid(
@ -540,6 +697,18 @@ RtlSubAuthoritySid(
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
STDCALL
RtlValidSid(IN PSID Sid);
@ -1229,7 +1398,16 @@ RtlResetRtlTranslations(IN PNLSTABLEINFO NlsTable);
/*
* Misc String Functions
*/
*/
BOOLEAN
STDCALL
RtlDosPathNameToNtPathName_U(
PWSTR DosName,
PUNICODE_STRING NtName,
PWSTR *ShortName,
PCURDIR CurrentDirectory
);
BOOLEAN
STDCALL
RtlIsNameLegalDOS8Dot3(

View file

@ -568,6 +568,7 @@ struct _EVENT_TRACE_HEADER; /* <--- We might want to declare this one */
typedef ULONG EXECUTION_STATE;
/* Basic NT Types */
#if !defined(_NTSECAPI_H) && !defined(_SUBAUTH_H)
typedef struct _UNICODE_STRING
{
USHORT Length;
@ -582,10 +583,6 @@ typedef struct _STRING
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,6 +593,12 @@ typedef struct _OBJECT_ATTRIBUTES
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
{
@ -702,9 +705,34 @@ typedef struct _KEY_WRITE_TIME_INFORMATION
/* 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
*/

View file

@ -406,6 +406,13 @@ typedef struct _KERNEL_USER_TIMES
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
{