ReactOS  0.4.15-dev-3453-gff89651
getraw.c
Go to the documentation of this file.
1 /*
2  * COPYRIGHT: See COPYING in the top level directory
3  * PROJECT: ReactOS kernel
4  * FILE: lib/rossym/getraw.c
5  * PURPOSE: Convert rossym info to raw external format
6  *
7  * PROGRAMMERS: Ge van Geldorp (gvg@reactos.com)
8  */
9 
10 #define NTOSAPI
11 #include <ntddk.h>
12 #include <reactos/rossym.h>
13 #include "rossympriv.h"
14 
15 #define NDEBUG
16 #include <debug.h>
17 
18 ULONG
20 {
21  return sizeof(ROSSYM_HEADER)
22  + RosSymInfo->SymbolsCount * sizeof(ROSSYM_ENTRY)
23  + RosSymInfo->StringsLength;
24 }
25 
26 VOID
27 RosSymGetRawData(PROSSYM_INFO RosSymInfo, PVOID RawData)
28 {
29  PROSSYM_HEADER RosSymHeader;
30 
31  RosSymHeader = (PROSSYM_HEADER) RawData;
32  RosSymHeader->SymbolsOffset = sizeof(ROSSYM_HEADER);
33  RosSymHeader->SymbolsLength = RosSymInfo->SymbolsCount * sizeof(ROSSYM_ENTRY);
34  RosSymHeader->StringsOffset = RosSymHeader->SymbolsOffset + RosSymHeader->SymbolsLength;
35  RosSymHeader->StringsLength = RosSymInfo->StringsLength;
36 
37  memcpy((char *) RawData + RosSymHeader->SymbolsOffset, RosSymInfo->Symbols,
38  RosSymHeader->SymbolsLength);
39  memcpy((char *) RawData + RosSymHeader->StringsOffset, RosSymInfo->Strings,
40  RosSymHeader->StringsLength);
41 }
42 
43 /* EOF */
struct _ROSSYM_HEADER * PROSSYM_HEADER
Definition: rossym.h:26
unsigned long StringsOffset
Definition: rossym.h:22
ULONG RosSymGetRawDataLength(PROSSYM_INFO RosSymInfo)
Definition: getraw.c:16
struct _ROSSYM_HEADER ROSSYM_HEADER
PCHAR Strings
Definition: rossym.h:125
struct _ROSSYM_ENTRY ROSSYM_ENTRY
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
ULONG StringsLength
Definition: rossym.h:126
unsigned long StringsLength
Definition: rossym.h:23
unsigned long SymbolsLength
Definition: rossym.h:21
unsigned int ULONG
Definition: retypes.h:1
ULONG SymbolsCount
Definition: rossym.h:124
unsigned long SymbolsOffset
Definition: rossym.h:20
PROSSYM_ENTRY Symbols
Definition: rossym.h:123
VOID RosSymGetRawData(PROSSYM_INFO RosSymInfo, PVOID RawData)
Definition: getraw.c:24