ReactOS 0.4.16-dev-197-g92996da
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#include <ntdef.h>
11#include <reactos/rossym.h>
12#include "rossympriv.h"
13
16{
17 return sizeof(ROSSYM_HEADER)
18 + RosSymInfo->SymbolsCount * sizeof(ROSSYM_ENTRY)
19 + RosSymInfo->StringsLength;
20}
21
22VOID
24{
25 PROSSYM_HEADER RosSymHeader;
26
27 RosSymHeader = (PROSSYM_HEADER) RawData;
28 RosSymHeader->SymbolsOffset = sizeof(ROSSYM_HEADER);
29 RosSymHeader->SymbolsLength = RosSymInfo->SymbolsCount * sizeof(ROSSYM_ENTRY);
30 RosSymHeader->StringsOffset = RosSymHeader->SymbolsOffset + RosSymHeader->SymbolsLength;
31 RosSymHeader->StringsLength = RosSymInfo->StringsLength;
32
33 memcpy((char *) RawData + RosSymHeader->SymbolsOffset, RosSymInfo->Symbols,
34 RosSymHeader->SymbolsLength);
35 memcpy((char *) RawData + RosSymHeader->StringsOffset, RosSymInfo->Strings,
36 RosSymHeader->StringsLength);
37}
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
VOID RosSymGetRawData(PROSSYM_INFO RosSymInfo, PVOID RawData)
Definition: getraw.c:23
ULONG RosSymGetRawDataLength(PROSSYM_INFO RosSymInfo)
Definition: getraw.c:15
struct _ROSSYM_ENTRY ROSSYM_ENTRY
struct _ROSSYM_HEADER ROSSYM_HEADER
struct _ROSSYM_HEADER * PROSSYM_HEADER
Definition: rossym.h:26
unsigned long SymbolsOffset
Definition: rossym.h:20
unsigned long SymbolsLength
Definition: rossym.h:21
unsigned long StringsLength
Definition: rossym.h:23
unsigned long StringsOffset
Definition: rossym.h:22
ULONG SymbolsCount
Definition: rossym.h:124
ULONG StringsLength
Definition: rossym.h:126
PROSSYM_ENTRY Symbols
Definition: rossym.h:123
PCHAR Strings
Definition: rossym.h:125
uint32_t ULONG
Definition: typedefs.h:59