Changeset 114

Show
Ignore:
Timestamp:
01/15/06 07:04:42 (3 years ago)
Author:
pragma
Message:

Misc code fixes.
Touched meta comments so documentation will build. Will fix later.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/ddl/DynamicLibrary.d

    r101 r114  
    3434private import ddl.Mangle; 
    3535 
     36// pull in the platform new() for classes 
    3637extern(C) Object _d_newclass(ClassInfo ci); 
    3738 
     
    107108     
    108109         
    109     /** 
     110    /* 
    110111        Template method that returns a typed export from the library.  The implementation uses 
    111112        getExportAddress() internally.  This differs greatly from the use of getExport()  
  • trunk/ddl/DynamicModule.d

    r101 r114  
    3434private import ddl.Mangle; 
    3535 
     36//TODO: change so that a module yields what modules namespaces it depends on, if possible. 
     37//TODO: add a way to delay the actual resolution to a separate call, as to optimize the linker 
     38//TODO: find a way for the module to return its namespace 
     39 
    3640/**  
    3741    Represents a binary module within DDL. 
     
    4145    resolveDependencies methods.   
    4246*/ 
    43  
    44 //TODO: change so that a module yields what modules namespaces it depends on, if possible. 
    45 //TODO: add a way to delay the actual resolution to a separate call, as to optimize the linker 
    46 //TODO: find a way for the module to return its namespace 
    4747abstract class DynamicModule{ 
    4848     
    4949    /**  
    50       Returns the name of the module. 
     50    Returns the name of the module. 
    5151     
    5252        While the result of getName() is largely compiler dependent for .asm or .c  
     
    9191     
    9292    /** 
    93         Looks for a symbol of the form "static const char[][char[]] <namespace>.DDLAttributes", 
     93        Looks for a symbol of the form "static const char[][char[]] {namespace}.DDLAttributes", 
    9494        and returns it if it exists.  Note that the module does not have to be resolved for this 
    9595        to work correctly.  However, the module author is trusted to not have populated the 
    9696        attribute map with references to static data not present in the module. 
     97         
     98        Note: The current rendition of D, at the time of this documentation, does not support 
     99        static intialization of associative arrays.  This feature is here as a placeholder for 
     100        when D has support for such things. 
    97101     
    98102        Returns: the DDLAttributes constant in the module if it exists. 
     
    127131         
    128132        Params: 
    129             x = the name of the symbol to resolve 
     133            name = the name of the symbol to resolve 
    130134            address = the address of the external symbol 
    131135    */ 
     
    165169            getExports 
    166170    */ 
    167     public void resolveDependencies(ExportSymbol[] exports); 
     171    deprecated public void resolveDependencies(ExportSymbol[] exports); 
    168172     
    169173    /** 
  • trunk/ddl/ExportSymbol.d

    r97 r114  
    5757    public char[] name; 
    5858 
    59         /** 
    60                 Can be used as an empty symbol, e.g.  
    61                     return ExportSymbol.NONE; 
    62         */ 
    63         static const ExportSymbol NONE; 
     59   /** 
     60           Can be used as an empty symbol, e.g.  
     61               return ExportSymbol.NONE; 
     62   */ 
     63   static const ExportSymbol NONE; 
    6464} 
  • trunk/ddl/Linker.d

    r101 r114  
    8888        down the list. 
    8989    */ 
    90     public DynamicLibrary[] libraries; 
     90    protected DynamicLibrary[] libraries; 
    9191     
    9292    /**  
     
    161161        foreach(char[] dep; mod.getDependencies){ 
    162162            ExportSymbol sym = ExportSymbol.init; 
     163            //TODO: create a cache for namespace matching requests and search that first 
    163164            foreach(DynamicLibrary lib; this.libraries){ 
    164165                DynamicModule libMod = lib.getModuleForExport(dep); 
    165166                if(libMod){ 
     167                    //TODO: add to the cache here 
    166168                    sym = libMod.getExport(dep); 
    167169                    if(sym != ExportSymbol.init){ 
     
    191193                // found it, now get it and run the constructor 
    192194                ModuleInfo moduleInfo = cast(ModuleInfo)(sym.address); 
    193                 debugLog("init! %0.8X",sym.address); 
     195                debug debugLog("init! %0.8X",sym.address); 
    194196                initModule(moduleInfo,0); 
    195197            } 
  • trunk/ddl/LoaderRegistry.d

    r101 r114  
    193193     
    194194    /** 
     195        Returns: true if the file can be loaded, false if it cannot. 
     196        Params: 
     197            filename = name of the file to test. 
     198    */ 
     199    public bit canLoad(char[] filename){ 
     200        DDLFile file; 
     201        file.load(filename); 
     202        return canLoad(file); 
     203    }    
     204     
     205    /** 
    195206        Returns: an array of type names for all the supported loaders in this registry. 
    196207    */ 
  • trunk/ddl/Mangle.d

    r101 r114  
    2525    OTHER DEALINGS IN THE SOFTWARE. 
    2626+/ 
    27 /** 
     27/* 
    2828    Template Library to support compile-time symbol demangling.   
    2929    This is put to good use by the DynamicLibrary class. 
     
    3939import ddl.Utils; 
    4040 
    41 /**  char [] mangleSymbolName!(char [] name); 
     41/*  char [] mangleSymbolName!(char [] name); 
    4242 *  Convert a name of the form "module.func" to the form 
    4343 *  "6module4func". 
     
    5656} 
    5757 
    58 /** 
    59     Runtime function that converts a name of the form "module.func" to the form "6module4func". 
     58/* 
     59    Runtime function that converts a name of the form "module.func" to the form "6module4func" per 
     60    the D ABI name-mangling specification. 
    6061*/ 
    6162char[] mangleNamespace(char[] text){ 
  • trunk/ddl/omf/OMFBinary.d

    r94 r114  
    104104    EnumData enumData; // most recent enum data record 
    105105    Fixup[] fixups; 
    106     uint[char[]] dependencies; // extern index dependencies 
     106    int[][char[]] dependencies; // extern index dependencies 
    107107    Group[] groups; 
    108108 
     
    202202            debug writefln("dependency: symbol %d",externIndex); 
    203203 
    204             this.dependencies[this.externs[externIndex].name] = externIndex; 
     204            this.dependencies[this.externs[externIndex].name] ~= externIndex; 
    205205            break;           
    206206        default: // do nothing 
     
    765765                } 
    766766                else{ 
    767                     this.dependencies[ext.name] = extIdx; 
     767                    this.dependencies[ext.name] ~= extIdx; 
    768768                } 
    769769            } 
     
    841841        assert(name in this.dependencies); 
    842842 
    843         ExternalSymbol* ext = &this.externs[this.dependencies[name]]; 
    844          
    845         ext.name = name; 
    846         ext.address = address; 
    847         ext.isResolved = true;       
     843        foreach(int index; this.dependencies[name]){ 
     844            ExternalSymbol* ext = &this.externs[index]; 
     845             
     846            ext.name = name; 
     847            ext.address = address; 
     848            ext.isResolved = true; 
     849        } 
    848850    } 
    849851     
  • trunk/ddl/omf/OMFModule.d

    r101 r114  
    3333class OMFModule : DynamicModule{ 
    3434    char[] moduleName; 
    35     char[][char[]] dependencies; 
     35    char[][] dependencies; 
    3636    ExportSymbol[char[]] exports; 
    3737    OMFBinary binary; 
     
    5454 
    5555    public char[][] getDependencies(){ 
    56         return dependencies.values
     56        return dependencies
    5757    } 
    5858     
    5959    public void resolveDependencies(ExportSymbol[] exports){ 
    6060        foreach(ExportSymbol sym; exports){ 
    61             if(sym.name in dependencies){ 
     61            //if(sym.name in dependencies){ 
    6262                debug printf("Resolving: %.*s = %0.8X\n",sym.name,sym.address); 
    6363                binary.fixDependency(sym.name,sym.address); 
    64            
     64            //
    6565        } 
    6666        binary.resolveFixups(); 
     
    8888         
    8989    protected void syncronizeSymbols(){ 
    90         this.dependencies = (char[][char[]]).init; 
     90        this.dependencies = (char[][]).init; 
    9191        this.moduleName = binary.getName(); 
    9292         
     
    9595        foreach(ExternalSymbol ext; binary.getExterns()){ 
    9696            if(!ext.isResolved){ 
    97                 dependencies[ext.name] = ext.name; 
     97                dependencies ~= ext.name; 
    9898            } 
    9999        } 
  • trunk/doc/html/classes.html

    r85 r114  
    1818                        </li> 
    1919                        <li> 
    20                             <a href="module.ddl.ddl.DDLBinary.html#class_DDLBinary_">DDLBinary</a> 
     20                            <a href="module.ddl.ddl.DDLLibrary.html#class_DDLLibrary__ddl.DynamicLibrary.DynamicLibrary_">DDLLibrary</a> 
    2121                        </li> 
    2222                        <li> 
    23                             <a href="module.ddl.DefaultRegistry.html#class_DefaultRegistry__ddl.LoaderRegistry.LoaderRegistry_">DefaultRegistry</a> 
    24                         </li> 
    25                         <li> 
    26                             <a href="module.ddl.DynamicLibrary.html#class_DynamicLibrary_">DynamicLibrary</a> 
    27                         </li> 
    28                         <li> 
    29                             <a href="module.ddl.DynamicLibraryLoader.html#class_DynamicLibraryLoader_">DynamicLibraryLoader</a> 
    30                         </li> 
    31                         <li> 
    32                             <a href="module.ddl.Linker.html#class_LinkException__object.Exception_">LinkException</a> 
    33                         </li> 
    34                         <li> 
    35                             <a href="module.ddl.Linker.html#class_Linker_">Linker</a> 
    36                         </li> 
    37                         <li> 
    38                             <a href="module.ddl.LoaderRegistry.html#class_LoaderRegistry_">LoaderRegistry</a> 
     23                            <a href="module.ddl.coff.DebugSymbol.html#class_SymbolTypeDefinition_">SymbolTypeDefinition</a> 
    3924                        </li> 
    4025                    </ul> 
  • trunk/doc/html/ddl.spec.html

    r69 r114  
    4444                                <li>"PE/COFF" - Program Executable / Common Object File Format (Microsoft 32bit)</li> 
    4545                                <li>"ELF" - Executable and Linkable Format</li> 
     46                                <li>"SITU" - DDL In-situ Module Format</li> 
    4647                            </ul> 
    4748                            <p> 
  • trunk/doc/html/members.html

    r66 r114  
    1313                    <div class="clear"> </div> 
    1414                    <h2>Member Index</h2> 
    15                     <ul xmlns="http://www.w3.org/1999/xhtml"> 
    16                         <li> 
    17                             <a href="module.ddl.coff.COFF.html#const_uint_IMAGE_REL_I386_ABSOLUTE_">IMAGE_REL_I386_ABSOLUTE</a> 
    18                         </li> 
    19                         <li> 
    20                             <a href="module.ddl.coff.COFF.html#const_uint_IMAGE_REL_I386_DIR16_">IMAGE_REL_I386_DIR16</a> 
    21                         </li> 
    22                         <li> 
    23                             <a href="module.ddl.coff.COFF.html#const_uint_IMAGE_REL_I386_DIR32_">IMAGE_REL_I386_DIR32</a> 
    24                         </li> 
    25                         <li> 
    26                             <a href="module.ddl.coff.COFF.html#const_uint_IMAGE_REL_I386_DIR32NB_">IMAGE_REL_I386_DIR32NB</a> 
    27                         </li> 
    28                         <li> 
    29                             <a href="module.ddl.coff.COFF.html#const_uint_IMAGE_REL_I386_REL16_">IMAGE_REL_I386_REL16</a> 
    30                         </li> 
    31                         <li> 
    32                             <a href="module.ddl.coff.COFF.html#const_uint_IMAGE_REL_I386_REL32_">IMAGE_REL_I386_REL32</a> 
    33                         </li> 
    34                         <li> 
    35                             <a href="module.ddl.coff.COFF.html#const_uint_IMAGE_REL_I386_SECREL_">IMAGE_REL_I386_SECREL</a> 
    36                         </li> 
    37                         <li> 
    38                             <a href="module.ddl.coff.COFF.html#const_uint_IMAGE_REL_I386_SECTION_">IMAGE_REL_I386_SECTION</a> 
    39                         </li> 
    40                         <li> 
    41                             <a href="module.ddl.coff.COFF.html#const_uint_IMAGE_REL_I386_SEG12_">IMAGE_REL_I386_SEG12</a> 
    42                         </li> 
    43                         <li> 
    44                             <a href="module.ddl.coff.COFF.html#const_uint_IMAGE_SIZEOF_SHORT_NAME_">IMAGE_SIZEOF_SHORT_NAME</a> 
    45                         </li> 
    46                         <li> 
    47                             <a href="module.ddl.coff.COFF.html#alias_PIMAGE_COFF_SYMBOLS_HEADER_">PIMAGE_COFF_SYMBOLS_HEADER</a> 
    48                         </li> 
    49                         <li> 
    50                             <a href="module.ddl.coff.COFF.html#alias_PIMAGE_DEBUG_DIRECTORY_">PIMAGE_DEBUG_DIRECTORY</a> 
    51                         </li> 
    52                         <li> 
    53                             <a href="module.ddl.coff.COFF.html#alias_PIMAGE_RELOCATION_">PIMAGE_RELOCATION</a> 
    54                         </li> 
    55                         <li> 
    56                             <a href="module.ddl.coff.COFF.html#alias_PIMAGE_SECTION_HEADER_">PIMAGE_SECTION_HEADER</a> 
    57                         </li> 
    58                     </ul> 
     15                    <ul xmlns="http://www.w3.org/1999/xhtml"/> 
    5916                    <p style="align:center"> 
    6017                            </p> 
  • trunk/doc/html/methods.html

    r85 r114  
    1515                    <ul xmlns="http://www.w3.org/1999/xhtml"> 
    1616                        <li> 
    17                             <a href="module.ddl.Demangle.html#char[]_demangleSymbol_char[]_symbol__">demangleSymbol</a> 
     17                            <a href="module.ddl.coff.DebugSymbol.html#char[]_dataTypeToString_DATATYPE_type__">dataTypeToString</a> 
    1818                        </li> 
    1919                        <li> 
    20                             <a href="module.ddl.Demangle.html#char[]_demangleSymbol_char[]_symbol__inout_SymbolType_type__">demangleSymbol</a> 
    21                         </li> 
    22                         <li> 
    23                             <a href="module.ddl.Demangle.html#SymbolType_getSymbolType_char[]_symbol__">getSymbolType</a> 
    24                         </li> 
    25                         <li> 
    26                             <a href="module.ddl.coff.COFFObject.html#COFFHeader_*_parseCOFFHeader_File_file__">parseCOFFHeader</a> 
     20                            <a href="module.ddl.Mangle.html#char[]_mangleNamespace_char[]_text__">mangleNamespace</a> 
    2721                        </li> 
    2822                    </ul> 
  • trunk/doc/html/module-tree.html

    r85 r114  
    1818                            <ul> 
    1919                                <li> 
    20                                     <a href="module.ddl.DefaultRegistry.html">DefaultRegistry</a> 
    21                                 </li> 
    22                                 <li> 
    23                                     <a href="module.ddl.Demangle.html">Demangle</a> 
    24                                 </li> 
    25                                 <li> 
    26                                     <a href="module.ddl.DynamicLibrary.html">DynamicLibrary</a> 
    27                                 </li> 
    28                                 <li> 
    29                                     <a href="module.ddl.DynamicLibraryLoader.html">DynamicLibraryLoader</a> 
    30                                 </li> 
    31                                 <li> 
    32                                     <a href="module.ddl.DynamicModule.html">DynamicModule</a> 
    33                                 </li> 
    34                                 <li> 
    35                                     <a href="module.ddl.ExportSymbol.html">ExportSymbol</a> 
    36                                 </li> 
    37                                 <li> 
    38                                     <a href="module.ddl.Linker.html">Linker</a> 
    39                                 </li> 
    40                                 <li> 
    41                                     <a href="module.ddl.LoaderRegistry.html">LoaderRegistry</a> 
    42                                 </li> 
    43                                 <li> 
    4420                                    <a href="module.ddl.Mangle.html">Mangle</a> 
    4521                                </li> 
    4622                                <li> 
    4723                                    <a href="module.ddl.Utils.html">Utils</a> 
    48                                 </li> 
    49                                 <li> 
    50                                     <a href="module.ddl.all.html">all</a> 
    5124                                </li> 
    5225                                <li> 
     
    6336                                        </li> 
    6437                                        <li> 
    65                                             <a href="module.ddl.coff.COFFLibrary.html">COFFLibrary</a> 
    66                                         </li> 
    67                                         <li> 
    68                                             <a href="module.ddl.coff.COFFLoader.html">COFFLoader</a> 
    69                                         </li> 
    70                                         <li> 
    7138                                            <a href="module.ddl.coff.COFFModule.html">COFFModule</a> 
    7239                                        </li> 
    7340                                        <li> 
    74                                             <a href="module.ddl.coff.COFFObject.html">COFFObject</a> 
    75                                         </li> 
    76                                         <li> 
    77                                             <a href="module.ddl.coff.COFFWrite.html">COFFWrite</a> 
     41                                            <a href="module.ddl.coff.DebugSymbol.html">DebugSymbol</a> 
    7842                                        </li> 
    7943                                        <li> 
     
    8650                                    <ul> 
    8751                                        <li> 
    88                                             <a href="module.ddl.ddl.DDLBinary.html">DDLBinary</a> 
    89                                         </li> 
    90                                         <li> 
    9152                                            <a href="module.ddl.ddl.DDLLibrary.html">DDLLibrary</a> 
    9253                                        </li> 
     
    9758                                </li> 
    9859                                <li> 
    99                                     <b>elf</b> 
    100                                     <ul> 
    101                                         <li> 
    102                                             <a href="module.ddl.elf.ELFLoader.html">ELFLoader</a> 
    103                                         </li> 
    104                                     </ul> 
    105                                 </li> 
    106                                 <li> 
    107                                     <b>insitu</b> 
    108                                     <ul> 
    109                                         <li> 
    110                                             <a href="module.ddl.insitu.InSituBinary.html">InSituBinary</a> 
    111                                         </li> 
    112                                         <li> 
    113                                             <a href="module.ddl.insitu.InSituLibBinary.html">InSituLibBinary</a> 
    114                                         </li> 
    115                                         <li> 
    116                                             <a href="module.ddl.insitu.InSituLibrary.html">InSituLibrary</a> 
    117                                         </li> 
    118                                         <li> 
    119                                             <a href="module.ddl.insitu.InSituLoader.html">InSituLoader</a> 
    120                                         </li> 
    121                                         <li> 
    122                                             <a href="module.ddl.insitu.InSituMapBinary.html">InSituMapBinary</a> 
    123                                         </li> 
    124                                         <li> 
    125                                             <a href="module.ddl.insitu.InSituModule.html">InSituModule</a> 
    126                                         </li> 
    127                                     </ul> 
    128                                 </li> 
    129                                 <li> 
    13060                                    <b>omf</b> 
    13161                                    <ul> 
    13262                                        <li> 
    133                                             <a href="module.ddl.omf.OMFBinary.html">OMFBinary</a> 
    134                                         </li> 
    135                                         <li> 
    136                                             <a href="module.ddl.omf.OMFException.html">OMFException</a> 
    137                                         </li> 
    138                                         <li> 
    139                                             <a href="module.ddl.omf.OMFLibrary.html">OMFLibrary</a> 
    140                                         </li> 
    141                                         <li> 
    14263                                            <a href="module.ddl.omf.OMFLoader.html">OMFLoader</a> 
    143                                         </li> 
    144                                         <li> 
    145                                             <a href="module.ddl.omf.OMFModule.html">OMFModule</a> 
    146                                         </li> 
    147                                         <li> 
    148                                             <a href="module.ddl.omf.RecordCursor.html">RecordCursor</a> 
    14964                                        </li> 
    15065                                    </ul> 
  • trunk/doc/html/module.ddl.Mangle.html

    r85 r114  
    1818                            <tr> 
    1919                                <td class="title">Built on:</td> 
    20                                 <td>Sun Dec 11 23:24:34 2005 
     20                                <td>Fri Jan 13 20:54:21 2006 
    2121</td> 
    2222                            </tr> 
     
    3737                            </tr> 
    3838                        </tbody> 
    39                     </table><h2>Members:</h2><p/><hr/> 
     39                    </table><h2>Members:</h2><p><a href="#template_mangleSymbolName_char[]_text_char[]_latestword_=_&quot;&quot;_">template 
     40                  
     41                <span class="identifier">mangleSymbolName</span></a><br/><a href="#char[]_mangleNamespace_char[]_text__">char[] 
     42                   
     43                <span class="identifier">mangleNamespace</span></a>( 
     44                char[]  
     45                      
     46                    <span class="param">text</span>) 
     47            <br/></p><hr/><a name="template_mangleSymbolName_char[]_text_char[]_latestword_=_&quot;&quot;_"/><span class="decltitle"><a href="#template_mangleSymbolName_char[]_text_char[]_latestword_=_&quot;&quot;_">template 
     48                  
     49                <span class="identifier">mangleSymbolName</span></a></span><br/><h3>Summary:</h3>char [] mangleSymbolName!(char [] name); 
     50  Convert a name of the form "module.func" to the form 
     51  "6module4func". 
     52  
     53<br/><blockquote/><hr/><a name="char[]_mangleNamespace_char[]_text__"/><span class="decltitle"><a href="#char[]_mangleNamespace_char[]_text__">char[] 
     54                   
     55                <span class="identifier">mangleNamespace</span></a>( 
     56                char[]  
     57                      
     58                    <span class="param">text</span>) 
     59            </span><br/><h3>Summary:</h3>Runtime function that converts a name of the form "module.func" to the form "6module4func". 
     60<br/> 
    4061                    <p style="align:center"> 
    4162                            </p> 
  • trunk/doc/html/module.ddl.coff.COFF.html

    r85 r114  
    1212                    <div class="yellowbar-right"> </div> 
    1313                    <div class="clear"> </div> 
    14                     <h2>Module ddl.coff.COFF</h2> 
    15                     <br/> 
    16                     <br/> 
    17                     <table class="moduleinfo"> 
     14                    <h2>Module ddl.coff.COFF</h2>Microsoft PE-COFF data structures &amp; constants 
     15<br/><br/><table class="moduleinfo"> 
    1816                        <tbody> 
    1917                            <tr> 
    2018                                <td class="title">Built on:</td> 
    21                                 <td>Sun Dec 11 23:24:34 2005 
     19                                <td>Fri Jan 13 20:54:21 2006 
    2220</td> 
    2321                            </tr> 
    2422                            <tr> 
    2523                                <td class="title">Copyright:</td> 
    26                                 <td></td> 
     24                                <td>2005, 2006 J Duncan, Eric Anderton 
     25</td> 
     26                            </tr> 
     27                            <tr> 
     28                                <td class="title">Authors:</td> 
     29                                <td>J Duncan, Eric Anderton 
     30</td> 
     31                            </tr> 
     32                            <tr> 
     33                                <td class="title">License:</td> 
     34                                <td>BSD Derivative (see source for details) 
     35</td> 
    2736                            </tr> 
    2837                        </tbody> 
    29                     </table> 
    30                     <h2>Members:</h2> 
    31                     <p><a href="#struct_COFFHeader_">struct  
     38                    </table><h2>Members:</h2><p><a href="#struct_COFFHeader_">struct  
    3239                  
    3340                <span class="identifier">COFFHeader</span></a><br/><a href="#struct_PEHeader_">struct  
    3441                  
    35                 <span class="identifier">PEHeader</span></a><br/><a href="#const_uint_IMAGE_SIZEOF_SHORT_NAME_">uint  
     42                <span class="identifier">PEHeader</span></a><br/></p><hr/><a name="struct_COFFHeader_"/><span class="decltitle"><a href="#struct_COFFHeader_">struct  
    3643                  
    37                 <span class="identifier">IMAGE_SIZEOF_SHORT_NAME</span></a><br/><a href="#struct__IMAGE_SECTION_HEADER_">struct  
     44                <span class="identifier">COFFHeader</span></a></span><br/><blockquote/><hr/><a name="struct_PEHeader_"/><span class="decltitle"><a href="#struct_PEHeader_">struct  
    3845                  
    39                 <span class="identifier">_IMAGE_SECTION_HEADER</span></a><br/><a href="#alias_PIMAGE_SECTION_HEADER_">alias  
    40                   
    41                 <span class="identifier">PIMAGE_SECTION_HEADER</span></a><br/><a href="#struct_IMAGE_DEBUG_DIRECTORY_">struct  
    42                   
    43                 <span class="identifier">IMAGE_DEBUG_DIRECTORY</span></a><br/><a href="#alias_PIMAGE_DEBUG_DIRECTORY_">alias  
    44                   
    45                 <span class="identifier">PIMAGE_DEBUG_DIRECTORY</span></a><br/><a href="#struct__IMAGE_COFF_SYMBOLS_HEADER_">struct  
    46                   
    47                 <span class="identifier">_IMAGE_COFF_SYMBOLS_HEADER</span></a><br/><a href="#alias_PIMAGE_COFF_SYMBOLS_HEADER_">alias  
    48                   
    49                 <span class="identifier">PIMAGE_COFF_SYMBOLS_HEADER</span></a><br/><a href="#struct__IMAGE_RELOCATION_">struct  
    50                   
    51                 <span class="identifier">_IMAGE_RELOCATION</span></a><br/><a href="#alias_PIMAGE_RELOCATION_">alias  
    52                   
    53                 <span class="identifier">PIMAGE_RELOCATION</span></a><br/><a href="#const_uint_IMAGE_REL_I386_ABSOLUTE_">uint  
    54                   
    55                 <span class="identifier">IMAGE_REL_I386_ABSOLUTE</span></a><br/><a href="#const_uint_IMAGE_REL_I386_DIR16_">uint  
    56                   
    57                 <span class="identifier">IMAGE_REL_I386_DIR16</span></a><br/><a href="#const_uint_IMAGE_REL_I386_REL16_">uint  
    58                   
    59                 <span class="identifier">IMAGE_REL_I386_REL16</span></a><br/><a href="#const_uint_IMAGE_REL_I386_DIR32_">uint  
    60                   
    61                 <span class="identifier">IMAGE_REL_I386_DIR32</span></a><br/><a href="#const_uint_IMAGE_REL_I386_DIR32NB_">uint  
    62                   
    63                 <span class="identifier">IMAGE_REL_I386_DIR32NB</span></a><br/><a href="#const_uint_IMAGE_REL_I386_SEG12_">uint  
    64                   
    65                 <span class="identifier">IMAGE_REL_I386_SEG12</span></a><br/><a href="#const_uint_IMAGE_REL_I386_SECTION_">uint  
    66                   
    67                 <span class="identifier">IMAGE_REL_I386_SECTION</span></a><br/><a href="#const_uint_IMAGE_REL_I386_SECREL_">uint  
    68                   
    69                 <span class="identifier">IMAGE_REL_I386_SECREL</span></a><br/><a href="#const_uint_IMAGE_REL_I386_REL32_">uint  
    70                   
    71                 <span class="identifier">IMAGE_REL_I386_REL32</span></a><br/></p> 
    72                     <hr/> 
    73                     <a name="struct_COFFHeader_"/> 
    74                     <span class="decltitle"><a href="#struct_COFFHeader_">struct  
    75                   
    76                 <span class="identifier">COFFHeader</span></a></span> 
    77                     <br/> 
    78                     <blockquote/> 
    79                     <hr/> 
    80                     <a name="struct_PEHeader_"/> 
    81                     <span class="decltitle"><a href="#struct_PEHeader_">struct  
    82                   
    83                 <span class="identifier">PEHeader</span></a></span> 
    84                     <br/> 
    85                     <blockquote/> 
    86                     <hr/> 
    87                     <a name="const_uint_IMAGE_SIZEOF_SHORT_NAME_"/> 
    88                     <span class="decltitle"><a href="#const_uint_IMAGE_SIZEOF_SHORT_NAME_">uint  
    89                   
    90                 <span class="identifier">IMAGE_SIZEOF_SHORT_NAME</span></a></span> 
    91                     <br/> 
    92                     <hr/> 
    93                     <a name="struct__IMAGE_SECTION_HEADER_"/> 
    94                     <span class="decltitle"><a href="#struct__IMAGE_SECTION_HEADER_">struct  
    95                   
    96                 <span class="identifier">_IMAGE_SECTION_HEADER</span></a></span> 
    97                     <br/> 
    98                     <blockquote/> 
    99                     <hr/> 
    100                     <a name="alias_PIMAGE_SECTION_HEADER_"/> 
    101                     <span class="decltitle"><a href="#alias_PIMAGE_SECTION_HEADER_">alias  
    102                   
    103                 <span class="identifier">PIMAGE_SECTION_HEADER</span></a></span> 
    104                     <br/> 
    105                     <hr/> 
    106                     <a name="struct_IMAGE_DEBUG_DIRECTORY_"/> 
    107                     <span class="decltitle"><a href="#struct_IMAGE_DEBUG_DIRECTORY_">struct  
    108                   
    109                 <span class="identifier">IMAGE_DEBUG_DIRECTORY</span></a></span> 
    110                     <br/> 
    111                     <blockquote/> 
    112                     <hr/> 
    113                     <a name="alias_PIMAGE_DEBUG_DIRECTORY_"/> 
    114                     <span class="decltitle"><a href="#alias_PIMAGE_DEBUG_DIRECTORY_">alias  
    115                   
    116                 <span class="identifier">PIMAGE_DEBUG_DIRECTORY</span></a></span> 
    117                     <br/> 
    118                     <hr/> 
    119                     <a name="struct__IMAGE_COFF_SYMBOLS_HEADER_"/> 
    120                     <span class="decltitle"><a href="#struct__IMAGE_COFF_SYMBOLS_HEADER_">struct  
    121                   
    122                 <span class="identifier">_IMAGE_COFF_SYMBOLS_HEADER</span></a></span> 
    123                     <br/> 
    124                     <blockquote/> 
    125                     <hr/> 
    126                     <a name="alias_PIMAGE_COFF_SYMBOLS_HEADER_"/> 
    127                     <span class="decltitle"><a href="#alias_PIMAGE_COFF_SYMBOLS_HEADER_">alias  
    128                   
    129                 <span class="identifier">PIMAGE_COFF_SYMBOLS_HEADER</span></a></span> 
    130                     <br/> 
    131                     <hr/> 
    132                     <a name="struct__IMAGE_RELOCATION_"/> 
    133                     <span class="decltitle"><a href="#struct__IMAGE_RELOCATION_">struct