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"
19 RosSymGetRawDataLength(PROSSYM_INFO RosSymInfo
)
21 return sizeof(ROSSYM_HEADER
)
22 + RosSymInfo
->SymbolsCount
* sizeof(ROSSYM_ENTRY
)
23 + RosSymInfo
->StringsLength
;
27 RosSymGetRawData(PROSSYM_INFO RosSymInfo
, PVOID RawData
)
29 PROSSYM_HEADER RosSymHeader
;
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
;
37 memcpy((char *) RawData
+ RosSymHeader
->SymbolsOffset
, RosSymInfo
->Symbols
,
38 RosSymHeader
->SymbolsLength
);
39 memcpy((char *) RawData
+ RosSymHeader
->StringsOffset
, RosSymInfo
->Strings
,
40 RosSymHeader
->StringsLength
);