# `IntelHex.Record`
[🔗](https://github.com/fhunleth/intel_hex/blob/v0.2.1/lib/intel_hex/record.ex#L1)

Information for one line in an Intel HEX file

# `t`

```elixir
@type t() :: %IntelHex.Record{
  address: non_neg_integer(),
  data: binary(),
  type: type()
}
```

# `type`

```elixir
@type type() ::
  :data
  | :eof
  | :extended_segment_address
  | :start_segment_address
  | :extended_linear_address
  | :start_linear_address
```

# `data`

```elixir
@spec data(non_neg_integer(), binary()) :: t()
```

Helper for creating data records

# `decode`

```elixir
@spec decode(String.t()) :: {:ok, t()} | {:error, term()}
```

Decode one Intel Hex record

# `decode!`

```elixir
@spec decode!(String.t()) :: t()
```

Decode one Intel Hex record

If the record is not in Intel Hex format, an exception will be raised.

# `encode`

```elixir
@spec encode(t()) :: String.t()
```

Encode an Intel Hex record

# `eof`

```elixir
@spec eof() :: %IntelHex.Record{address: 0, data: &lt;&lt;_::0&gt;&gt;, type: :eof}
```

Helper for creating an EOF record

# `extended_linear_address`

```elixir
@spec extended_linear_address(non_neg_integer()) :: %IntelHex.Record{
  address: non_neg_integer(),
  data: term(),
  type: :extended_linear_address
}
```

Helper for creating an extended linear address record

---

*Consult [api-reference.md](api-reference.md) for complete listing*
