# `Grizzly.ZWave.Commands.S2MessageEncapsulation.Extensions`
[🔗](https://github.com/smartrent/grizzly/blob/v9.1.4/lib/grizzly/zwave/commands/s2_message_encapsulation/extensions.ex#L1)

Functions for working with S2 Message Encapsulation extensions.

# `extension`

```elixir
@type extension() ::
  {:span, senders_entropy_input :: binary()}
  | {:mpan, mpan()}
  | {:mgrp, group_id :: byte()}
  | {:mos, true}
```

# `extension_type`

```elixir
@type extension_type() :: :span | :mpan | :mgrp | :mos
```

# `mpan`

```elixir
@type mpan() :: %{group_id: 0..255, inner_mpan_state: &lt;&lt;_::128&gt;&gt;}
```

# `t`

```elixir
@type t() :: [extension()]
```

# `from_binary`

```elixir
@spec from_binary(binary()) ::
  {:ok, {[extension()], remainder :: binary()}}
  | {:error, :unsupported_critical_extension}
```

---

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