reactos/lib/rossym/getraw.c
Cameron Gutman 29fa274d6d - Create another branch for networking fixes
- TSVN choked repeatedly when attempting to merge ~9000 revs into the branch (tried 3 times on 2 different computers)
 - If someone wants to delete aicom-network-fixes, they are welcome to
 - Lesson learned: Letting a branch get thousands of revs out of date is a horrible idea

svn path=/branches/aicom-network-branch/; revision=44353
2009-12-02 03:23:19 +00:00

44 lines
1.2 KiB
C

/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* FILE: lib/rossym/getraw.c
* PURPOSE: Convert rossym info to raw external format
*
* PROGRAMMERS: Ge van Geldorp (gvg@reactos.com)
*/
#define NTOSAPI
#include <ntddk.h>
#include <reactos/rossym.h>
#include "rossympriv.h"
#define NDEBUG
#include <debug.h>
ULONG
RosSymGetRawDataLength(PROSSYM_INFO RosSymInfo)
{
return sizeof(ROSSYM_HEADER)
+ RosSymInfo->SymbolsCount * sizeof(ROSSYM_ENTRY)
+ RosSymInfo->StringsLength;
}
VOID
RosSymGetRawData(PROSSYM_INFO RosSymInfo, PVOID RawData)
{
PROSSYM_HEADER RosSymHeader;
RosSymHeader = (PROSSYM_HEADER) RawData;
RosSymHeader->SymbolsOffset = sizeof(ROSSYM_HEADER);
RosSymHeader->SymbolsLength = RosSymInfo->SymbolsCount * sizeof(ROSSYM_ENTRY);
RosSymHeader->StringsOffset = RosSymHeader->SymbolsOffset + RosSymHeader->SymbolsLength;
RosSymHeader->StringsLength = RosSymInfo->StringsLength;
memcpy((char *) RawData + RosSymHeader->SymbolsOffset, RosSymInfo->Symbols,
RosSymHeader->SymbolsLength);
memcpy((char *) RawData + RosSymHeader->StringsOffset, RosSymInfo->Strings,
RosSymHeader->StringsLength);
}
/* EOF */