2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS kernel
4 * FILE: lib/rossym/rossympriv.h
5 * PURPOSE: Private header for rossym
7 * PROGRAMMERS: Ge van Geldorp (gvg@reactos.com)
10 #ifndef ROSSYMPRIV_H_INCLUDED
11 #define ROSSYMPRIV_H_INCLUDED
13 typedef struct _ROSSYM_INFO
{
14 PROSSYM_ENTRY Symbols
;
20 extern ROSSYM_CALLBACKS RosSymCallbacks
;
22 #define RosSymAllocMem(Size) (*RosSymCallbacks.AllocMemProc)(Size)
23 #define RosSymFreeMem(Area) (*RosSymCallbacks.FreeMemProc)(Area)
24 #define RosSymReadFile(FileContext, Buffer, Size) (*RosSymCallbacks.ReadFileProc)((FileContext), (Buffer), (Size))
25 #define RosSymSeekFile(FileContext, Position) (*RosSymCallbacks.SeekFileProc)((FileContext), (Position))
27 extern BOOLEAN
RosSymZwReadFile(PVOID FileContext
, PVOID Buffer
, ULONG Size
);
28 extern BOOLEAN
RosSymZwSeekFile(PVOID FileContext
, ULONG_PTR Position
);
30 #define ROSSYM_IS_VALID_DOS_HEADER(DosHeader) (IMAGE_DOS_SIGNATURE == (DosHeader)->e_magic \
31 && 0L != (DosHeader)->e_lfanew)
32 #define ROSSYM_IS_VALID_NT_HEADERS(NtHeaders) (IMAGE_NT_SIGNATURE == (NtHeaders)->Signature \
33 && IMAGE_NT_OPTIONAL_HDR_MAGIC == (NtHeaders)->OptionalHeader.Magic)
36 #endif /* ROSSYMPRIV_H_INCLUDED */