# `Sml.Message`
[🔗](https://github.com/emischorr/sml_ex/blob/v0.1.0/lib/sml/message.ex#L1)

An SML message (`SML_Message`).

`body` is one of the structs in `Sml.Messages`, or
`{:unknown, tag, terms}` for message types this library does not know.

# `body`

```elixir
@type body() ::
  Sml.Messages.OpenRequest.t()
  | Sml.Messages.OpenResponse.t()
  | Sml.Messages.CloseRequest.t()
  | Sml.Messages.CloseResponse.t()
  | Sml.Messages.GetListRequest.t()
  | Sml.Messages.GetListResponse.t()
  | Sml.Messages.GetProcParameterResponse.t()
  | Sml.Messages.GetProfileListResponse.t()
  | Sml.Messages.AttentionResponse.t()
  | {:unknown, non_neg_integer(), Sml.Parser.term_t()}
```

# `t`

```elixir
@type t() :: %Sml.Message{
  abort_on_error: non_neg_integer(),
  body: body(),
  crc: non_neg_integer(),
  group_no: non_neg_integer(),
  transaction_id: binary()
}
```

---

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