# dmd.scanomf

Extract symbols from an OMF object file.

#### Authors

Walter Bright

#### License

Boost License 1.0

Source: scanomf.d

Documentation: https://dlang.org/phobos/dmd_scanomf.html

Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/scanomf.d

- `scanOmfObjModule`

  #### Declaration

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

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

  #### Parameters

  `void delegate(const(char)[] name, int pickAny) `pAddSymbol`` | function to pass the names to
  `ubyte[] `base`` | array of contents of object module
  `char* `module_name`` | name of the object module (used for error messages)
  `Loc `loc`` | location to use for error printing
  `ErrorSink `eSink`` | where the error messages go

- `scanOmfLib`

  #### Declaration

  `bool `scanOmfLib`(void delegate(char* name, void* base, size_t length) `pAddObjModule`, scope 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