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
7 * PROGRAMMERS: Ge van Geldorp (gvg@reactos.com)
12 #include <reactos/rossym.h>
13 #include "rossympriv.h"
16 RosSymGetRawDataLength(PROSSYM_INFO RosSymInfo
)
18 return sizeof(ROSSYM_HEADER
)
19 + RosSymInfo
->SymbolsCount
* sizeof(ROSSYM_ENTRY
)
20 + RosSymInfo
->StringsLength
;
24 RosSymGetRawData(PROSSYM_INFO RosSymInfo
, PVOID RawData
)
26 PROSSYM_HEADER RosSymHeader
;
28 RosSymHeader
= (PROSSYM_HEADER
) RawData
;
29 RosSymHeader
->SymbolsOffset
= sizeof(ROSSYM_HEADER
);
30 RosSymHeader
->SymbolsLength
= RosSymInfo
->SymbolsCount
* sizeof(ROSSYM_ENTRY
);
31 RosSymHeader
->StringsOffset
= RosSymHeader
->SymbolsOffset
+ RosSymHeader
->SymbolsLength
;
32 RosSymHeader
->StringsLength
= RosSymInfo
->StringsLength
;
34 memcpy((char *) RawData
+ RosSymHeader
->SymbolsOffset
, RosSymInfo
->Symbols
,
35 RosSymHeader
->SymbolsLength
);
36 memcpy((char *) RawData
+ RosSymHeader
->StringsOffset
, RosSymInfo
->Strings
,
37 RosSymHeader
->StringsLength
);