Many fixes/reimplementations.
[wine] / include / ntdll.h
1 #ifndef __WINE_NTDLL_H
2 #define __WINE_NTDLL_H
3 /* ntdll.h 
4  *
5  * contains NT internal defines that don't show on the Win32 API level
6  *
7  * Copyright 1997 Marcus Meissner
8  */
9
10 #include "winbase.h"
11
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15
16 typedef DWORD NTSTATUS;
17
18 typedef struct _RTL_RWLOCK {
19         CRITICAL_SECTION        rtlCS;
20         HANDLE          hSharedReleaseSemaphore;
21         UINT                    uSharedWaiters;
22         HANDLE          hExclusiveReleaseSemaphore;
23         UINT                    uExclusiveWaiters;
24         INT                     iNumberActive;
25         HANDLE          hOwningThreadId;
26         DWORD                   dwTimeoutBoost;
27         PVOID                   pDebugInfo;
28 } RTL_RWLOCK, *LPRTL_RWLOCK;
29
30 VOID   WINAPI RtlInitializeResource(LPRTL_RWLOCK);
31 VOID   WINAPI RtlDeleteResource(LPRTL_RWLOCK);
32 BYTE   WINAPI RtlAcquireResourceExclusive(LPRTL_RWLOCK, BYTE fWait);
33 BYTE   WINAPI RtlAcquireResourceShared(LPRTL_RWLOCK, BYTE fWait);
34 VOID   WINAPI RtlReleaseResource(LPRTL_RWLOCK);
35 VOID   WINAPI RtlDumpResource(LPRTL_RWLOCK);
36
37 BOOL WINAPI IsValidSid(PSID);
38 BOOL WINAPI EqualSid(PSID,PSID);
39 BOOL WINAPI EqualPrefixSid(PSID,PSID);
40 DWORD  WINAPI GetSidLengthRequired(BYTE);
41 BOOL WINAPI AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY,BYTE,DWORD,
42                                        DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,
43                                        DWORD,PSID*);
44 VOID*  WINAPI FreeSid(PSID);
45 BOOL WINAPI InitializeSecurityDescriptor(SECURITY_DESCRIPTOR*,DWORD);
46 BOOL WINAPI InitializeSid(PSID,PSID_IDENTIFIER_AUTHORITY,BYTE);
47 DWORD* WINAPI GetSidSubAuthority(PSID,DWORD);
48 BYTE * WINAPI GetSidSubAuthorityCount(PSID);
49 DWORD  WINAPI GetLengthSid(PSID);
50 BOOL WINAPI CopySid(DWORD,PSID,PSID);
51 BOOL WINAPI LookupAccountSidA(LPCSTR,PSID,LPCSTR,LPDWORD,LPCSTR,LPDWORD,
52                                   PSID_NAME_USE);
53 BOOL WINAPI LookupAccountSidW(LPCWSTR,PSID,LPCWSTR,LPDWORD,LPCWSTR,LPDWORD,
54                                   PSID_NAME_USE);
55 PSID_IDENTIFIER_AUTHORITY WINAPI GetSidIdentifierAuthority(PSID);
56 INT       WINAPI AccessResource(HMODULE,HRSRC);
57
58 #ifdef __cplusplus
59 }
60 #endif
61
62 #endif  /* __WINE_NTDLL_H */