Author: akhaldi Date: Fri Mar 5 23:36:10 2010 New Revision: 45898
URL: http://svn.reactos.org/svn/reactos?rev=45898&view=rev Log: [NTIFS] - Introduce #pragma once - Add missing includes - Add some struct forwarders - Add PsGetCurrentProcess, KeNumberProcessors, LSA_UNICODE_STRING, *PLSA_UNICODE_STRING, LSA_OBJECT_ATTRIBUTES and *PLSA_OBJECT_ATTRIBUTES definitions - Add SID_NAME_USE enum - Group related definitions
Modified: branches/header-work/include/ddk/ntifs.h
Modified: branches/header-work/include/ddk/ntifs.h URL: http://svn.reactos.org/svn/reactos/branches/header-work/include/ddk/ntifs.h?... ============================================================================== --- branches/header-work/include/ddk/ntifs.h [iso-8859-1] (original) +++ branches/header-work/include/ddk/ntifs.h [iso-8859-1] Fri Mar 5 23:36:10 2010 @@ -20,8 +20,9 @@ * */
-#ifndef _NTIFS_ -#define _NTIFS_ +#pragma once + +#define _NTIFS_INCLUDED_ #define _GNU_NTIFS_
/* Helper macro to enable gcc's extension. */ @@ -33,15 +34,96 @@ #endif #endif
-#define NTKERNELAPI DECLSPEC_IMPORT - -#include <ntddk.h> - -#define _NTIFS_INCLUDED_ #ifdef __cplusplus extern "C" { #endif
+#define NTKERNELAPI DECLSPEC_IMPORT +#define NTHALAPI DECLSPEC_IMPORT + +#include <ntddk.h> +#include <excpt.h> +#include <ntdef.h> +#include <ntnls.h> +#include <ntstatus.h> +#include <bugcodes.h> +#include <ntiologc.h> + +#ifndef FlagOn +#define FlagOn(_F,_SF) ((_F) & (_SF)) +#endif + +#ifndef BooleanFlagOn +#define BooleanFlagOn(F,SF) ((BOOLEAN)(((F) & (SF)) != 0)) +#endif + +#ifndef SetFlag +#define SetFlag(_F,_SF) ((_F) |= (_SF)) +#endif + +#ifndef ClearFlag +#define ClearFlag(_F,_SF) ((_F) &= ~(_SF)) +#endif + +typedef struct _BUS_HANDLER *PBUS_HANDLER; +typedef struct _CALLBACK_OBJECT *PCALLBACK_OBJECT; +typedef struct _DEVICE_HANDLER_OBJECT *PDEVICE_HANDLER_OBJECT; +typedef struct _IO_TIMER *PIO_TIMER; +typedef struct _KINTERRUPT *PKINTERRUPT; +typedef struct _KPROCESS *PKPROCESS ,*PRKPROCESS, *PEPROCESS; +typedef struct _KTHREAD *PKTHREAD, *PRKTHREAD, *PETHREAD; +typedef struct _OBJECT_TYPE *POBJECT_TYPE; +typedef struct _PEB *PPEB; +typedef struct _ACL *PACL; + +#define PsGetCurrentProcess IoGetCurrentProcess + +#if (NTDDI_VERSION >= NTDDI_VISTA) +extern NTSYSAPI volatile CCHAR KeNumberProcessors; +#elif (NTDDI_VERSION >= NTDDI_WINXP) +extern NTSYSAPI CCHAR KeNumberProcessors; +#else +extern PCCHAR KeNumberProcessors; +#endif + +typedef UNICODE_STRING LSA_UNICODE_STRING, *PLSA_UNICODE_STRING; +typedef STRING LSA_STRING, *PLSA_STRING; +typedef OBJECT_ATTRIBUTES LSA_OBJECT_ATTRIBUTES, *PLSA_OBJECT_ATTRIBUTES; + +#ifndef SID_IDENTIFIER_AUTHORITY_DEFINED +#define SID_IDENTIFIER_AUTHORITY_DEFINED +typedef struct _SID_IDENTIFIER_AUTHORITY { + UCHAR Value[6]; +} SID_IDENTIFIER_AUTHORITY,*PSID_IDENTIFIER_AUTHORITY,*LPSID_IDENTIFIER_AUTHORITY; +#endif + +#ifndef SID_DEFINED +#define SID_DEFINED +typedef struct _SID { + UCHAR Revision; + UCHAR SubAuthorityCount; + SID_IDENTIFIER_AUTHORITY IdentifierAuthority; + ULONG SubAuthority[ANYSIZE_ARRAY]; +} SID, *PISID; +#endif + +#define SID_REVISION 1 +#define SID_MAX_SUB_AUTHORITIES 15 +#define SID_RECOMMENDED_SUB_AUTHORITIES 1 + +typedef enum _SID_NAME_USE { + SidTypeUser = 1, + SidTypeGroup, + SidTypeDomain, + SidTypeAlias, + SidTypeWellKnownGroup, + SidTypeDeletedAccount, + SidTypeInvalid, + SidTypeUnknown, + SidTypeComputer, + SidTypeLabel +} SID_NAME_USE, *PSID_NAME_USE; + #pragma pack(push,4)
#ifndef VER_PRODUCTBUILD @@ -51,23 +133,6 @@ #define EX_PUSH_LOCK ULONG_PTR #define PEX_PUSH_LOCK PULONG_PTR
- -#ifndef FlagOn -#define FlagOn(_F,_SF) ((_F) & (_SF)) -#endif - -#ifndef BooleanFlagOn -#define BooleanFlagOn(F,SF) ((BOOLEAN)(((F) & (SF)) != 0)) -#endif - -#ifndef SetFlag -#define SetFlag(_F,_SF) ((_F) |= (_SF)) -#endif - -#ifndef ClearFlag -#define ClearFlag(_F,_SF) ((_F) &= ~(_SF)) -#endif - #include "csq.h"
#ifdef _NTOSKRNL_ @@ -86,7 +151,6 @@ extern LARGE_INTEGER IoWriteTransferCount; extern LARGE_INTEGER IoOtherTransferCount;
-typedef STRING LSA_STRING, *PLSA_STRING; typedef ULONG LSA_OPERATIONAL_MODE, *PLSA_OPERATIONAL_MODE;
typedef enum _SECURITY_LOGON_TYPE @@ -378,10 +442,6 @@
#define SECURITY_WORLD_SID_AUTHORITY {0,0,0,0,0,1} #define SECURITY_WORLD_RID (0x00000000L) - -#define SID_REVISION 1 -#define SID_MAX_SUB_AUTHORITIES 15 -#define SID_RECOMMENDED_SUB_AUTHORITIES 1
#define TOKEN_ASSIGN_PRIMARY (0x0001) #define TOKEN_DUPLICATE (0x0002) @@ -670,16 +730,6 @@ ULONG CompressedChunkSizes[ANYSIZE_ARRAY]; } COMPRESSED_DATA_INFO, *PCOMPRESSED_DATA_INFO;
-typedef struct _SID_IDENTIFIER_AUTHORITY { - UCHAR Value[6]; -} SID_IDENTIFIER_AUTHORITY,*PSID_IDENTIFIER_AUTHORITY,*LPSID_IDENTIFIER_AUTHORITY; - -typedef struct _SID { - UCHAR Revision; - UCHAR SubAuthorityCount; - SID_IDENTIFIER_AUTHORITY IdentifierAuthority; - ULONG SubAuthority[ANYSIZE_ARRAY]; -} SID, *PISID; typedef struct _SID_AND_ATTRIBUTES { PSID Sid; ULONG Attributes;