#include <windows.h>
#include "LPEL_Useful.h"
#include "LPEL_Headers.h"
# define DLLEXPORT __declspec (dllexport)
# define DLLIMPORT __declspec (dllimport)
VOID DLLEXPORT LPEL_ListSections(HANDLE hBinary);
BYTE DLLEXPORT LPEL_WriteInSection(HANDLE hBinary, PUCHAR pSectionName, PUCHAR pBuf, UINT size, DWORD dwOffset);
PDWORD DLLEXPORT LPEL_GetSectionRawAddress(HANDLE hBinary, PUCHAR pSectionName, BYTE RelativeAddress);
DWORD DLLEXPORT LPEL_GetSectionRawSize(HANDLE hBinary, PUCHAR pSectionName);
PDWORD DLLEXPORT LPEL_GetSectionVirtualAddress(HANDLE hBinary, PUCHAR pSectionName, BYTE RelativeAddress);
DWORD DLLEXPORT LPEL_GetSectionFlag(HANDLE hBinary, PUCHAR pSectionName);
DWORD DLLEXPORT LPEL_SetSectionFlag(HANDLE hBinary, PUCHAR pSectionName, DWORD dwFlag);
PUCHAR DLLEXPORT LPEL_GetAddressSectionOwner(HANDLE hBinary, DWORD Addr);
VOID DLLEXPORT LPEL_MemCopySection(HANDLE hBinary, PUCHAR pMem, PIMAGE_SECTION_HEADER pSection);
VOID DLLEXPORT LPEL_MemCopySections(HANDLE hBinary, PUCHAR pMem, PDWORD pdwBytesCopied);
VOID DLLEXPORT LPEL_EraseSection(HANDLE hBinary, PIMAGE_SECTION_HEADER pSection);
VOID DLLEXPORT LPEL_EraseSections(HANDLE hBinary);
VOID DLLEXPORT LPEL_EraseSectionTable(HANDLE hBinary);
VOID DLLEXPORT LPEL_CreateSection(HANDLE hBinary,
PUCHAR pSectionName,
PDWORD pdwVirtualAddress,
DWORD dwVirtualSize,
PDWORD pdwRawAddress,
DWORD dwRawSize,
DWORD dwSectionFlag);