# 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`, 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`)().

  #### Parameters

  `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

- `scanOmfLib`

  #### 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