Changeset 31
- Timestamp:
- Jun 1, 1999, 11:57:25 PM (26 years ago)
- Location:
- trunk/include
- Files:
-
- 2 edited
-
odin.h (modified) (4 diffs)
-
win/ntddk.h (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/odin.h
r18 r31 14 14 */ 15 15 16 #ifdef CDECL 17 # undef CDECL 18 #endif 19 20 #ifdef EXPORT 21 # undef EXPORT 22 #endif 23 24 #ifdef WIN32API 25 # undef WIN32API 26 #endif 27 28 #ifdef SYSTEM 29 # undef SYSTEM 30 #endif 31 32 #ifdef PASCAL 33 # undef PASCAL 34 #endif 35 36 #ifdef UNALIGNED 37 # undef UNALIGNED 38 #endif 39 40 16 41 /* ---------- WATCOM C ---------- */ 17 42 #ifdef __WATCOMC__ … … 20 45 #define WIN32API __stdcall 21 46 #define SYSTEM __stdcall 47 #define PASCAL _Pascal 48 #define UNALIGNED 22 49 #else 23 50 … … 28 55 #define WIN32API __stdcall 29 56 #define SYSTEM __stdcall 57 #define PASCAL _Pascal 58 #define UNALIGNED 30 59 #else 31 60 … … 48 77 49 78 /* map WINE to ODIN */ 79 #ifdef WINAPI 80 # undef WINAPI 81 #endif 50 82 #define WINAPI WIN32API 51 83 -
trunk/include/win/ntddk.h
r4 r31 1 /* $Id: ntddk.h,v 1. 1 1999-05-24 20:19:15 ktkExp $ */2 3 /* 4 this file defines interfaces mainly exposed to device drivers and5 native nt dll's1 /* $Id: ntddk.h,v 1.2 1999-06-01 21:57:25 phaller Exp $ */ 2 3 /* 4 this file defines interfaces mainly exposed to device drivers and 5 native nt dll's 6 6 7 7 */ … … 11 11 #include <ntdef.h> 12 12 #include <winnt.h> 13 #include "winbase.h" /* fixme: should be taken out sometimes */13 #include "winbase.h" /* fixme: should be taken out sometimes */ 14 14 15 15 #ifdef __cplusplus … … 17 17 #endif 18 18 19 /****************** 20 * asynchronous I/O 21 */ 22 #undef Status /* conflict with X11-includes*/ 23 24 typedef struct _IO_STATUS_BLOCK 25 { union 26 { NTSTATUS Status; 27 PVOID Pointer; 28 } u; 29 ULONG_PTR Information; 30 } IO_STATUS_BLOCK, *PIO_STATUS_BLOCK; 31 32 typedef VOID (NTAPI *PIO_APC_ROUTINE) ( PVOID ApcContext, PIO_STATUS_BLOCK IoStatusBlock, ULONG Reserved ); 19 /****************** 20 * asynchronous I/O 21 */ 22 #undef Status /* conflict with X11-includes*/ 23 24 typedef struct _IO_STATUS_BLOCK 25 { union 26 { NTSTATUS Status; 27 PVOID Pointer; 28 } u; 29 ULONG_PTR Information; 30 } IO_STATUS_BLOCK, *PIO_STATUS_BLOCK; 31 32 typedef VOID (NTAPI IO_APC_ROUTINE) ( PVOID ApcContext, PIO_STATUS_BLOCK IoStatusBlock, ULONG Reserved ); 33 typedef IO_APC_ROUTINE *PIO_APIO_APC_ROUTINE; 34 33 35 34 36 typedef enum _KEY_INFORMATION_CLASS { 35 KeyBasicInformation,36 KeyNodeInformation,37 KeyFullInformation37 KeyBasicInformation, 38 KeyNodeInformation, 39 KeyFullInformation 38 40 } KEY_INFORMATION_CLASS; 39 41 40 42 typedef enum _KEY_VALUE_INFORMATION_CLASS { 41 KeyValueBasicInformation,42 KeyValueFullInformation,43 KeyValuePartialInformation,44 KeyValueFullInformationAlign64,45 KeyValuePartialInformationAlign6443 KeyValueBasicInformation, 44 KeyValueFullInformation, 45 KeyValuePartialInformation, 46 KeyValueFullInformationAlign64, 47 KeyValuePartialInformationAlign64 46 48 } KEY_VALUE_INFORMATION_CLASS; 47 49 48 typedef enum _THREADINFOCLASS 49 { ThreadBasicInformation,50 ThreadTimes,51 ThreadPriority,52 ThreadBasePriority,53 ThreadAffinityMask,54 ThreadImpersonationToken,55 ThreadDescriptorTableEntry,56 ThreadEnableAlignmentFaultFixup,57 ThreadEventPair_Reusable,58 ThreadQuerySetWin32StartAddress,59 ThreadZeroTlsCell,60 ThreadPerformanceCount,61 ThreadAmILastThread,62 ThreadIdealProcessor,63 ThreadPriorityBoost,64 ThreadSetTlsArrayAddress,65 ThreadIsIoPending,66 MaxThreadInfoClass50 typedef enum _THREADINFOCLASS 51 { ThreadBasicInformation, 52 ThreadTimes, 53 ThreadPriority, 54 ThreadBasePriority, 55 ThreadAffinityMask, 56 ThreadImpersonationToken, 57 ThreadDescriptorTableEntry, 58 ThreadEnableAlignmentFaultFixup, 59 ThreadEventPair_Reusable, 60 ThreadQuerySetWin32StartAddress, 61 ThreadZeroTlsCell, 62 ThreadPerformanceCount, 63 ThreadAmILastThread, 64 ThreadIdealProcessor, 65 ThreadPriorityBoost, 66 ThreadSetTlsArrayAddress, 67 ThreadIsIoPending, 68 MaxThreadInfoClass 67 69 } THREADINFOCLASS; 68 70 69 71 typedef enum _FILE_INFORMATION_CLASS { 70 FileDirectoryInformation = 1,71 FileFullDirectoryInformation,72 FileBothDirectoryInformation,73 FileBasicInformation,74 FileStandardInformation,75 FileInternalInformation,76 FileEaInformation,77 FileAccessInformation,78 FileNameInformation,79 FileRenameInformation,80 FileLinkInformation,81 FileNamesInformation,82 FileDispositionInformation,83 FilePositionInformation,84 FileFullEaInformation,85 FileModeInformation,86 FileAlignmentInformation,87 FileAllInformation,88 FileAllocationInformation,89 FileEndOfFileInformation,90 FileAlternateNameInformation,91 FileStreamInformation,92 FilePipeInformation,93 FilePipeLocalInformation,94 FilePipeRemoteInformation,95 FileMailslotQueryInformation,96 FileMailslotSetInformation,97 FileCompressionInformation,98 FileObjectIdInformation,99 FileCompletionInformation,100 FileMoveClusterInformation,101 FileQuotaInformation,102 FileReparsePointInformation,103 FileNetworkOpenInformation,104 FileAttributeTagInformation,105 FileTrackingInformation,106 FileMaximumInformation72 FileDirectoryInformation = 1, 73 FileFullDirectoryInformation, 74 FileBothDirectoryInformation, 75 FileBasicInformation, 76 FileStandardInformation, 77 FileInternalInformation, 78 FileEaInformation, 79 FileAccessInformation, 80 FileNameInformation, 81 FileRenameInformation, 82 FileLinkInformation, 83 FileNamesInformation, 84 FileDispositionInformation, 85 FilePositionInformation, 86 FileFullEaInformation, 87 FileModeInformation, 88 FileAlignmentInformation, 89 FileAllInformation, 90 FileAllocationInformation, 91 FileEndOfFileInformation, 92 FileAlternateNameInformation, 93 FileStreamInformation, 94 FilePipeInformation, 95 FilePipeLocalInformation, 96 FilePipeRemoteInformation, 97 FileMailslotQueryInformation, 98 FileMailslotSetInformation, 99 FileCompressionInformation, 100 FileObjectIdInformation, 101 FileCompletionInformation, 102 FileMoveClusterInformation, 103 FileQuotaInformation, 104 FileReparsePointInformation, 105 FileNetworkOpenInformation, 106 FileAttributeTagInformation, 107 FileTrackingInformation, 108 FileMaximumInformation 107 109 } FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS; 108 110 109 typedef enum _SECTION_INHERIT 111 typedef enum _SECTION_INHERIT 110 112 { 111 ViewShare = 1,112 ViewUnmap = 2113 ViewShare = 1, 114 ViewUnmap = 2 113 115 114 116 } SECTION_INHERIT; 115 116 /* 117 placeholder117 118 /* 119 placeholder 118 120 */ 119 121 typedef enum _OBJECT_INFORMATION_CLASS 120 122 { 121 DunnoTheConstants1123 DunnoTheConstants1 122 124 123 125 } OBJECT_INFORMATION_CLASS, *POBJECT_INFORMATION_CLASS; … … 125 127 126 128 /* 127 * NtQuerySystemInformation129 * NtQuerySystemInformation 128 130 */ 129 131 130 132 typedef enum SYSTEM_INFORMATION_CLASS 131 { Unknown1 = 1,132 Unknown2,133 Unknown3,134 Unknown4,135 SystemPerformanceInformation133 { Unknown1 = 1, 134 Unknown2, 135 Unknown3, 136 Unknown4, 137 SystemPerformanceInformation 136 138 } SYSTEM_INFORMATION_CLASS, *PSYSTEM_INFORMATION_CLASS; 137 139 138 140 /* reading coffee grounds... */ 139 141 typedef struct _THREAD_INFO 140 { DWORDUnknown1[6];141 DWORDThreadID;142 DWORDUnknown2[3];143 DWORDStatus;144 DWORDWaitReason;145 DWORDUnknown3[4];142 { DWORD Unknown1[6]; 143 DWORD ThreadID; 144 DWORD Unknown2[3]; 145 DWORD Status; 146 DWORD WaitReason; 147 DWORD Unknown3[4]; 146 148 } THREAD_INFO, PTHREAD_INFO; 147 149 148 150 typedef struct _VM_COUNTERS_ 149 { ULONG PeakVirtualSize;150 ULONG VirtualSize;151 ULONG PageFaultCount;152 ULONG PeakWorkingSetSize;153 ULONG WorkingSetSize;154 ULONG QuotaPeakPagedPoolUsage;155 ULONG QuotaPagedPoolUsage;156 ULONG QuotaPeakNonPagedPoolUsage;157 ULONG QuotaNonPagedPoolUsage;158 ULONG PagefileUsage;159 ULONG PeakPagefileUsage;151 { ULONG PeakVirtualSize; 152 ULONG VirtualSize; 153 ULONG PageFaultCount; 154 ULONG PeakWorkingSetSize; 155 ULONG WorkingSetSize; 156 ULONG QuotaPeakPagedPoolUsage; 157 ULONG QuotaPagedPoolUsage; 158 ULONG QuotaPeakNonPagedPoolUsage; 159 ULONG QuotaNonPagedPoolUsage; 160 ULONG PagefileUsage; 161 ULONG PeakPagefileUsage; 160 162 } VM_COUNTERS, *PVM_COUNTERS; 161 163 162 164 typedef struct _PROCESS_INFO 163 { DWORD Offset;/* 00 offset to next PROCESS_INFO ok*/164 DWORD ThreadCount;/* 04 number of ThreadInfo member ok */165 DWORDUnknown1[6];166 FILETIME CreationTime;/* 20 */167 DWORDUnknown2[5];168 PWCHAR ProcessName;/* 3c ok */169 DWORDBasePriority;170 DWORD ProcessID;/* 44 ok*/171 DWORDParentProcessID;172 DWORDHandleCount;173 DWORD Unknown3[2];/* 50 */174 ULONGPeakVirtualSize;175 ULONGVirtualSize;176 ULONGPageFaultCount;177 ULONGPeakWorkingSetSize;178 ULONGWorkingSetSize;179 ULONGQuotaPeakPagedPoolUsage;180 ULONGQuotaPagedPoolUsage;181 ULONGQuotaPeakNonPagedPoolUsage;182 ULONGQuotaNonPagedPoolUsage;183 ULONGPagefileUsage;184 ULONGPeakPagefileUsage;185 DWORDPrivateBytes;186 DWORDUnknown6[4];187 THREAD_INFO ati[ANYSIZE_ARRAY];/* 94 size=0x40*/165 { DWORD Offset; /* 00 offset to next PROCESS_INFO ok*/ 166 DWORD ThreadCount; /* 04 number of ThreadInfo member ok */ 167 DWORD Unknown1[6]; 168 FILETIME CreationTime; /* 20 */ 169 DWORD Unknown2[5]; 170 PWCHAR ProcessName; /* 3c ok */ 171 DWORD BasePriority; 172 DWORD ProcessID; /* 44 ok*/ 173 DWORD ParentProcessID; 174 DWORD HandleCount; 175 DWORD Unknown3[2]; /* 50 */ 176 ULONG PeakVirtualSize; 177 ULONG VirtualSize; 178 ULONG PageFaultCount; 179 ULONG PeakWorkingSetSize; 180 ULONG WorkingSetSize; 181 ULONG QuotaPeakPagedPoolUsage; 182 ULONG QuotaPagedPoolUsage; 183 ULONG QuotaPeakNonPagedPoolUsage; 184 ULONG QuotaNonPagedPoolUsage; 185 ULONG PagefileUsage; 186 ULONG PeakPagefileUsage; 187 DWORD PrivateBytes; 188 DWORD Unknown6[4]; 189 THREAD_INFO ati[ANYSIZE_ARRAY]; /* 94 size=0x40*/ 188 190 } PROCESS_INFO, PPROCESS_INFO; 189 191 190 192 NTSTATUS WINAPI NtQuerySystemInformation( 191 IN SYSTEM_INFORMATION_CLASS SystemInformationClass,192 OUT PVOID SystemInformation,193 IN ULONG Length,194 OUT PULONG ResultLength);195 196 /* 197 * system configuration193 IN SYSTEM_INFORMATION_CLASS SystemInformationClass, 194 OUT PVOID SystemInformation, 195 IN ULONG Length, 196 OUT PULONG ResultLength); 197 198 /* 199 * system configuration 198 200 */ 199 201 … … 201 203 typedef struct _SYSTEM_TIME_ADJUSTMENT 202 204 { 203 ULONGTimeAdjustment;204 BOOLEANTimeAdjustmentDisabled;205 ULONG TimeAdjustment; 206 BOOLEAN TimeAdjustmentDisabled; 205 207 206 208 } SYSTEM_TIME_ADJUSTMENT, *PSYSTEM_TIME_ADJUSTMENT; 207 209 208 typedef struct _SYSTEM_CONFIGURATION_INFO 210 typedef struct _SYSTEM_CONFIGURATION_INFO 209 211 { 210 union 211 { ULONGOemId;212 struct 213 { WORDProcessorArchitecture;214 WORDReserved;215 } tag1;216 } tag2;217 ULONGPageSize;218 PVOIDMinimumApplicationAddress;219 PVOIDMaximumApplicationAddress;220 ULONGActiveProcessorMask;221 ULONGNumberOfProcessors;222 ULONGProcessorType;223 ULONGAllocationGranularity;224 WORDProcessorLevel;225 WORDProcessorRevision;212 union 213 { ULONG OemId; 214 struct 215 { WORD ProcessorArchitecture; 216 WORD Reserved; 217 } tag1; 218 } tag2; 219 ULONG PageSize; 220 PVOID MinimumApplicationAddress; 221 PVOID MaximumApplicationAddress; 222 ULONG ActiveProcessorMask; 223 ULONG NumberOfProcessors; 224 ULONG ProcessorType; 225 ULONG AllocationGranularity; 226 WORD ProcessorLevel; 227 WORD ProcessorRevision; 226 228 227 229 } SYSTEM_CONFIGURATION_INFO, *PSYSTEM_CONFIGURATION_INFO; 228 230 229 231 230 typedef struct _SYSTEM_CACHE_INFORMATION 232 typedef struct _SYSTEM_CACHE_INFORMATION 231 233 { 232 ULONGCurrentSize;233 ULONGPeakSize;234 ULONGPageFaultCount;235 ULONGMinimumWorkingSet;236 ULONGMaximumWorkingSet;237 ULONGUnused[4];234 ULONG CurrentSize; 235 ULONG PeakSize; 236 ULONG PageFaultCount; 237 ULONG MinimumWorkingSet; 238 ULONG MaximumWorkingSet; 239 ULONG Unused[4]; 238 240 239 241 } SYSTEM_CACHE_INFORMATION; 240 242 241 243 /* 242 * NtQueryProcessInformation244 * NtQueryProcessInformation 243 245 */ 244 246 245 247 /* parameter ProcessInformationClass */ 246 248 247 typedef enum _PROCESSINFOCLASS 248 { ProcessBasicInformation,249 ProcessQuotaLimits,250 ProcessIoCounters,251 ProcessVmCounters,252 ProcessTimes,253 ProcessBasePriority,254 ProcessRaisePriority,255 ProcessDebugPort,256 ProcessExceptionPort,257 ProcessAccessToken,258 ProcessLdtInformation,259 ProcessLdtSize,260 ProcessDefaultHardErrorMode,261 ProcessIoPortHandlers,262 ProcessPooledUsageAndLimits,263 ProcessWorkingSetWatch,264 ProcessUserModeIOPL,265 ProcessEnableAlignmentFaultFixup,266 ProcessPriorityClass,267 ProcessWx86Information,268 ProcessHandleCount,269 ProcessAffinityMask,270 ProcessPriorityBoost,271 ProcessDeviceMap,272 ProcessSessionInformation,273 ProcessForegroundInformation,274 ProcessWow64Information,275 MaxProcessInfoClass249 typedef enum _PROCESSINFOCLASS 250 { ProcessBasicInformation, 251 ProcessQuotaLimits, 252 ProcessIoCounters, 253 ProcessVmCounters, 254 ProcessTimes, 255 ProcessBasePriority, 256 ProcessRaisePriority, 257 ProcessDebugPort, 258 ProcessExceptionPort, 259 ProcessAccessToken, 260 ProcessLdtInformation, 261 ProcessLdtSize, 262 ProcessDefaultHardErrorMode, 263 ProcessIoPortHandlers, 264 ProcessPooledUsageAndLimits, 265 ProcessWorkingSetWatch, 266 ProcessUserModeIOPL, 267 ProcessEnableAlignmentFaultFixup, 268 ProcessPriorityClass, 269 ProcessWx86Information, 270 ProcessHandleCount, 271 ProcessAffinityMask, 272 ProcessPriorityBoost, 273 ProcessDeviceMap, 274 ProcessSessionInformation, 275 ProcessForegroundInformation, 276 ProcessWow64Information, 277 MaxProcessInfoClass 276 278 } PROCESSINFOCLASS; 277 279 278 280 /* parameter ProcessInformation (depending on ProcessInformationClass) */ 279 281 280 typedef struct _PROCESS_BASIC_INFORMATION 281 { DWORDExitStatus;282 DWORDPebBaseAddress;283 DWORDAffinityMask;284 DWORDBasePriority;285 ULONGUniqueProcessId;286 ULONGInheritedFromUniqueProcessId;282 typedef struct _PROCESS_BASIC_INFORMATION 283 { DWORD ExitStatus; 284 DWORD PebBaseAddress; 285 DWORD AffinityMask; 286 DWORD BasePriority; 287 ULONG UniqueProcessId; 288 ULONG InheritedFromUniqueProcessId; 287 289 } PROCESS_BASIC_INFORMATION; 288 290 289 291 NTSTATUS WINAPI NtQueryInformationProcess( 290 IN HANDLE ProcessHandle,291 IN PROCESSINFOCLASS ProcessInformationClass,292 OUT PVOID ProcessInformation,293 IN ULONG ProcessInformationLength,294 OUT PULONG ReturnLength);292 IN HANDLE ProcessHandle, 293 IN PROCESSINFOCLASS ProcessInformationClass, 294 OUT PVOID ProcessInformation, 295 IN ULONG ProcessInformationLength, 296 OUT PULONG ReturnLength); 295 297 296 298 #define NtCurrentProcess() ( (HANDLE) -1 ) 297 299 298 300 /* 299 * timer300 */ 301 302 typedef enum _TIMER_TYPE 301 * timer 302 */ 303 304 typedef enum _TIMER_TYPE 303 305 { 304 NotificationTimer,305 SynchronizationTimer306 NotificationTimer, 307 SynchronizationTimer 306 308 307 309 } TIMER_TYPE; 308 310 309 311 /* 310 * token functions311 */ 312 312 * token functions 313 */ 314 313 315 NTSTATUS WINAPI NtOpenProcessToken( 314 HANDLE ProcessHandle,315 DWORD DesiredAccess, 316 HANDLE *TokenHandle);317 316 HANDLE ProcessHandle, 317 DWORD DesiredAccess, 318 HANDLE *TokenHandle); 319 318 320 NTSTATUS WINAPI NtOpenThreadToken( 319 HANDLE ThreadHandle,320 DWORD DesiredAccess, 321 BOOLEAN OpenAsSelf,322 HANDLE *TokenHandle);321 HANDLE ThreadHandle, 322 DWORD DesiredAccess, 323 BOOLEAN OpenAsSelf, 324 HANDLE *TokenHandle); 323 325 324 326 NTSTATUS WINAPI NtAdjustPrivilegesToken( 325 IN HANDLE TokenHandle,326 IN BOOLEAN DisableAllPrivileges,327 IN PTOKEN_PRIVILEGES NewState,328 IN DWORD BufferLength,329 OUT PTOKEN_PRIVILEGES PreviousState,330 OUT PDWORD ReturnLength);327 IN HANDLE TokenHandle, 328 IN BOOLEAN DisableAllPrivileges, 329 IN PTOKEN_PRIVILEGES NewState, 330 IN DWORD BufferLength, 331 OUT PTOKEN_PRIVILEGES PreviousState, 332 OUT PDWORD ReturnLength); 331 333 332 334 NTSTATUS WINAPI NtQueryInformationToken( 333 HANDLE token,334 DWORD tokeninfoclass, 335 LPVOID tokeninfo,336 DWORD tokeninfolength,337 LPDWORD retlen );338 339 /* 340 * sid functions335 HANDLE token, 336 DWORD tokeninfoclass, 337 LPVOID tokeninfo, 338 DWORD tokeninfolength, 339 LPDWORD retlen ); 340 341 /* 342 * sid functions 341 343 */ 342 344 343 345 BOOLEAN WINAPI RtlAllocateAndInitializeSid ( 344 PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority,345 DWORD nSubAuthorityCount,346 DWORD x3,347 DWORD x4,348 DWORD x5,349 DWORD x6,350 DWORD x7,351 DWORD x8,352 DWORD x9,353 DWORD x10,354 PSID pSid);355 346 PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority, 347 DWORD nSubAuthorityCount, 348 DWORD x3, 349 DWORD x4, 350 DWORD x5, 351 DWORD x6, 352 DWORD x7, 353 DWORD x8, 354 DWORD x9, 355 DWORD x10, 356 PSID pSid); 357 356 358 DWORD WINAPI RtlEqualSid(DWORD x1,DWORD x2); 357 359 DWORD WINAPI RtlFreeSid(DWORD x1); … … 364 366 365 367 /* 366 * security descriptor functions368 * security descriptor functions 367 369 */ 368 370 369 371 NTSTATUS WINAPI RtlCreateSecurityDescriptor( 370 PSECURITY_DESCRIPTOR lpsd,371 DWORD rev);372 PSECURITY_DESCRIPTOR lpsd, 373 DWORD rev); 372 374 373 375 NTSTATUS WINAPI RtlValidSecurityDescriptor( 374 PSECURITY_DESCRIPTOR SecurityDescriptor);376 PSECURITY_DESCRIPTOR SecurityDescriptor); 375 377 376 378 ULONG WINAPI RtlLengthSecurityDescriptor( 377 PSECURITY_DESCRIPTOR SecurityDescriptor);379 PSECURITY_DESCRIPTOR SecurityDescriptor); 378 380 379 381 NTSTATUS WINAPI RtlGetDaclSecurityDescriptor( 380 IN PSECURITY_DESCRIPTOR pSecurityDescriptor,381 OUT PBOOLEAN lpbDaclPresent,382 OUT PACL *pDacl,383 OUT PBOOLEAN lpbDaclDefaulted);382 IN PSECURITY_DESCRIPTOR pSecurityDescriptor, 383 OUT PBOOLEAN lpbDaclPresent, 384 OUT PACL *pDacl, 385 OUT PBOOLEAN lpbDaclDefaulted); 384 386 385 387 NTSTATUS WINAPI RtlSetDaclSecurityDescriptor ( 386 PSECURITY_DESCRIPTOR lpsd,387 BOOLEAN daclpresent,388 PACL dacl,389 BOOLEAN dacldefaulted );388 PSECURITY_DESCRIPTOR lpsd, 389 BOOLEAN daclpresent, 390 PACL dacl, 391 BOOLEAN dacldefaulted ); 390 392 391 393 NTSTATUS WINAPI RtlGetSaclSecurityDescriptor( 392 IN PSECURITY_DESCRIPTOR pSecurityDescriptor,393 OUT PBOOLEAN lpbSaclPresent,394 OUT PACL *pSacl,395 OUT PBOOLEAN lpbSaclDefaulted);394 IN PSECURITY_DESCRIPTOR pSecurityDescriptor, 395 OUT PBOOLEAN lpbSaclPresent, 396 OUT PACL *pSacl, 397 OUT PBOOLEAN lpbSaclDefaulted); 396 398 397 399 NTSTATUS WINAPI RtlSetSaclSecurityDescriptor ( 398 PSECURITY_DESCRIPTOR lpsd,399 BOOLEAN saclpresent,400 PACL sacl,401 BOOLEAN sacldefaulted);400 PSECURITY_DESCRIPTOR lpsd, 401 BOOLEAN saclpresent, 402 PACL sacl, 403 BOOLEAN sacldefaulted); 402 404 403 405 NTSTATUS WINAPI RtlGetOwnerSecurityDescriptor( 404 PSECURITY_DESCRIPTOR SecurityDescriptor,405 PSID *Owner,406 PBOOLEAN OwnerDefaulted);406 PSECURITY_DESCRIPTOR SecurityDescriptor, 407 PSID *Owner, 408 PBOOLEAN OwnerDefaulted); 407 409 408 410 NTSTATUS WINAPI RtlSetOwnerSecurityDescriptor( 409 PSECURITY_DESCRIPTOR lpsd,410 PSID owner,411 BOOLEAN ownerdefaulted);411 PSECURITY_DESCRIPTOR lpsd, 412 PSID owner, 413 BOOLEAN ownerdefaulted); 412 414 413 415 NTSTATUS WINAPI RtlSetGroupSecurityDescriptor ( 414 PSECURITY_DESCRIPTOR lpsd,415 PSID group,416 BOOLEAN groupdefaulted);416 PSECURITY_DESCRIPTOR lpsd, 417 PSID group, 418 BOOLEAN groupdefaulted); 417 419 418 420 NTSTATUS WINAPI RtlGetGroupSecurityDescriptor( 419 PSECURITY_DESCRIPTOR SecurityDescriptor,420 PSID *Group,421 PBOOLEAN GroupDefaulted);422 423 /* ##############################424 ###### ACL FUNCTIONS######425 ##############################421 PSECURITY_DESCRIPTOR SecurityDescriptor, 422 PSID *Group, 423 PBOOLEAN GroupDefaulted); 424 425 /* ############################## 426 ###### ACL FUNCTIONS ###### 427 ############################## 426 428 */ 427 429 … … 429 431 430 432 BOOLEAN WINAPI RtlFirstFreeAce( 431 PACL acl,432 PACE_HEADER *x);433 PACL acl, 434 PACE_HEADER *x); 433 435 434 436 NTSTATUS WINAPI RtlAddAce( 435 PACL acl,436 DWORD rev,437 DWORD xnrofaces,438 PACE_HEADER acestart,439 DWORD acelen);440 437 PACL acl, 438 DWORD rev, 439 DWORD xnrofaces, 440 PACE_HEADER acestart, 441 DWORD acelen); 442 441 443 DWORD WINAPI RtlAddAccessAllowedAce(DWORD x1,DWORD x2,DWORD x3,DWORD x4); 442 444 DWORD WINAPI RtlGetAce(PACL pAcl,DWORD dwAceIndex,LPVOID *pAce ); 443 445 444 446 /* 445 * string functions447 * string functions 446 448 */ 447 449 … … 466 468 467 469 /* 468 * resource functions470 * resource functions 469 471 */ 470 472 471 473 typedef struct _RTL_RWLOCK { 472 CRITICAL_SECTIONrtlCS;473 HANDLEhSharedReleaseSemaphore;474 UINTuSharedWaiters;475 HANDLEhExclusiveReleaseSemaphore;476 UINTuExclusiveWaiters;477 INTiNumberActive;478 HANDLEhOwningThreadId;479 DWORDdwTimeoutBoost;480 PVOIDpDebugInfo;474 CRITICAL_SECTION rtlCS; 475 HANDLE hSharedReleaseSemaphore; 476 UINT uSharedWaiters; 477 HANDLE hExclusiveReleaseSemaphore; 478 UINT uExclusiveWaiters; 479 INT iNumberActive; 480 HANDLE hOwningThreadId; 481 DWORD dwTimeoutBoost; 482 PVOID pDebugInfo; 481 483 } RTL_RWLOCK, *LPRTL_RWLOCK; 482 484 483 485 VOID WINAPI RtlInitializeResource( 484 LPRTL_RWLOCK);485 486 LPRTL_RWLOCK); 487 486 488 VOID WINAPI RtlDeleteResource( 487 LPRTL_RWLOCK);488 489 LPRTL_RWLOCK); 490 489 491 BYTE WINAPI RtlAcquireResourceExclusive( 490 LPRTL_RWLOCK, BYTE fWait);491 492 LPRTL_RWLOCK, BYTE fWait); 493 492 494 BYTE WINAPI RtlAcquireResourceShared( 493 LPRTL_RWLOCK, BYTE fWait);494 495 LPRTL_RWLOCK, BYTE fWait); 496 495 497 VOID WINAPI RtlReleaseResource( 496 LPRTL_RWLOCK);497 498 LPRTL_RWLOCK); 499 498 500 VOID WINAPI RtlDumpResource( 499 LPRTL_RWLOCK);500 501 /* 502 time functions503 */ 504 505 typedef struct _TIME_FIELDS 501 LPRTL_RWLOCK); 502 503 /* 504 time functions 505 */ 506 507 typedef struct _TIME_FIELDS 506 508 { CSHORT Year; 507 509 CSHORT Month; … … 517 519 518 520 VOID WINAPI RtlSystemTimeToLocalTime( 519 IN PLARGE_INTEGER SystemTime,520 OUT PLARGE_INTEGER LocalTime);521 IN PLARGE_INTEGER SystemTime, 522 OUT PLARGE_INTEGER LocalTime); 521 523 522 524 VOID WINAPI RtlTimeToTimeFields( 523 PLARGE_INTEGER liTime,524 PTIME_FIELDS TimeFields);525 PLARGE_INTEGER liTime, 526 PTIME_FIELDS TimeFields); 525 527 526 528 BOOLEAN WINAPI RtlTimeFieldsToTime( 527 PTIME_FIELDS tfTimeFields,528 PLARGE_INTEGER Time);529 529 PTIME_FIELDS tfTimeFields, 530 PLARGE_INTEGER Time); 531 530 532 VOID WINAPI RtlTimeToElapsedTimeFields( 531 PLARGE_INTEGER liTime,532 PTIME_FIELDS TimeFields);533 533 PLARGE_INTEGER liTime, 534 PTIME_FIELDS TimeFields); 535 534 536 BOOLEAN WINAPI RtlTimeToSecondsSince1980( 535 LPFILETIME ft,536 LPDWORD timeret);537 LPFILETIME ft, 538 LPDWORD timeret); 537 539 538 540 BOOLEAN WINAPI RtlTimeToSecondsSince1970( 539 LPFILETIME ft,540 LPDWORD timeret);541 542 /* 543 heap functions541 LPFILETIME ft, 542 LPDWORD timeret); 543 544 /* 545 heap functions 544 546 */ 545 547 … … 549 551 550 552 typedef struct 551 { ULONG Length;/* = sizeof(RTL_HEAP_DEFINITION) */552 ULONGUnknown[11];553 { ULONG Length; /* = sizeof(RTL_HEAP_DEFINITION) */ 554 ULONG Unknown[11]; 553 555 } RTL_HEAP_DEFINITION, *PRTL_HEAP_DEFINITION; 554 556 555 557 HANDLE WINAPI RtlCreateHeap( 556 ULONG Flags,557 PVOID BaseAddress,558 ULONG SizeToReserve,559 ULONG SizeToCommit,560 PVOID Unknown,561 PRTL_HEAP_DEFINITION Definition);558 ULONG Flags, 559 PVOID BaseAddress, 560 ULONG SizeToReserve, 561 ULONG SizeToCommit, 562 PVOID Unknown, 563 PRTL_HEAP_DEFINITION Definition); 562 564 563 565 PVOID WINAPI RtlAllocateHeap( 564 HANDLE Heap,565 ULONG Flags,566 ULONG Size);566 HANDLE Heap, 567 ULONG Flags, 568 ULONG Size); 567 569 568 570 569 571 BOOLEAN WINAPI RtlFreeHeap( 570 HANDLE Heap,571 ULONG Flags,572 PVOID Address);573 574 /* 575 * misc572 HANDLE Heap, 573 ULONG Flags, 574 PVOID Address); 575 576 /* 577 * misc 576 578 */ 577 579 void __cdecl DbgPrint(LPCSTR fmt,LPVOID args);
Note:
See TracChangeset
for help on using the changeset viewer.
