Extract symbols from an OMF object file.


Walter Bright

Source: scanomf.d

  • Declaration

    void scanOmfObjModule(void delegate(const(char)[] name, int pickAny) pAddSymbol, const(ubyte)[] base, const(char)* module_name, Loc loc);

    Reads an object module from base[] and passes the names of any exported symbols to (*pAddSymbol)().


    void delegate(const(char)[] name, int pickAny) pAddSymbol

    function to pass the names to

    const(ubyte)[] base

    array of contents of object module

    const(char)* module_name

    name of the object module (used for error messages)

    Loc loc

    location to use for error printing

  • Declaration

    bool scanOmfLib(void delegate(char* name, void* base, size_t length) pAddObjModule, void* buf, size_t buflen, uint pagesize);

    Scan a block of memory buf[0..buflen], pulling out each OMF object module in it and sending the info in it to (*pAddObjModule).

    Return Value

    true for corrupt OMF data