ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

rtlp.h
Go to the documentation of this file.
00001 /*
00002  * COPYRIGHT:       See COPYING in the top level directory
00003  * PROJECT:         ReactOS System Libraries
00004  * FILE:            lib/rtl/rtlp.h
00005  * PURPOSE:         Run-Time Libary Internal Header
00006  * PROGRAMMER:      Alex Ionescu
00007  */
00008 
00009 /* INCLUDES ******************************************************************/
00010 
00011 /* PAGED_CODE equivalent for user-mode RTL */
00012 #if DBG
00013 extern VOID FASTCALL CHECK_PAGED_CODE_RTL(char *file, int line);
00014 #define PAGED_CODE_RTL() CHECK_PAGED_CODE_RTL(__FILE__, __LINE__)
00015 #else
00016 #define PAGED_CODE_RTL()
00017 #endif
00018 
00019 #ifdef _PPC_
00020 #define SWAPD(x) ((((x)&0xff)<<24)|(((x)&0xff00)<<8)|(((x)>>8)&0xff00)|(((x)>>24)&0xff))
00021 #define SWAPW(x) ((((x)&0xff)<<8)|(((x)>>8)&0xff))
00022 #define SWAPQ(x) ((SWAPD((x)&0xffffffff) << 32) | (SWAPD((x)>>32)))
00023 #else
00024 #define SWAPD(x) (x)
00025 #define SWAPW(x) (x)
00026 #define SWAPQ(x) (x)
00027 #endif
00028 
00029 #define ROUND_DOWN(n, align) \
00030     (((ULONG)(n)) & ~((align) - 1l))
00031 
00032 #define ROUND_UP(n, align) \
00033     ROUND_DOWN(((ULONG)(n)) + (align) - 1, (align))
00034 
00035 #define RVA(m, b) ((PVOID)((ULONG_PTR)(b) + (ULONG_PTR)(m)))
00036 
00037 VOID
00038 NTAPI
00039 RtlpGetStackLimits(PULONG_PTR LowLimit,
00040                    PULONG_PTR HighLimit);
00041 
00042 PEXCEPTION_REGISTRATION_RECORD
00043 NTAPI
00044 RtlpGetExceptionList(VOID);
00045 
00046 VOID
00047 NTAPI
00048 RtlpSetExceptionList(PEXCEPTION_REGISTRATION_RECORD NewExceptionList);
00049 
00050 BOOLEAN
00051 NTAPI
00052 RtlCallVectoredExceptionHandlers(
00053     IN PEXCEPTION_RECORD ExceptionRecord,
00054     IN PCONTEXT Context
00055 );
00056 
00057 typedef struct _DISPATCHER_CONTEXT
00058 {
00059     PEXCEPTION_REGISTRATION_RECORD RegistrationPointer;
00060 } DISPATCHER_CONTEXT, *PDISPATCHER_CONTEXT;
00061 
00062 /* These provide support for sharing code between User and Kernel RTL */
00063 PVOID
00064 NTAPI
00065 RtlpAllocateMemory(
00066     SIZE_T Bytes,
00067     ULONG Tag);
00068 
00069 VOID
00070 NTAPI
00071 RtlpFreeMemory(
00072     PVOID Mem,
00073     ULONG Tag);
00074 
00075 KPROCESSOR_MODE
00076 NTAPI
00077 RtlpGetMode(VOID);
00078 
00079 BOOLEAN
00080 NTAPI
00081 RtlpCaptureStackLimits(
00082     IN ULONG_PTR Ebp,
00083     IN ULONG_PTR *StackBegin,
00084     IN ULONG_PTR *StackEnd
00085 );
00086 
00087 NTSTATUS
00088 NTAPI
00089 RtlDeleteHeapLock(IN OUT PHEAP_LOCK Lock);
00090 
00091 NTSTATUS
00092 NTAPI
00093 RtlEnterHeapLock(IN OUT PHEAP_LOCK Lock, IN BOOLEAN Exclusive);
00094 
00095 NTSTATUS
00096 NTAPI
00097 RtlInitializeHeapLock(IN OUT PHEAP_LOCK *Lock);
00098 
00099 NTSTATUS
00100 NTAPI
00101 RtlLeaveHeapLock(IN OUT PHEAP_LOCK Lock);
00102 
00103 BOOLEAN
00104 NTAPI
00105 RtlpCheckForActiveDebugger(VOID);
00106 
00107 BOOLEAN
00108 NTAPI
00109 RtlpHandleDpcStackException(IN PEXCEPTION_REGISTRATION_RECORD RegistrationFrame,
00110                             IN ULONG_PTR RegistrationFrameEnd,
00111                             IN OUT PULONG_PTR StackLow,
00112                             IN OUT PULONG_PTR StackHigh);
00113 
00114 #define RtlpAllocateStringMemory RtlpAllocateMemory
00115 #define RtlpFreeStringMemory     RtlpFreeMemory
00116 
00117 BOOLEAN
00118 NTAPI
00119 RtlpSetInDbgPrint(
00120     VOID
00121 );
00122 
00123 VOID
00124 NTAPI
00125 RtlpClearInDbgPrint(
00126     VOID
00127 );
00128 
00129 /* i386/except.S */
00130 
00131 EXCEPTION_DISPOSITION
00132 NTAPI
00133 RtlpExecuteHandlerForException(PEXCEPTION_RECORD ExceptionRecord,
00134                                PEXCEPTION_REGISTRATION_RECORD RegistrationFrame,
00135                                PCONTEXT Context,
00136                                PVOID DispatcherContext,
00137                                PEXCEPTION_ROUTINE ExceptionHandler);
00138 
00139 EXCEPTION_DISPOSITION
00140 NTAPI
00141 RtlpExecuteHandlerForUnwind(PEXCEPTION_RECORD ExceptionRecord,
00142                             PEXCEPTION_REGISTRATION_RECORD RegistrationFrame,
00143                             PCONTEXT Context,
00144                             PVOID DispatcherContext,
00145                             PEXCEPTION_ROUTINE ExceptionHandler);
00146 
00147 VOID
00148 NTAPI
00149 RtlpCheckLogException(IN PEXCEPTION_RECORD ExceptionRecord,
00150                       IN PCONTEXT ContextRecord,
00151                       IN PVOID ContextData,
00152                       IN ULONG Size);
00153 
00154 VOID
00155 NTAPI
00156 RtlpCaptureContext(OUT PCONTEXT ContextRecord);
00157 
00158 //
00159 // Debug Service calls
00160 //
00161 ULONG
00162 NTAPI
00163 DebugService(
00164     IN ULONG Service,
00165     IN PVOID Argument1,
00166     IN PVOID Argument2,
00167     IN PVOID Argument3,
00168     IN PVOID Argument4
00169 );
00170 
00171 VOID
00172 NTAPI
00173 DebugService2(
00174     IN PVOID Argument1,
00175     IN PVOID Argument2,
00176     IN ULONG Service
00177 );
00178 
00179 /* Tags for the String Allocators */
00180 #define TAG_USTR        'RTSU'
00181 #define TAG_ASTR        'RTSA'
00182 #define TAG_OSTR        'RTSO'
00183 
00184 /* Timer Queue */
00185 
00186 extern HANDLE TimerThreadHandle;
00187 
00188 NTSTATUS
00189 RtlpInitializeTimerThread(VOID);
00190 
00191 /* EOF */

Generated on Sat May 26 2012 04:35:22 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.