1 /* 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 6 * 7 * PROGRAMMERS: Ge van Geldorp (gvg@reactos.com) 8 */ 9 10 #pragma once 11 12 typedef struct _ROSSYM_INFO { 13 PROSSYM_ENTRY Symbols; 14 ULONG SymbolsCount; 15 PCHAR Strings; 16 ULONG StringsLength; 17 } ROSSYM_INFO; 18 19 extern ROSSYM_CALLBACKS RosSymCallbacks; 20 21 #define RosSymAllocMem(Size) (*RosSymCallbacks.AllocMemProc)(Size) 22 #define RosSymFreeMem(Area) (*RosSymCallbacks.FreeMemProc)(Area) 23 #define RosSymReadFile(FileContext, Buffer, Size) (*RosSymCallbacks.ReadFileProc)((FileContext), (Buffer), (Size)) 24 #define RosSymSeekFile(FileContext, Position) (*RosSymCallbacks.SeekFileProc)((FileContext), (Position)) 25 26 extern BOOLEAN RosSymZwReadFile(PVOID FileContext, PVOID Buffer, ULONG Size); 27 extern BOOLEAN RosSymZwSeekFile(PVOID FileContext, ULONG_PTR Position); 28 29 #define ROSSYM_IS_VALID_DOS_HEADER(DosHeader) (IMAGE_DOS_SIGNATURE == (DosHeader)->e_magic \ 30 && 0L != (DosHeader)->e_lfanew) 31 #define ROSSYM_IS_VALID_NT_HEADERS(NtHeaders) (IMAGE_NT_SIGNATURE == (NtHeaders)->Signature \ 32 && IMAGE_NT_OPTIONAL_HDR_MAGIC == (NtHeaders)->OptionalHeader.Magic) 33 34 /* EOF */ 35