Ignore:
Timestamp:
Feb 24, 2002, 3:47:28 AM (24 years ago)
Author:
bird
Message:

New kFile* classes; now in sync with os2tools.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/common/kFilePE.h

    r5531 r8003  
    1 /* $Id: kFilePE.h,v 1.4 2001-04-17 00:26:11 bird Exp $
     1/* $Id: kFilePE.h,v 1.5 2002-02-24 02:47:27 bird Exp $
     2 *
    23 * kFilePE - PE files.
    34 *
     
    910#define _kFilePE_h_
    1011
    11 /*******************************************************************************
    12 *   Defined Constants                                                          *
    13 *******************************************************************************/
    14 
    15 #if !defined(__WINE_PEEXE_H) && !defined(_WINNT_)
    16 #if 1
    17     #define PIMAGE_DOS_HEADER           void*
    18     #define PIMAGE_FILE_HEADER          void*
    19     #define PIMAGE_OPTIONAL_HEADER      void*
    20     #define PIMAGE_DATA_DIRECTORY       void*
    21     #define PIMAGE_SECTION_HEADER       void*
    22     #define PIMAGE_EXPORT_DIRECTORY          void*
    23     #define PIMAGE_IMPORT_DESCRIPTOR         void*
    24     #define PIMAGE_RESOURCE_DIRECTORY        void*
    25     #define PIMAGE_BASE_RELOCATION           void*
    26     #define PIMAGE_DEBUG_DIRECTORY           void*
    27     #define PSZ                              void*
    28     #define PULONG                           void*
    29     #define PIMAGE_TLS_DIRECTORY             void*
    30     #define PIMAGE_LOAD_CONFIG_DIRECTORY     void*
    31     #define PIMAGE_IMPORT_DESCRIPTOR         void*
    32     #define PIMAGE_THUNK_DATA                void*
    33     #define PIMAGE_IMPORT_DESCRIPTOR         void*
    34 #else
    35 #include <peexe.h>
    36 #endif
     12#ifndef _peexe_h_
     13#define PIMAGE_DOS_HEADER               void *
     14#define PIMAGE_FILE_HEADER              void *
     15#define PIMAGE_OPTIONAL_HEADER          void *
     16#define PIMAGE_DATA_DIRECTORY           void *
     17#define PIMAGE_SECTION_HEADER           void *
     18#define PIMAGE_EXPORT_DIRECTORY         void *
     19#define PIMAGE_IMPORT_DESCRIPTOR        void *
     20#define PIMAGE_RESOURCE_DIRECTORY       void *
     21#define PIMAGE_BASE_RELOCATION          void *
     22#define PIMAGE_DEBUG_DIRECTORY          void *
     23#define PIMAGE_TLS_DIRECTORY            void *
     24#define PIMAGE_LOAD_CONFIG_DIRECTORY    void *
     25#define PIMAGE_IMPORT_DESCRIPTOR        void *
     26#define PIMAGE_THUNK_DATA               void *
     27#define PIMAGE_IMPORT_DESCRIPTOR        void *
    3728#endif
    3829
    3930
    40 /*******************************************************************************
    41 *   Structures and Typedefs                                                    *
    42 *******************************************************************************/
    43 
    4431/**
    4532 * PE (portable executable) files.
    46  * TODO: error handling.
    4733 * @author      knut st. osmundsen
    4834 */
     
    5036{
    5137    private:
    52         void                   *pvBase;
     38        void *                          pvBase;         /* The file mapping. */
    5339
    54         /* headers */
    55         PIMAGE_DOS_HEADER       pDosHdr;
    56         PIMAGE_FILE_HEADER      pFileHdr;
    57         PIMAGE_OPTIONAL_HEADER  pOptHdr;
    58         PIMAGE_DATA_DIRECTORY   paDataDir;
    59         PIMAGE_SECTION_HEADER   paSectionHdr;
     40        /* headers - pointers within the filemapping. */
     41        PIMAGE_DOS_HEADER               pDosHdr;
     42        PIMAGE_FILE_HEADER              pFileHdr;
     43        PIMAGE_OPTIONAL_HEADER          pOptHdr;
     44        PIMAGE_DATA_DIRECTORY           paDataDir;
     45        PIMAGE_SECTION_HEADER           paSectionHdr;
    6046
    6147        /** @cat
     
    6551        PIMAGE_IMPORT_DESCRIPTOR        pImportDir;     /* 1 */
    6652        PIMAGE_RESOURCE_DIRECTORY       pRsrcDir;       /* 2 */
    67         PVOID                           pExcpDir;       /* 3 */
    68         PVOID                           pSecDir;        /* 4 */
     53        void *                          pExcpDir;       /* 3 */
     54        void *                          pSecDir;        /* 4 */
    6955        PIMAGE_BASE_RELOCATION          pBRelocDir;     /* 5 */
    7056        PIMAGE_DEBUG_DIRECTORY          pDebugDir;      /* 6 */
    71         PSZ                             pCopyright;     /* 7 */
    72         PULONG                          pulGlobalPtr;   /* 8 */  //is this the correct pointer type?
     57        char *                          pCopyright;     /* 7 */
     58        unsigned long *                 pulGlobalPtr;   /* 8 */  //is this the correct pointer type?
    7359        PIMAGE_TLS_DIRECTORY            pTLSDir;        /* 9 */
    7460        PIMAGE_LOAD_CONFIG_DIRECTORY    pLoadConfigDir; /* 10 */
     
    7662        PIMAGE_THUNK_DATA               pIATDir;        /* 12 */ //is this the correct pointer type?
    7763        PIMAGE_IMPORT_DESCRIPTOR        pDelayImportDir;/* 13 */
    78         PVOID                           pComDir;        /* 14 */
    79         PVOID                           pv15;           /* 15 */
     64        void *                          pComDir;        /* 14 */
     65        void *                          pv15;           /* 15 */
    8066
    8167    public:
    82         kFilePE(kFile *pFile) throw(int);
     68        kFilePE(kFile *pFile) throw (kError);
    8369        virtual ~kFilePE();
    8470
    8571        /** @cat Module information methods. */
    86         BOOL        moduleGetName(char *pszBuffer, int cchSize = 260);
     72        KBOOL       moduleGetName(char *pszBuffer, int cchSize = 260);
    8773
    8874        /** @cat Export enumeration methods. */
    89         BOOL        exportFindFirst(kExportEntry *pExport);
    90         BOOL        exportFindNext(kExportEntry *pExport);
     75        KBOOL       exportFindFirst(kExportEntry *pExport);
     76        KBOOL       exportFindNext(kExportEntry *pExport);
    9177        void        exportFindClose(kExportEntry *pExport);
    9278
    9379        /** @cat Export Lookup methods */
    94         BOOL        exportLookup(unsigned long ulOrdinal, kExportEntry *pExport);
    95         BOOL        exportLookup(const char *  pszName, kExportEntry *pExport);
     80        KBOOL       exportLookup(unsigned long ulOrdinal, kExportEntry *pExport);
     81        KBOOL       exportLookup(const char *  pszName, kExportEntry *pExport);
    9682
    97         BOOL  isPe() const   { return TRUE;}
     83        KBOOL       isPe() const    { return TRUE;}
    9884
    99         BOOL  dump(kFile *pOut);
     85        KBOOL       dump(kFile *pOut);
    10086};
    10187
Note: See TracChangeset for help on using the changeset viewer.