Cygwin: drop all usages of NTAPI

and drop unused prototypes from ntdll.h.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
Corinna Vinschen 2022-08-04 22:13:50 +02:00
parent b28edc7b86
commit 35c5017438
3 changed files with 223 additions and 285 deletions

View File

@ -1289,7 +1289,7 @@ typedef struct _IO_STATUS_BLOCK
ULONG_PTR Information; ULONG_PTR Information;
} IO_STATUS_BLOCK, *PIO_STATUS_BLOCK; } IO_STATUS_BLOCK, *PIO_STATUS_BLOCK;
typedef VOID NTAPI (*PIO_APC_ROUTINE)(PVOID, PIO_STATUS_BLOCK, ULONG); typedef VOID (*PIO_APC_ROUTINE)(PVOID, PIO_STATUS_BLOCK, ULONG);
typedef struct _EVENT_BASIC_INFORMATION typedef struct _EVENT_BASIC_INFORMATION
{ {
@ -1402,274 +1402,214 @@ static volatile KUSER_SHARED_DATA &SharedUserData
extern "C" extern "C"
{ {
#endif #endif
NTSTATUS NTAPI NtAccessCheck (PSECURITY_DESCRIPTOR, HANDLE, ACCESS_MASK, NTSTATUS NtAccessCheck (PSECURITY_DESCRIPTOR, HANDLE, ACCESS_MASK,
PGENERIC_MAPPING, PPRIVILEGE_SET, PULONG, PGENERIC_MAPPING, PPRIVILEGE_SET, PULONG,
PACCESS_MASK, PNTSTATUS); PACCESS_MASK, PNTSTATUS);
NTSTATUS NTAPI NtAdjustPrivilegesToken (HANDLE, BOOLEAN, PTOKEN_PRIVILEGES, NTSTATUS NtAdjustPrivilegesToken (HANDLE, BOOLEAN, PTOKEN_PRIVILEGES, ULONG,
ULONG, PTOKEN_PRIVILEGES, PULONG); PTOKEN_PRIVILEGES, PULONG);
NTSTATUS NTAPI NtAllocateLocallyUniqueId (PLUID); NTSTATUS NtAllocateLocallyUniqueId (PLUID);
NTSTATUS NTAPI NtAllocateUuids (PLARGE_INTEGER, PULONG, PULONG, PUCHAR); NTSTATUS NtAssignProcessToJobObject (HANDLE, HANDLE);
NTSTATUS NTAPI NtAssignProcessToJobObject (HANDLE, HANDLE); NTSTATUS NtCancelTimer (HANDLE, PBOOLEAN);
NTSTATUS NTAPI NtCancelTimer (HANDLE, PBOOLEAN); NTSTATUS NtClose (HANDLE);
NTSTATUS NTAPI NtClose (HANDLE); NTSTATUS NtCommitTransaction (HANDLE, BOOLEAN);
NTSTATUS NTAPI NtCommitTransaction (HANDLE, BOOLEAN); NTSTATUS NtCreateDirectoryObject (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES);
NTSTATUS NTAPI NtContinue (PCONTEXT, BOOLEAN); NTSTATUS NtCreateEvent (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, EVENT_TYPE,
NTSTATUS NTAPI NtCreateDirectoryObject (PHANDLE, ACCESS_MASK, BOOLEAN);
POBJECT_ATTRIBUTES); NTSTATUS NtCreateFile (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES,
NTSTATUS NTAPI NtCreateEvent (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, PIO_STATUS_BLOCK, PLARGE_INTEGER, ULONG, ULONG, ULONG,
EVENT_TYPE, BOOLEAN); ULONG, PVOID, ULONG);
NTSTATUS NTAPI NtCreateFile (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, NTSTATUS NtCreateJobObject (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES);
PIO_STATUS_BLOCK, PLARGE_INTEGER, ULONG, ULONG, NTSTATUS NtCreateKey (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, ULONG,
ULONG, ULONG, PVOID, ULONG); PUNICODE_STRING, ULONG, PULONG);
NTSTATUS NTAPI NtCreateJobObject (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES); NTSTATUS NtCreateMutant (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, BOOLEAN);
NTSTATUS NTAPI NtCreateKey (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, ULONG, NTSTATUS NtCreateNamedPipeFile (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES,
PUNICODE_STRING, ULONG, PULONG); PIO_STATUS_BLOCK, ULONG, ULONG, ULONG, ULONG,
NTSTATUS NTAPI NtCreateMailslotFile(PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, ULONG, ULONG, ULONG, ULONG, ULONG,
PIO_STATUS_BLOCK, ULONG, ULONG, ULONG, PLARGE_INTEGER);
PLARGE_INTEGER); NTSTATUS NtCreateSection (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES,
NTSTATUS NTAPI NtCreateMutant (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, PLARGE_INTEGER, ULONG, ULONG, HANDLE);
BOOLEAN); NTSTATUS NtCreateSemaphore (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, LONG,
NTSTATUS NTAPI NtCreateNamedPipeFile (PHANDLE, ACCESS_MASK, LONG);
POBJECT_ATTRIBUTES, PIO_STATUS_BLOCK, NTSTATUS NtCreateSymbolicLinkObject (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES,
ULONG, ULONG, ULONG, ULONG, ULONG, PUNICODE_STRING);
ULONG, ULONG, ULONG, ULONG, NTSTATUS NtCreateTimer (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, TIMER_TYPE);
PLARGE_INTEGER); NTSTATUS NtCreateTransaction (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES,
NTSTATUS NTAPI NtCreateSection (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, LPGUID, HANDLE, ULONG, ULONG, ULONG,
PLARGE_INTEGER, ULONG, ULONG, HANDLE); PLARGE_INTEGER, PUNICODE_STRING);
NTSTATUS NTAPI NtCreateSemaphore (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, NTSTATUS NtDuplicateToken (HANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, BOOLEAN,
LONG, LONG); TOKEN_TYPE, PHANDLE);
NTSTATUS NTAPI NtCreateSymbolicLinkObject (PHANDLE, ACCESS_MASK, NTSTATUS NtFsControlFile (HANDLE, HANDLE, PIO_APC_ROUTINE, PVOID,
POBJECT_ATTRIBUTES, PIO_STATUS_BLOCK, ULONG, PVOID, ULONG, PVOID,
PUNICODE_STRING); ULONG);
NTSTATUS NTAPI NtCreateTimer (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, NTSTATUS NtFlushBuffersFile (HANDLE, PIO_STATUS_BLOCK);
TIMER_TYPE); NTSTATUS NtLockFile (HANDLE, HANDLE, PIO_APC_ROUTINE, PVOID, PIO_STATUS_BLOCK,
NTSTATUS NTAPI NtCreateToken (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, PLARGE_INTEGER, PLARGE_INTEGER, ULONG, BOOLEAN, BOOLEAN);
TOKEN_TYPE, PLUID, PLARGE_INTEGER, PTOKEN_USER, NTSTATUS NtLockVirtualMemory (HANDLE, PVOID *, PSIZE_T, ULONG);
PTOKEN_GROUPS, PTOKEN_PRIVILEGES, PTOKEN_OWNER, NTSTATUS NtMapViewOfSection (HANDLE, HANDLE, PVOID *, ULONG_PTR, SIZE_T,
PTOKEN_PRIMARY_GROUP, PTOKEN_DEFAULT_DACL, PLARGE_INTEGER, PSIZE_T, SECTION_INHERIT, ULONG,
PTOKEN_SOURCE); ULONG);
NTSTATUS NTAPI NtCreateTransaction (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, NTSTATUS NtMapViewOfSectionEx (HANDLE, HANDLE, PVOID *, PLARGE_INTEGER,
LPGUID, HANDLE, ULONG, ULONG, ULONG, PSIZE_T, ULONG, ULONG, PMEM_EXTENDED_PARAMETER,
PLARGE_INTEGER, PUNICODE_STRING); ULONG);
NTSTATUS NTAPI NtDuplicateToken (HANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, NTSTATUS NtOpenDirectoryObject (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES);
BOOLEAN, TOKEN_TYPE, PHANDLE); NTSTATUS NtOpenEvent (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES);
NTSTATUS NTAPI NtFsControlFile (HANDLE, HANDLE, PIO_APC_ROUTINE, PVOID, NTSTATUS NtOpenFile (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES,
PIO_STATUS_BLOCK, ULONG, PVOID, ULONG, PIO_STATUS_BLOCK, ULONG, ULONG);
PVOID, ULONG); NTSTATUS NtOpenJobObject (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES);
NTSTATUS NTAPI NtFlushBuffersFile (HANDLE, PIO_STATUS_BLOCK); NTSTATUS NtOpenKey (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES);
NTSTATUS NTAPI NtLoadKey (POBJECT_ATTRIBUTES, POBJECT_ATTRIBUTES); NTSTATUS NtOpenMutant (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES);
NTSTATUS NTAPI NtLockFile (HANDLE, HANDLE, PIO_APC_ROUTINE, PVOID, NTSTATUS NtOpenProcessToken (HANDLE, ACCESS_MASK, PHANDLE);
PIO_STATUS_BLOCK, PLARGE_INTEGER, PLARGE_INTEGER, NTSTATUS NtOpenThreadToken (HANDLE, ACCESS_MASK, BOOLEAN, PHANDLE);
ULONG, BOOLEAN, BOOLEAN); NTSTATUS NtOpenSection (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES);
NTSTATUS NTAPI NtLockVirtualMemory (HANDLE, PVOID *, PSIZE_T, ULONG); NTSTATUS NtOpenSemaphore (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES);
NTSTATUS NTAPI NtMapViewOfSection (HANDLE, HANDLE, PVOID *, ULONG_PTR, SIZE_T, NTSTATUS NtOpenSymbolicLinkObject (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES);
PLARGE_INTEGER, PSIZE_T, SECTION_INHERIT,
ULONG, ULONG);
NTSTATUS NTAPI NtMapViewOfSectionEx (HANDLE, HANDLE, PVOID *, PLARGE_INTEGER,
PSIZE_T, ULONG, ULONG,
PMEM_EXTENDED_PARAMETER, ULONG);
NTSTATUS NTAPI NtNotifyChangeDirectoryFile (HANDLE, HANDLE, PIO_APC_ROUTINE,
PVOID, PIO_STATUS_BLOCK,
PFILE_NOTIFY_INFORMATION, ULONG,
ULONG, BOOLEAN);
NTSTATUS NTAPI NtOpenDirectoryObject (PHANDLE, ACCESS_MASK,
POBJECT_ATTRIBUTES);
NTSTATUS NTAPI NtOpenEvent (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES);
NTSTATUS NTAPI NtOpenFile (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES,
PIO_STATUS_BLOCK, ULONG, ULONG);
NTSTATUS NTAPI NtOpenJobObject (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES);
NTSTATUS NTAPI NtOpenKey (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES);
NTSTATUS NTAPI NtOpenMutant (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES);
NTSTATUS NTAPI NtOpenProcessToken (HANDLE, ACCESS_MASK, PHANDLE);
NTSTATUS NTAPI NtOpenThreadToken (HANDLE, ACCESS_MASK, BOOLEAN, PHANDLE);
NTSTATUS NTAPI NtOpenSection (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES);
NTSTATUS NTAPI NtOpenSemaphore (PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES);
NTSTATUS NTAPI NtOpenSymbolicLinkObject (PHANDLE, ACCESS_MASK,
POBJECT_ATTRIBUTES);
/* WARNING! Don't rely on the timestamp information returned by /* WARNING! Don't rely on the timestamp information returned by
NtQueryAttributesFile. Only the DOS file attribute info is reliable. */ NtQueryAttributesFile. Only the DOS file attribute info is reliable. */
NTSTATUS NTAPI NtPrivilegeCheck (HANDLE, PPRIVILEGE_SET, PBOOLEAN); NTSTATUS NtPrivilegeCheck (HANDLE, PPRIVILEGE_SET, PBOOLEAN);
NTSTATUS NTAPI NtQueryAttributesFile (POBJECT_ATTRIBUTES, NTSTATUS NtQueryAttributesFile (POBJECT_ATTRIBUTES, PFILE_BASIC_INFORMATION);
PFILE_BASIC_INFORMATION); NTSTATUS NtQueryDirectoryFile(HANDLE, HANDLE, PVOID, PVOID, PIO_STATUS_BLOCK,
NTSTATUS NTAPI NtQueryDirectoryFile(HANDLE, HANDLE, PVOID, PVOID, PVOID, ULONG, FILE_INFORMATION_CLASS, BOOLEAN,
PIO_STATUS_BLOCK, PVOID, ULONG, PUNICODE_STRING, BOOLEAN);
FILE_INFORMATION_CLASS, BOOLEAN, NTSTATUS NtQueryDirectoryObject (HANDLE, PVOID, ULONG, BOOLEAN, BOOLEAN,
PUNICODE_STRING, BOOLEAN); PULONG, PULONG);
NTSTATUS NTAPI NtQueryDirectoryObject (HANDLE, PVOID, ULONG, BOOLEAN, NTSTATUS NtQueryEaFile (HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG, BOOLEAN,
BOOLEAN, PULONG, PULONG); PVOID, ULONG, PULONG, BOOLEAN);
NTSTATUS NTAPI NtQueryEaFile (HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG, NTSTATUS NtQueryEvent (HANDLE, EVENT_INFORMATION_CLASS, PVOID, ULONG, PULONG);
BOOLEAN, PVOID, ULONG, PULONG, BOOLEAN); NTSTATUS NtQueryInformationFile (HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG,
NTSTATUS NTAPI NtQueryEvent (HANDLE, EVENT_INFORMATION_CLASS, PVOID, ULONG, FILE_INFORMATION_CLASS);
PULONG); NTSTATUS NtQueryInformationJobObject (HANDLE, JOBOBJECTINFOCLASS, PVOID,
NTSTATUS NTAPI NtQueryFullAttributesFile (POBJECT_ATTRIBUTES, ULONG, PULONG);
PFILE_NETWORK_OPEN_INFORMATION); NTSTATUS NtQueryInformationProcess (HANDLE, PROCESSINFOCLASS, PVOID, ULONG,
NTSTATUS NTAPI NtQueryInformationFile (HANDLE, PIO_STATUS_BLOCK, PVOID, PULONG);
ULONG, FILE_INFORMATION_CLASS); NTSTATUS NtQueryInformationThread (HANDLE, THREADINFOCLASS, PVOID, ULONG,
NTSTATUS NTAPI NtQueryInformationJobObject (HANDLE, JOBOBJECTINFOCLASS, PULONG);
PVOID, ULONG, PULONG); NTSTATUS NtQueryInformationToken (HANDLE, TOKEN_INFORMATION_CLASS, PVOID,
NTSTATUS NTAPI NtQueryInformationProcess (HANDLE, PROCESSINFOCLASS, ULONG, PULONG);
PVOID, ULONG, PULONG); NTSTATUS NtQueryObject (HANDLE, OBJECT_INFORMATION_CLASS, PVOID, ULONG,
NTSTATUS NTAPI NtQueryInformationThread (HANDLE, THREADINFOCLASS, PVOID, PULONG);
ULONG, PULONG); NTSTATUS NtQueryQuotaInformationFile (HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG,
NTSTATUS NTAPI NtQueryInformationToken (HANDLE, TOKEN_INFORMATION_CLASS, BOOLEAN, PVOID, ULONG, PSID, BOOLEAN);
PVOID, ULONG, PULONG); NTSTATUS NtQuerySemaphore (HANDLE, SEMAPHORE_INFORMATION_CLASS, PVOID, ULONG,
NTSTATUS NTAPI NtQueryObject (HANDLE, OBJECT_INFORMATION_CLASS, PVOID, ULONG,
PULONG);
NTSTATUS NTAPI NtQueryQuotaInformationFile (HANDLE, PIO_STATUS_BLOCK, PVOID,
ULONG, BOOLEAN, PVOID, ULONG,
PSID, BOOLEAN);
NTSTATUS NTAPI NtQuerySemaphore (HANDLE, SEMAPHORE_INFORMATION_CLASS,
PVOID, ULONG, PULONG);
NTSTATUS NTAPI NtQuerySystemInformation (SYSTEM_INFORMATION_CLASS,
PVOID, ULONG, PULONG);
NTSTATUS NTAPI NtQuerySystemTime (PLARGE_INTEGER);
NTSTATUS NTAPI NtQuerySecurityObject (HANDLE, SECURITY_INFORMATION,
PSECURITY_DESCRIPTOR, ULONG, PULONG);
NTSTATUS NTAPI NtQuerySymbolicLinkObject (HANDLE, PUNICODE_STRING, PULONG);
NTSTATUS NTAPI NtQueryTimer (HANDLE, TIMER_INFORMATION_CLASS, PVOID,
ULONG, PULONG);
NTSTATUS NTAPI NtQueryTimerResolution (PULONG, PULONG, PULONG);
NTSTATUS NTAPI NtQueryValueKey (HANDLE, PUNICODE_STRING,
KEY_VALUE_INFORMATION_CLASS, PVOID, ULONG,
PULONG);
NTSTATUS NTAPI NtQueryVirtualMemory (HANDLE, PVOID, MEMORY_INFORMATION_CLASS,
PVOID, SIZE_T, PSIZE_T);
NTSTATUS NTAPI NtQueryVolumeInformationFile (HANDLE, PIO_STATUS_BLOCK, PVOID,
ULONG, FS_INFORMATION_CLASS);
NTSTATUS NTAPI NtReadFile (HANDLE, HANDLE, PIO_APC_ROUTINE, PVOID,
PIO_STATUS_BLOCK, PVOID, ULONG, PLARGE_INTEGER,
PULONG); PULONG);
NTSTATUS NTAPI NtRollbackTransaction (HANDLE, BOOLEAN); NTSTATUS NtQuerySystemInformation (SYSTEM_INFORMATION_CLASS, PVOID, ULONG,
NTSTATUS NTAPI NtSetEaFile (HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG); PULONG);
NTSTATUS NTAPI NtSetEvent (HANDLE, PULONG); NTSTATUS NtQuerySystemTime (PLARGE_INTEGER);
NTSTATUS NTAPI NtSetInformationFile (HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG, NTSTATUS NtQuerySecurityObject (HANDLE, SECURITY_INFORMATION,
FILE_INFORMATION_CLASS); PSECURITY_DESCRIPTOR, ULONG, PULONG);
NTSTATUS NTAPI NtSetInformationJobObject (HANDLE, JOBOBJECTINFOCLASS, PVOID, NTSTATUS NtQuerySymbolicLinkObject (HANDLE, PUNICODE_STRING, PULONG);
ULONG); NTSTATUS NtQueryTimer (HANDLE, TIMER_INFORMATION_CLASS, PVOID, ULONG, PULONG);
NTSTATUS NTAPI NtSetInformationThread (HANDLE, THREADINFOCLASS, PVOID, ULONG); NTSTATUS NtQueryTimerResolution (PULONG, PULONG, PULONG);
NTSTATUS NTAPI NtSetInformationToken (HANDLE, TOKEN_INFORMATION_CLASS, PVOID, NTSTATUS NtQueryValueKey (HANDLE, PUNICODE_STRING,
ULONG); KEY_VALUE_INFORMATION_CLASS, PVOID, ULONG, PULONG);
NTSTATUS NTAPI NtSetQuotaInformationFile (HANDLE, PIO_STATUS_BLOCK, PVOID, NTSTATUS NtQueryVirtualMemory (HANDLE, PVOID, MEMORY_INFORMATION_CLASS, PVOID,
ULONG); SIZE_T, PSIZE_T);
NTSTATUS NTAPI NtSetSecurityObject (HANDLE, SECURITY_INFORMATION, NTSTATUS NtQueryVolumeInformationFile (HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG,
PSECURITY_DESCRIPTOR); FS_INFORMATION_CLASS);
NTSTATUS NTAPI NtSetTimer (HANDLE, PLARGE_INTEGER, PTIMER_APC_ROUTINE, PVOID, NTSTATUS NtReadFile (HANDLE, HANDLE, PIO_APC_ROUTINE, PVOID, PIO_STATUS_BLOCK,
BOOLEAN, LONG, PBOOLEAN); PVOID, ULONG, PLARGE_INTEGER, PULONG);
NTSTATUS NTAPI NtSetTimerResolution (ULONG, BOOLEAN, PULONG); NTSTATUS NtRollbackTransaction (HANDLE, BOOLEAN);
NTSTATUS NTAPI NtSetValueKey (HANDLE, PUNICODE_STRING, ULONG, ULONG, PVOID, NTSTATUS NtSetEaFile (HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG);
ULONG); NTSTATUS NtSetEvent (HANDLE, PULONG);
NTSTATUS NTAPI NtSetVolumeInformationFile (HANDLE, PIO_STATUS_BLOCK, PVOID, NTSTATUS NtSetInformationFile (HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG,
ULONG, FS_INFORMATION_CLASS); FILE_INFORMATION_CLASS);
NTSTATUS NTAPI NtUnlockFile (HANDLE, PIO_STATUS_BLOCK, PLARGE_INTEGER, NTSTATUS NtSetInformationJobObject (HANDLE, JOBOBJECTINFOCLASS, PVOID, ULONG);
PLARGE_INTEGER, ULONG); NTSTATUS NtSetInformationThread (HANDLE, THREADINFOCLASS, PVOID, ULONG);
NTSTATUS NTAPI NtUnlockVirtualMemory (HANDLE, PVOID *, PSIZE_T, ULONG); NTSTATUS NtSetInformationToken (HANDLE, TOKEN_INFORMATION_CLASS, PVOID,
NTSTATUS NTAPI NtUnmapViewOfSection (HANDLE, PVOID); ULONG);
NTSTATUS NTAPI NtWaitForSingleObject (HANDLE, BOOLEAN, PLARGE_INTEGER); NTSTATUS NtSetQuotaInformationFile (HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG);
NTSTATUS NTAPI NtWriteFile (HANDLE, HANDLE, PIO_APC_ROUTINE, PVOID, NTSTATUS NtSetSecurityObject (HANDLE, SECURITY_INFORMATION,
PIO_STATUS_BLOCK, PVOID, ULONG, PLARGE_INTEGER, PSECURITY_DESCRIPTOR);
PULONG); NTSTATUS NtSetTimer (HANDLE, PLARGE_INTEGER, PTIMER_APC_ROUTINE, PVOID,
NTSTATUS NTAPI RtlAbsoluteToSelfRelativeSD (PSECURITY_DESCRIPTOR, BOOLEAN, LONG, PBOOLEAN);
PSECURITY_DESCRIPTOR, PULONG); NTSTATUS NtSetValueKey (HANDLE, PUNICODE_STRING, ULONG, ULONG, PVOID, ULONG);
VOID NTAPI RtlAcquirePebLock (); NTSTATUS NtSetVolumeInformationFile (HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG,
NTSTATUS NTAPI RtlAddAccessAllowedAce (PACL, ULONG, ACCESS_MASK, PSID); FS_INFORMATION_CLASS);
NTSTATUS NTAPI RtlAddAccessAllowedAceEx (PACL, ULONG, ULONG, ACCESS_MASK, NTSTATUS NtUnlockFile (HANDLE, PIO_STATUS_BLOCK, PLARGE_INTEGER,
PSID); PLARGE_INTEGER, ULONG);
NTSTATUS NTAPI RtlAddAccessDeniedAce (PACL, ULONG, ACCESS_MASK, PSID); NTSTATUS NtUnlockVirtualMemory (HANDLE, PVOID *, PSIZE_T, ULONG);
NTSTATUS NTAPI RtlAddAccessDeniedAceEx (PACL, ULONG, ULONG, ACCESS_MASK, NTSTATUS NtUnmapViewOfSection (HANDLE, PVOID);
PSID); NTSTATUS NtWaitForSingleObject (HANDLE, BOOLEAN, PLARGE_INTEGER);
NTSTATUS NTAPI RtlAddAce (PACL, ULONG, ULONG, PVOID, ULONG); NTSTATUS NtWriteFile (HANDLE, HANDLE, PIO_APC_ROUTINE, PVOID,
PVOID NTAPI RtlAllocateHeap (PVOID, ULONG, SIZE_T); PIO_STATUS_BLOCK, PVOID, ULONG, PLARGE_INTEGER, PULONG);
NTSTATUS NTAPI RtlAppendUnicodeToString (PUNICODE_STRING, PCWSTR); NTSTATUS RtlAbsoluteToSelfRelativeSD (PSECURITY_DESCRIPTOR,
NTSTATUS NTAPI RtlAppendUnicodeStringToString (PUNICODE_STRING, PSECURITY_DESCRIPTOR, PULONG);
PUNICODE_STRING); NTSTATUS RtlAddAccessAllowedAce (PACL, ULONG, ACCESS_MASK, PSID);
NTSTATUS NTAPI RtlAnsiStringToUnicodeString (PUNICODE_STRING, PANSI_STRING, NTSTATUS RtlAddAccessAllowedAceEx (PACL, ULONG, ULONG, ACCESS_MASK, PSID);
BOOLEAN); NTSTATUS RtlAddAccessDeniedAce (PACL, ULONG, ACCESS_MASK, PSID);
NTSTATUS NTAPI RtlCheckRegistryKey (ULONG, PCWSTR); NTSTATUS RtlAddAccessDeniedAceEx (PACL, ULONG, ULONG, ACCESS_MASK, PSID);
LONG NTAPI RtlCompareUnicodeString (PUNICODE_STRING, PUNICODE_STRING, NTSTATUS RtlAddAce (PACL, ULONG, ULONG, PVOID, ULONG);
BOOLEAN); PVOID RtlAllocateHeap (PVOID, ULONG, SIZE_T);
NTSTATUS NTAPI RtlConvertSidToUnicodeString (PUNICODE_STRING, PSID, BOOLEAN); NTSTATUS RtlAnsiStringToUnicodeString (PUNICODE_STRING, PANSI_STRING,
NTSTATUS NTAPI RtlConvertToAutoInheritSecurityObject (PSECURITY_DESCRIPTOR,
PSECURITY_DESCRIPTOR,
PSECURITY_DESCRIPTOR *,
GUID *, BOOLEAN,
PGENERIC_MAPPING);
NTSTATUS NTAPI RtlCopySid (ULONG, PSID, PSID);
VOID NTAPI RtlCopyUnicodeString (PUNICODE_STRING, PUNICODE_STRING);
NTSTATUS NTAPI RtlCreateAcl (PACL, ULONG, ULONG);
PDEBUG_BUFFER NTAPI RtlCreateQueryDebugBuffer (ULONG, BOOLEAN);
NTSTATUS NTAPI RtlCreateRegistryKey (ULONG, PCWSTR);
NTSTATUS NTAPI RtlCreateSecurityDescriptor (PSECURITY_DESCRIPTOR, ULONG);
BOOLEAN NTAPI RtlCreateUnicodeStringFromAsciiz (PUNICODE_STRING, PCSTR);
NTSTATUS NTAPI RtlDeleteSecurityObject (PSECURITY_DESCRIPTOR *);
NTSTATUS NTAPI RtlDestroyQueryDebugBuffer (PDEBUG_BUFFER);
NTSTATUS NTAPI RtlDowncaseUnicodeString (PUNICODE_STRING, PUNICODE_STRING,
BOOLEAN);
NTSTATUS NTAPI RtlEnterCriticalSection (PRTL_CRITICAL_SECTION);
BOOLEAN NTAPI RtlEqualPrefixSid (PSID, PSID);
BOOLEAN NTAPI RtlEqualSid (PSID, PSID);
BOOLEAN NTAPI RtlEqualUnicodeString (PUNICODE_STRING, PUNICODE_STRING,
BOOLEAN);
VOID NTAPI RtlFreeAnsiString (PANSI_STRING);
BOOLEAN NTAPI RtlFreeHeap (HANDLE, ULONG, PVOID);
VOID NTAPI RtlFreeOemString (POEM_STRING);
VOID NTAPI RtlFreeUnicodeString (PUNICODE_STRING);
BOOLEAN NTAPI RtlFirstFreeAce (PACL, PVOID *);
NTSTATUS NTAPI RtlGetAce (PACL, ULONG, PVOID);
NTSTATUS NTAPI RtlGetControlSecurityDescriptor (PSECURITY_DESCRIPTOR,
PSECURITY_DESCRIPTOR_CONTROL,
PULONG);
HANDLE NTAPI RtlGetCurrentTransaction ();
NTSTATUS NTAPI RtlGetDaclSecurityDescriptor (PSECURITY_DESCRIPTOR, PBOOLEAN,
PACL *, PBOOLEAN);
NTSTATUS NTAPI RtlGetGroupSecurityDescriptor (PSECURITY_DESCRIPTOR, PSID *,
PBOOLEAN);
NTSTATUS NTAPI RtlGetNtVersionNumbers (LPDWORD, LPDWORD, LPDWORD);
NTSTATUS NTAPI RtlGetOwnerSecurityDescriptor (PSECURITY_DESCRIPTOR, PSID *,
PBOOLEAN);
NTSTATUS NTAPI RtlGetVersion (PRTL_OSVERSIONINFOEXW);
PSID_IDENTIFIER_AUTHORITY NTAPI RtlIdentifierAuthoritySid (PSID);
VOID NTAPI RtlInitAnsiString (PANSI_STRING, PCSTR);
NTSTATUS NTAPI RtlInitializeSid (PSID, PSID_IDENTIFIER_AUTHORITY, UCHAR);
VOID NTAPI RtlInitUnicodeString (PUNICODE_STRING, PCWSTR);
NTSTATUS NTAPI RtlIntegerToUnicodeString (ULONG, ULONG, PUNICODE_STRING);
ULONG NTAPI RtlIsDosDeviceName_U (PCWSTR);
NTSTATUS NTAPI RtlLeaveCriticalSection (PRTL_CRITICAL_SECTION);
ULONG NTAPI RtlLengthSecurityDescriptor (PSECURITY_DESCRIPTOR);
ULONG NTAPI RtlLengthSid (PSID);
ULONG NTAPI RtlNtStatusToDosError (NTSTATUS);
NTSTATUS NTAPI RtlOemStringToUnicodeString (PUNICODE_STRING, POEM_STRING,
BOOLEAN);
BOOLEAN NTAPI RtlPrefixUnicodeString (PUNICODE_STRING, PUNICODE_STRING,
BOOLEAN);
NTSTATUS NTAPI RtlQueryProcessDebugInformation (ULONG, ULONG, PDEBUG_BUFFER);
NTSTATUS NTAPI RtlQueryRegistryValues (ULONG, PCWSTR,
PRTL_QUERY_REGISTRY_TABLE, PVOID,
PVOID);
VOID NTAPI RtlReleasePebLock ();
VOID NTAPI RtlSecondsSince1970ToTime (ULONG, PLARGE_INTEGER);
NTSTATUS NTAPI RtlSetCurrentDirectory_U (PUNICODE_STRING);
BOOLEAN NTAPI RtlSetCurrentTransaction (HANDLE);
NTSTATUS NTAPI RtlSetControlSecurityDescriptor (PSECURITY_DESCRIPTOR,
SECURITY_DESCRIPTOR_CONTROL,
SECURITY_DESCRIPTOR_CONTROL);
NTSTATUS NTAPI RtlSetDaclSecurityDescriptor (PSECURITY_DESCRIPTOR, BOOLEAN,
PACL, BOOLEAN);
NTSTATUS NTAPI RtlSetGroupSecurityDescriptor (PSECURITY_DESCRIPTOR, PSID,
BOOLEAN);
NTSTATUS NTAPI RtlSetOwnerSecurityDescriptor (PSECURITY_DESCRIPTOR, PSID,
BOOLEAN);
PUCHAR NTAPI RtlSubAuthorityCountSid (PSID);
PULONG NTAPI RtlSubAuthoritySid (PSID, ULONG);
ULONG NTAPI RtlUnicodeStringToAnsiSize (PUNICODE_STRING);
NTSTATUS NTAPI RtlUnicodeStringToAnsiString (PANSI_STRING, PUNICODE_STRING,
BOOLEAN);
NTSTATUS NTAPI RtlUnicodeStringToOemString (PANSI_STRING, PUNICODE_STRING,
BOOLEAN);
WCHAR NTAPI RtlUpcaseUnicodeChar (WCHAR);
NTSTATUS NTAPI RtlUpcaseUnicodeString (PUNICODE_STRING, PUNICODE_STRING,
BOOLEAN); BOOLEAN);
NTSTATUS NTAPI RtlWriteRegistryValue (ULONG, PCWSTR, PCWSTR, ULONG, PVOID, NTSTATUS RtlAppendUnicodeToString (PUNICODE_STRING, PCWSTR);
ULONG); NTSTATUS RtlAppendUnicodeStringToString (PUNICODE_STRING, PUNICODE_STRING);
NTSTATUS RtlCheckRegistryKey (ULONG, PCWSTR);
LONG RtlCompareUnicodeString (PUNICODE_STRING, PUNICODE_STRING, BOOLEAN);
NTSTATUS RtlConvertSidToUnicodeString (PUNICODE_STRING, PSID, BOOLEAN);
NTSTATUS RtlConvertToAutoInheritSecurityObject (PSECURITY_DESCRIPTOR,
PSECURITY_DESCRIPTOR,
PSECURITY_DESCRIPTOR *,
GUID *, BOOLEAN,
PGENERIC_MAPPING);
NTSTATUS RtlCopySid (ULONG, PSID, PSID);
VOID RtlCopyUnicodeString (PUNICODE_STRING, PUNICODE_STRING);
NTSTATUS RtlCreateAcl (PACL, ULONG, ULONG);
PDEBUG_BUFFER RtlCreateQueryDebugBuffer (ULONG, BOOLEAN);
NTSTATUS RtlCreateSecurityDescriptor (PSECURITY_DESCRIPTOR, ULONG);
BOOLEAN RtlCreateUnicodeStringFromAsciiz (PUNICODE_STRING, PCSTR);
NTSTATUS RtlDeleteSecurityObject (PSECURITY_DESCRIPTOR *);
NTSTATUS RtlDestroyQueryDebugBuffer (PDEBUG_BUFFER);
NTSTATUS RtlDowncaseUnicodeString (PUNICODE_STRING, PUNICODE_STRING, BOOLEAN);
NTSTATUS RtlEnterCriticalSection (PRTL_CRITICAL_SECTION);
BOOLEAN RtlEqualPrefixSid (PSID, PSID);
BOOLEAN RtlEqualSid (PSID, PSID);
BOOLEAN RtlEqualUnicodeString (PUNICODE_STRING, PUNICODE_STRING, BOOLEAN);
BOOLEAN RtlFreeHeap (HANDLE, ULONG, PVOID);
VOID RtlFreeUnicodeString (PUNICODE_STRING);
BOOLEAN RtlFirstFreeAce (PACL, PVOID *);
NTSTATUS RtlGetAce (PACL, ULONG, PVOID);
NTSTATUS RtlGetControlSecurityDescriptor (PSECURITY_DESCRIPTOR,
PSECURITY_DESCRIPTOR_CONTROL,
PULONG);
HANDLE RtlGetCurrentTransaction ();
NTSTATUS RtlGetDaclSecurityDescriptor (PSECURITY_DESCRIPTOR, PBOOLEAN, PACL *,
PBOOLEAN);
NTSTATUS RtlGetGroupSecurityDescriptor (PSECURITY_DESCRIPTOR, PSID *,
PBOOLEAN);
NTSTATUS RtlGetNtVersionNumbers (LPDWORD, LPDWORD, LPDWORD);
NTSTATUS RtlGetOwnerSecurityDescriptor (PSECURITY_DESCRIPTOR, PSID *,
PBOOLEAN);
NTSTATUS RtlGetVersion (PRTL_OSVERSIONINFOEXW);
PSID_IDENTIFIER_AUTHORITY RtlIdentifierAuthoritySid (PSID);
VOID RtlInitAnsiString (PANSI_STRING, PCSTR);
NTSTATUS RtlInitializeSid (PSID, PSID_IDENTIFIER_AUTHORITY, UCHAR);
VOID RtlInitUnicodeString (PUNICODE_STRING, PCWSTR);
NTSTATUS RtlLeaveCriticalSection (PRTL_CRITICAL_SECTION);
ULONG RtlLengthSecurityDescriptor (PSECURITY_DESCRIPTOR);
ULONG RtlLengthSid (PSID);
ULONG RtlNtStatusToDosError (NTSTATUS);
BOOLEAN RtlPrefixUnicodeString (PUNICODE_STRING, PUNICODE_STRING, BOOLEAN);
NTSTATUS RtlQueryProcessDebugInformation (ULONG, ULONG, PDEBUG_BUFFER);
NTSTATUS RtlQueryRegistryValues (ULONG, PCWSTR, PRTL_QUERY_REGISTRY_TABLE,
PVOID, PVOID);
VOID RtlReleasePebLock ();
NTSTATUS RtlSetCurrentDirectory_U (PUNICODE_STRING);
BOOLEAN RtlSetCurrentTransaction (HANDLE);
NTSTATUS RtlSetControlSecurityDescriptor (PSECURITY_DESCRIPTOR,
SECURITY_DESCRIPTOR_CONTROL,
SECURITY_DESCRIPTOR_CONTROL);
NTSTATUS RtlSetDaclSecurityDescriptor (PSECURITY_DESCRIPTOR, BOOLEAN, PACL,
BOOLEAN);
NTSTATUS RtlSetGroupSecurityDescriptor (PSECURITY_DESCRIPTOR, PSID, BOOLEAN);
NTSTATUS RtlSetOwnerSecurityDescriptor (PSECURITY_DESCRIPTOR, PSID, BOOLEAN);
PUCHAR RtlSubAuthorityCountSid (PSID);
PULONG RtlSubAuthoritySid (PSID, ULONG);
ULONG RtlUnicodeStringToAnsiSize (PUNICODE_STRING);
NTSTATUS RtlUnicodeStringToAnsiString (PANSI_STRING, PUNICODE_STRING,
BOOLEAN);
WCHAR RtlUpcaseUnicodeChar (WCHAR);
NTSTATUS RtlUpcaseUnicodeString (PUNICODE_STRING, PUNICODE_STRING, BOOLEAN);
NTSTATUS RtlWriteRegistryValue (ULONG, PCWSTR, PCWSTR, ULONG, PVOID, ULONG);
#ifdef __cplusplus #ifdef __cplusplus
/* A few Rtl functions are either actually macros, or they just don't /* A few Rtl functions are either actually macros, or they just don't
@ -1680,8 +1620,7 @@ extern "C"
is missing entirely in w32api. */ is missing entirely in w32api. */
inline inline
VOID NTAPI RtlInitEmptyUnicodeString(PUNICODE_STRING dest, PWSTR buf, VOID RtlInitEmptyUnicodeString(PUNICODE_STRING dest, PWSTR buf, USHORT len)
USHORT len)
{ {
dest->Length = 0; dest->Length = 0;
dest->MaximumLength = len; dest->MaximumLength = len;
@ -1693,8 +1632,8 @@ extern "C"
is known, but you can't rely on the string being 0-terminated. is known, but you can't rely on the string being 0-terminated.
If you know it's 0-terminated, just use RtlInitUnicodeString(). */ If you know it's 0-terminated, just use RtlInitUnicodeString(). */
inline inline
VOID NTAPI RtlInitCountedUnicodeString (PUNICODE_STRING dest, PCWSTR buf, VOID RtlInitCountedUnicodeString (PUNICODE_STRING dest, PCWSTR buf,
USHORT len) USHORT len)
{ {
dest->Length = dest->MaximumLength = len; dest->Length = dest->MaximumLength = len;
dest->Buffer = (PWSTR) buf; dest->Buffer = (PWSTR) buf;
@ -1708,8 +1647,8 @@ extern "C"
backslash. If you don't need it, just subtract sizeof(WCHAR) from backslash. If you don't need it, just subtract sizeof(WCHAR) from
dirname.Length. */ dirname.Length. */
inline inline
VOID NTAPI RtlSplitUnicodePath (PUNICODE_STRING path, PUNICODE_STRING dirname, VOID RtlSplitUnicodePath (PUNICODE_STRING path, PUNICODE_STRING dirname,
PUNICODE_STRING basename) PUNICODE_STRING basename)
{ {
USHORT len = path->Length / sizeof (WCHAR); USHORT len = path->Length / sizeof (WCHAR);
while (len > 0 && path->Buffer[--len] != L'\\') while (len > 0 && path->Buffer[--len] != L'\\')
@ -1723,9 +1662,9 @@ extern "C"
} }
/* Check if prefix is a prefix of path. */ /* Check if prefix is a prefix of path. */
inline inline
BOOLEAN NTAPI RtlEqualUnicodePathPrefix (PUNICODE_STRING path, BOOLEAN RtlEqualUnicodePathPrefix (PUNICODE_STRING path,
PUNICODE_STRING prefix, PUNICODE_STRING prefix,
BOOLEAN caseinsensitive) BOOLEAN caseinsensitive)
{ {
UNICODE_STRING p; UNICODE_STRING p;
@ -1736,9 +1675,9 @@ extern "C"
} }
/* Check if suffix is a suffix of path. */ /* Check if suffix is a suffix of path. */
inline inline
BOOL NTAPI RtlEqualUnicodePathSuffix (PUNICODE_STRING path, BOOL RtlEqualUnicodePathSuffix (PUNICODE_STRING path,
PUNICODE_STRING suffix, PUNICODE_STRING suffix,
BOOLEAN caseinsensitive) BOOLEAN caseinsensitive)
{ {
UNICODE_STRING p; UNICODE_STRING p;
@ -1755,12 +1694,11 @@ extern "C"
otherwise overwrite dest. Returns either STATUS_SUCCESS, or otherwise overwrite dest. Returns either STATUS_SUCCESS, or
STATUS_BUFFER_OVERFLOW, if the unicode buffer is too small (hasn't STATUS_BUFFER_OVERFLOW, if the unicode buffer is too small (hasn't
room for 16 WCHARs). */ room for 16 WCHARs). */
NTSTATUS NTAPI RtlInt64ToHexUnicodeString (ULONGLONG value, NTSTATUS RtlInt64ToHexUnicodeString (ULONGLONG value, PUNICODE_STRING dest,
PUNICODE_STRING dest, BOOLEAN append);
BOOLEAN append);
/* Set file attributes. Don't change file times. */ /* Set file attributes. Don't change file times. */
inline inline
NTSTATUS NTAPI NtSetAttributesFile (HANDLE h, ULONG attr) NTSTATUS NtSetAttributesFile (HANDLE h, ULONG attr)
{ {
IO_STATUS_BLOCK io; IO_STATUS_BLOCK io;
FILE_BASIC_INFORMATION fbi; FILE_BASIC_INFORMATION fbi;
@ -1773,7 +1711,7 @@ extern "C"
/* This test for a signalled event is twice as fast as calling /* This test for a signalled event is twice as fast as calling
WaitForSingleObject (event, 0). */ WaitForSingleObject (event, 0). */
inline inline
BOOL NTAPI IsEventSignalled (HANDLE event) BOOL IsEventSignalled (HANDLE event)
{ {
EVENT_BASIC_INFORMATION ebi; EVENT_BASIC_INFORMATION ebi;
return NT_SUCCESS (NtQueryEvent (event, EventBasicInformation, return NT_SUCCESS (NtQueryEvent (event, EventBasicInformation,

View File

@ -131,8 +131,8 @@ extern "C"
#endif #endif
/* We need these declarations, otherwise g++ complains that the below /* We need these declarations, otherwise g++ complains that the below
inline methods use an undefined function, if ntdll.h isn't included. */ inline methods use an undefined function, if ntdll.h isn't included. */
BOOLEAN NTAPI RtlEqualSid (PSID, PSID); BOOLEAN RtlEqualSid (PSID, PSID);
NTSTATUS NTAPI RtlCopySid (ULONG, PSID, PSID); NTSTATUS RtlCopySid (ULONG, PSID, PSID);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif

View File

@ -882,7 +882,7 @@ slashify (const char *src, char *dst, bool trailing_slash_p)
static WCHAR hex_wchars[] = L"0123456789abcdef"; static WCHAR hex_wchars[] = L"0123456789abcdef";
NTSTATUS NTAPI NTSTATUS
RtlInt64ToHexUnicodeString (ULONGLONG value, PUNICODE_STRING dest, RtlInt64ToHexUnicodeString (ULONGLONG value, PUNICODE_STRING dest,
BOOLEAN append) BOOLEAN append)
{ {