ReactOS 0.4.16-dev-334-g4d9f67c
ntoskrnl.h File Reference
#include <section_attribs.h>
Include dependency graph for ntoskrnl.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

 C_ASSERT (FIELD_OFFSET(KUSER_SHARED_DATA, SystemCall)==0x300)
 
 C_ASSERT (FIELD_OFFSET(KTHREAD, InitialStack)==KTHREAD_INITIAL_STACK)
 
 C_ASSERT (FIELD_OFFSET(KTHREAD, KernelStack)==KTHREAD_KERNEL_STACK)
 
 C_ASSERT (FIELD_OFFSET(KTHREAD, SystemAffinityActive)==FIELD_OFFSET(KTHREAD, WaitBlock)+FIELD_OFFSET(KWAIT_BLOCK, SpareByte))
 
 C_ASSERT (FIELD_OFFSET(KTHREAD, ApcState.Process)==KTHREAD_APCSTATE_PROCESS)
 
 C_ASSERT (FIELD_OFFSET(KTHREAD, ApcQueueable)==FIELD_OFFSET(KTHREAD, ApcState.UserApcPending)+1)
 
 C_ASSERT (FIELD_OFFSET(KTHREAD, NextProcessor)==0x40)
 
 C_ASSERT (FIELD_OFFSET(KTHREAD, DeferredProcessor)==0x41)
 
 C_ASSERT (FIELD_OFFSET(KTHREAD, AdjustReason)==0x42)
 
 C_ASSERT (FIELD_OFFSET(KTHREAD, NpxState)==KTHREAD_NPX_STATE)
 
 C_ASSERT (FIELD_OFFSET(KTHREAD, Alertable)==0x58)
 
 C_ASSERT (FIELD_OFFSET(KTHREAD, SwapBusy)==0x05D)
 
 C_ASSERT (FIELD_OFFSET(KTHREAD, Teb)==KTHREAD_TEB)
 
 C_ASSERT (FIELD_OFFSET(KTHREAD, Timer)==0x078)
 
 C_ASSERT (FIELD_OFFSET(KTHREAD, ThreadFlags)==0x0A0)
 
 C_ASSERT (FIELD_OFFSET(KTHREAD, WaitBlock)==0x0A8)
 
 C_ASSERT (FIELD_OFFSET(KTHREAD, WaitBlockFill0)==0x0A8)
 
 C_ASSERT (FIELD_OFFSET(KTHREAD, QueueListEntry)==0x108)
 
 C_ASSERT (FIELD_OFFSET(KTHREAD, PreviousMode)==KTHREAD_PREVIOUS_MODE)
 
 C_ASSERT (FIELD_OFFSET(KTHREAD, ResourceIndex)==FIELD_OFFSET(KTHREAD, WaitBlock)+2 *sizeof(KWAIT_BLOCK)+FIELD_OFFSET(KWAIT_BLOCK, SpareByte))
 
 C_ASSERT (FIELD_OFFSET(KTHREAD, LargeStack)==FIELD_OFFSET(KTHREAD, WaitBlock)+3 *sizeof(KWAIT_BLOCK)+FIELD_OFFSET(KWAIT_BLOCK, SpareByte))
 
 C_ASSERT (FIELD_OFFSET(KTHREAD, TrapFrame)==KTHREAD_TRAP_FRAME)
 
 C_ASSERT (FIELD_OFFSET(KTHREAD, CallbackStack)==KTHREAD_CALLBACK_STACK)
 
 C_ASSERT (FIELD_OFFSET(KTHREAD, ServiceTable)==KTHREAD_SERVICE_TABLE)
 
 C_ASSERT (FIELD_OFFSET(KTHREAD, FreezeCount)==FIELD_OFFSET(KTHREAD, SavedApcState.UserApcPending)+1)
 
 C_ASSERT (FIELD_OFFSET(KTHREAD, Quantum)==FIELD_OFFSET(KTHREAD, SuspendApc.SpareByte0))
 
 C_ASSERT (FIELD_OFFSET(KTHREAD, QuantumReset)==FIELD_OFFSET(KTHREAD, SuspendApc.SpareByte1))
 
 C_ASSERT (FIELD_OFFSET(KTHREAD, KernelTime)==FIELD_OFFSET(KTHREAD, SuspendApc.SpareLong0))
 
 C_ASSERT (FIELD_OFFSET(KTHREAD, TlsArray)==FIELD_OFFSET(KTHREAD, SuspendApc.SystemArgument1))
 
 C_ASSERT (FIELD_OFFSET(KTHREAD, LegoData)==FIELD_OFFSET(KTHREAD, SuspendApc.SystemArgument2))
 
 C_ASSERT (FIELD_OFFSET(KTHREAD, PowerState)==FIELD_OFFSET(KTHREAD, SuspendApc.Inserted)+1)
 
 C_ASSERT (sizeof(KTHREAD)==0x1B8)
 
 C_ASSERT (FIELD_OFFSET(KPROCESS, DirectoryTableBase)==KPROCESS_DIRECTORY_TABLE_BASE)
 
 C_ASSERT (FIELD_OFFSET(KPCR, NtTib.ExceptionList)==KPCR_EXCEPTION_LIST)
 
 C_ASSERT (FIELD_OFFSET(KPCR, SelfPcr)==KPCR_SELF)
 
 C_ASSERT (FIELD_OFFSET(KPCR, IRR)==KPCR_IRR)
 
 C_ASSERT (FIELD_OFFSET(KPCR, IDR)==KPCR_IDR)
 
 C_ASSERT (FIELD_OFFSET(KPCR, Irql)==KPCR_IRQL)
 
 C_ASSERT (FIELD_OFFSET(KIPCR, PrcbData)+FIELD_OFFSET(KPRCB, CurrentThread)==KPCR_CURRENT_THREAD)
 
 C_ASSERT (FIELD_OFFSET(KIPCR, PrcbData)+FIELD_OFFSET(KPRCB, NextThread)==KPCR_PRCB_NEXT_THREAD)
 
 C_ASSERT (FIELD_OFFSET(KIPCR, PrcbData)+FIELD_OFFSET(KPRCB, NpxThread)==KPCR_NPX_THREAD)
 
 C_ASSERT (FIELD_OFFSET(KIPCR, PrcbData)==KPCR_PRCB_DATA)
 
 C_ASSERT (FIELD_OFFSET(KIPCR, PrcbData)+FIELD_OFFSET(KPRCB, KeSystemCalls)==KPCR_SYSTEM_CALLS)
 
 C_ASSERT (FIELD_OFFSET(KIPCR, PrcbData)+FIELD_OFFSET(KPRCB, DpcData)+FIELD_OFFSET(KDPC_DATA, DpcQueueDepth)==KPCR_PRCB_DPC_QUEUE_DEPTH)
 
 C_ASSERT (FIELD_OFFSET(KIPCR, PrcbData)+FIELD_OFFSET(KPRCB, DpcData)+16==KPCR_PRCB_DPC_COUNT)
 
 C_ASSERT (FIELD_OFFSET(KIPCR, PrcbData)+FIELD_OFFSET(KPRCB, DpcStack)==KPCR_PRCB_DPC_STACK)
 
 C_ASSERT (FIELD_OFFSET(KIPCR, PrcbData)+FIELD_OFFSET(KPRCB, TimerRequest)==KPCR_PRCB_TIMER_REQUEST)
 
 C_ASSERT (FIELD_OFFSET(KIPCR, PrcbData)+FIELD_OFFSET(KPRCB, MaximumDpcQueueDepth)==KPCR_PRCB_MAXIMUM_DPC_QUEUE_DEPTH)
 
 C_ASSERT (FIELD_OFFSET(KIPCR, PrcbData)+FIELD_OFFSET(KPRCB, DpcRequestRate)==KPCR_PRCB_DPC_REQUEST_RATE)
 
 C_ASSERT (FIELD_OFFSET(KIPCR, PrcbData)+FIELD_OFFSET(KPRCB, DpcInterruptRequested)==KPCR_PRCB_DPC_INTERRUPT_REQUESTED)
 
 C_ASSERT (FIELD_OFFSET(KIPCR, PrcbData)+FIELD_OFFSET(KPRCB, DpcRoutineActive)==KPCR_PRCB_DPC_ROUTINE_ACTIVE)
 
 C_ASSERT (FIELD_OFFSET(KIPCR, PrcbData)+FIELD_OFFSET(KPRCB, DpcLastCount)==KPCR_PRCB_DPC_LAST_COUNT)
 
 C_ASSERT (FIELD_OFFSET(KIPCR, PrcbData)+FIELD_OFFSET(KPRCB, QuantumEnd)==KPCR_PRCB_QUANTUM_END)
 
 C_ASSERT (FIELD_OFFSET(KIPCR, PrcbData)+FIELD_OFFSET(KPRCB, DeferredReadyListHead)==KPCR_PRCB_DEFERRED_READY_LIST_HEAD)
 
 C_ASSERT (FIELD_OFFSET(KIPCR, PrcbData)+FIELD_OFFSET(KPRCB, PowerState)==KPCR_PRCB_POWER_STATE_IDLE_FUNCTION)
 
 C_ASSERT (FIELD_OFFSET(KIPCR, PrcbData)+FIELD_OFFSET(KPRCB, PrcbLock)==KPCR_PRCB_PRCB_LOCK)
 
 C_ASSERT (FIELD_OFFSET(KIPCR, PrcbData)+FIELD_OFFSET(KPRCB, IdleSchedule)==KPCR_PRCB_IDLE_SCHEDULE)
 
 C_ASSERT (sizeof(FX_SAVE_AREA)==SIZEOF_FX_SAVE_AREA)
 
 C_ASSERT (FIELD_OFFSET(KPROCESS, IopmOffset)==KPROCESS_IOPM_OFFSET)
 
 C_ASSERT (FIELD_OFFSET(KPROCESS, LdtDescriptor)==KPROCESS_LDT_DESCRIPTOR0)
 
 C_ASSERT (FIELD_OFFSET(KTSS, Esp0)==KTSS_ESP0)
 
 C_ASSERT (FIELD_OFFSET(KTSS, IoMapBase)==KTSS_IOMAPBASE)
 

Function Documentation

◆ C_ASSERT() [1/62]

C_ASSERT ( FIELD_OFFSET(KIPCR, PrcbData)+FIELD_OFFSET(KPRCB, CurrentThread)  = =KPCR_CURRENT_THREAD)

◆ C_ASSERT() [2/62]

C_ASSERT ( FIELD_OFFSET(KIPCR, PrcbData)+FIELD_OFFSET(KPRCB, DeferredReadyListHead)  = =KPCR_PRCB_DEFERRED_READY_LIST_HEAD)

◆ C_ASSERT() [3/62]

C_ASSERT ( FIELD_OFFSET(KIPCR, PrcbData)+FIELD_OFFSET(KPRCB, DpcData)+  16 = =KPCR_PRCB_DPC_COUNT)

◆ C_ASSERT() [4/62]

C_ASSERT ( FIELD_OFFSET(KIPCR, PrcbData)+FIELD_OFFSET(KPRCB, DpcData)+FIELD_OFFSET(KDPC_DATA, DpcQueueDepth)  = =KPCR_PRCB_DPC_QUEUE_DEPTH)

◆ C_ASSERT() [5/62]

C_ASSERT ( FIELD_OFFSET(KIPCR, PrcbData)+FIELD_OFFSET(KPRCB, DpcInterruptRequested)  = =KPCR_PRCB_DPC_INTERRUPT_REQUESTED)

◆ C_ASSERT() [6/62]

C_ASSERT ( FIELD_OFFSET(KIPCR, PrcbData)+FIELD_OFFSET(KPRCB, DpcLastCount)  = =KPCR_PRCB_DPC_LAST_COUNT)

◆ C_ASSERT() [7/62]

C_ASSERT ( FIELD_OFFSET(KIPCR, PrcbData)+FIELD_OFFSET(KPRCB, DpcRequestRate)  = =KPCR_PRCB_DPC_REQUEST_RATE)

◆ C_ASSERT() [8/62]

C_ASSERT ( FIELD_OFFSET(KIPCR, PrcbData)+FIELD_OFFSET(KPRCB, DpcRoutineActive)  = =KPCR_PRCB_DPC_ROUTINE_ACTIVE)

◆ C_ASSERT() [9/62]

C_ASSERT ( FIELD_OFFSET(KIPCR, PrcbData)+FIELD_OFFSET(KPRCB, DpcStack)  = =KPCR_PRCB_DPC_STACK)

◆ C_ASSERT() [10/62]

C_ASSERT ( FIELD_OFFSET(KIPCR, PrcbData)+FIELD_OFFSET(KPRCB, IdleSchedule)  = =KPCR_PRCB_IDLE_SCHEDULE)

◆ C_ASSERT() [11/62]

C_ASSERT ( FIELD_OFFSET(KIPCR, PrcbData)+FIELD_OFFSET(KPRCB, KeSystemCalls)  = =KPCR_SYSTEM_CALLS)

◆ C_ASSERT() [12/62]

C_ASSERT ( FIELD_OFFSET(KIPCR, PrcbData)+FIELD_OFFSET(KPRCB, MaximumDpcQueueDepth)  = =KPCR_PRCB_MAXIMUM_DPC_QUEUE_DEPTH)

◆ C_ASSERT() [13/62]

C_ASSERT ( FIELD_OFFSET(KIPCR, PrcbData)+FIELD_OFFSET(KPRCB, NextThread)  = =KPCR_PRCB_NEXT_THREAD)

◆ C_ASSERT() [14/62]

C_ASSERT ( FIELD_OFFSET(KIPCR, PrcbData)+FIELD_OFFSET(KPRCB, NpxThread)  = =KPCR_NPX_THREAD)

◆ C_ASSERT() [15/62]

◆ C_ASSERT() [16/62]

C_ASSERT ( FIELD_OFFSET(KIPCR, PrcbData)+FIELD_OFFSET(KPRCB, PrcbLock)  = =KPCR_PRCB_PRCB_LOCK)

◆ C_ASSERT() [17/62]

C_ASSERT ( FIELD_OFFSET(KIPCR, PrcbData)+FIELD_OFFSET(KPRCB, QuantumEnd)  = =KPCR_PRCB_QUANTUM_END)

◆ C_ASSERT() [18/62]

C_ASSERT ( FIELD_OFFSET(KIPCR, PrcbData)+FIELD_OFFSET(KPRCB, TimerRequest)  = =KPCR_PRCB_TIMER_REQUEST)

◆ C_ASSERT() [19/62]

C_ASSERT ( FIELD_OFFSET(KIPCR, PrcbData)  = =KPCR_PRCB_DATA)

◆ C_ASSERT() [20/62]

C_ASSERT ( FIELD_OFFSET(KPCR, IDR)  = =KPCR_IDR)

◆ C_ASSERT() [21/62]

C_ASSERT ( FIELD_OFFSET(KPCR, Irql = =KPCR_IRQL)

◆ C_ASSERT() [22/62]

C_ASSERT ( FIELD_OFFSET(KPCR, IRR)  = =KPCR_IRR)

◆ C_ASSERT() [23/62]

C_ASSERT ( FIELD_OFFSET(KPCR, NtTib.ExceptionList)  = =KPCR_EXCEPTION_LIST)

◆ C_ASSERT() [24/62]

C_ASSERT ( FIELD_OFFSET(KPCR, SelfPcr)  = =KPCR_SELF)

◆ C_ASSERT() [25/62]

C_ASSERT ( FIELD_OFFSET(KPROCESS, DirectoryTableBase)  = =KPROCESS_DIRECTORY_TABLE_BASE)

◆ C_ASSERT() [26/62]

C_ASSERT ( FIELD_OFFSET(KPROCESS, IopmOffset)  = =KPROCESS_IOPM_OFFSET)

◆ C_ASSERT() [27/62]

C_ASSERT ( FIELD_OFFSET(KPROCESS, LdtDescriptor)  = =KPROCESS_LDT_DESCRIPTOR0)

◆ C_ASSERT() [28/62]

C_ASSERT ( FIELD_OFFSET(KTHREAD, AdjustReason)  = =0x42)

◆ C_ASSERT() [29/62]

C_ASSERT ( FIELD_OFFSET(KTHREAD, Alertable = =0x58)

◆ C_ASSERT() [30/62]

C_ASSERT ( FIELD_OFFSET(KTHREAD, ApcQueueable)  = =FIELD_OFFSET(KTHREAD, ApcState.UserApcPending)+1)

◆ C_ASSERT() [31/62]

◆ C_ASSERT() [32/62]

C_ASSERT ( FIELD_OFFSET(KTHREAD, CallbackStack)  = =KTHREAD_CALLBACK_STACK)

◆ C_ASSERT() [33/62]

C_ASSERT ( FIELD_OFFSET(KTHREAD, DeferredProcessor)  = =0x41)

◆ C_ASSERT() [34/62]

C_ASSERT ( FIELD_OFFSET(KTHREAD, FreezeCount)  = =FIELD_OFFSET(KTHREAD, SavedApcState.UserApcPending)+1)

◆ C_ASSERT() [35/62]

C_ASSERT ( FIELD_OFFSET(KTHREAD, InitialStack)  = =KTHREAD_INITIAL_STACK)

◆ C_ASSERT() [36/62]

C_ASSERT ( FIELD_OFFSET(KTHREAD, KernelStack)  = =KTHREAD_KERNEL_STACK)

◆ C_ASSERT() [37/62]

C_ASSERT ( FIELD_OFFSET(KTHREAD, KernelTime)  = =FIELD_OFFSET(KTHREAD, SuspendApc.SpareLong0))

◆ C_ASSERT() [38/62]

C_ASSERT ( FIELD_OFFSET(KTHREAD, LargeStack)  = =FIELD_OFFSET(KTHREAD, WaitBlock)+3 *sizeof(KWAIT_BLOCK)+FIELD_OFFSET(KWAIT_BLOCK, SpareByte))

◆ C_ASSERT() [39/62]

◆ C_ASSERT() [40/62]

C_ASSERT ( FIELD_OFFSET(KTHREAD, NextProcessor)  = =0x40)

◆ C_ASSERT() [41/62]

C_ASSERT ( FIELD_OFFSET(KTHREAD, NpxState)  = =KTHREAD_NPX_STATE)

◆ C_ASSERT() [42/62]

C_ASSERT ( FIELD_OFFSET(KTHREAD, PowerState = =FIELD_OFFSET(KTHREAD, SuspendApc.Inserted)+1)

◆ C_ASSERT() [43/62]

◆ C_ASSERT() [44/62]

C_ASSERT ( FIELD_OFFSET(KTHREAD, Quantum)  = =FIELD_OFFSET(KTHREAD, SuspendApc.SpareByte0))

◆ C_ASSERT() [45/62]

C_ASSERT ( FIELD_OFFSET(KTHREAD, QuantumReset)  = =FIELD_OFFSET(KTHREAD, SuspendApc.SpareByte1))

◆ C_ASSERT() [46/62]

C_ASSERT ( FIELD_OFFSET(KTHREAD, QueueListEntry)  = =0x108)

◆ C_ASSERT() [47/62]

C_ASSERT ( FIELD_OFFSET(KTHREAD, ResourceIndex)  = =FIELD_OFFSET(KTHREAD, WaitBlock)+2 *sizeof(KWAIT_BLOCK)+FIELD_OFFSET(KWAIT_BLOCK, SpareByte))

◆ C_ASSERT() [48/62]

◆ C_ASSERT() [49/62]

C_ASSERT ( FIELD_OFFSET(KTHREAD, SwapBusy)  = =0x05D)

◆ C_ASSERT() [50/62]

C_ASSERT ( FIELD_OFFSET(KTHREAD, SystemAffinityActive)  = =FIELD_OFFSET(KTHREAD, WaitBlock)+FIELD_OFFSET(KWAIT_BLOCK, SpareByte))

◆ C_ASSERT() [51/62]

C_ASSERT ( FIELD_OFFSET(KTHREAD, Teb)  = =KTHREAD_TEB)

◆ C_ASSERT() [52/62]

C_ASSERT ( FIELD_OFFSET(KTHREAD, ThreadFlags)  = =0x0A0)

◆ C_ASSERT() [53/62]

C_ASSERT ( FIELD_OFFSET(KTHREAD, Timer = =0x078)

◆ C_ASSERT() [54/62]

◆ C_ASSERT() [55/62]

C_ASSERT ( FIELD_OFFSET(KTHREAD, TrapFrame)  = =KTHREAD_TRAP_FRAME)

◆ C_ASSERT() [56/62]

C_ASSERT ( FIELD_OFFSET(KTHREAD, WaitBlock)  = =0x0A8)

◆ C_ASSERT() [57/62]

C_ASSERT ( FIELD_OFFSET(KTHREAD, WaitBlockFill0)  = =0x0A8)

◆ C_ASSERT() [58/62]

C_ASSERT ( FIELD_OFFSET(KTSS, Esp0)  = =KTSS_ESP0)

◆ C_ASSERT() [59/62]

C_ASSERT ( FIELD_OFFSET(KTSS, IoMapBase)  = =KTSS_IOMAPBASE)

◆ C_ASSERT() [60/62]

C_ASSERT ( FIELD_OFFSET(KUSER_SHARED_DATA, SystemCall)  = =0x300)

◆ C_ASSERT() [61/62]

◆ C_ASSERT() [62/62]

C_ASSERT ( sizeof(KTHREAD = =0x1B8)