MSF

Elixir library for opening and decoding MSF (Multi-Stream Format) files. MSF is the backing format for file types such as Microsoft PDB.

Installation

If available in Hex, the package can be installed by adding msf_format to your list of dependencies in mix.exs:

def deps do
  [
    {:msf_format, "~> 0.1.0"}
  ]
end

Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/msf.

Usage

# Open an MSF file for reading
{:ok, msf} = MSFFormat.open("/path/to/msf")

# Read a single block (block 0) from the file
{:ok, block}  = MSFFormat.read_block(msf, 0)

# Open stream 0 for reading
{:ok, stream} = MSFFormat.open_stream(msf, 0)

# Read a single block from the given stream
{:ok, stream, data} = MSFFormat.Stream.read(stream)

# Read all data from the given stream
{:ok, all_data} = MSFFormat.Stream.read_all(stream)

# Close the MSF file
:ok = MSFFormat.close(msf)