func (o *Options) SarSegmentSeqnum() int {
	val, ok := o.GetSingle(TagSarSegmentSeqnum)
	if !ok {
		return 0
	}
	return val
}
SarSegmentSeqnum is helper function for getting this option.
package pdu
import (
	"encoding/binary"
	"fmt"
)
type Options struct {
	fields map[TagID][]byte
}
func NewOptions() *Options {
	return &Options{
		fields: make(map[TagID][]byte),
	}
}
func (o *Options) Set(tag TagID, val []byte) *Options {
	o.fields[tag] = val
	return o
}
func (o *Options) SetSingle(tag TagID, val int) *Options {
	o.fields[tag] = []byte{byte(val)}
	return o
}
func (o *Options) SetDouble(tag TagID, val int) *Options {
	b := make([]byte, 2)
	binary.BigEndian.PutUint16(b, uint16(val))
	o.fields[tag] = b
	return o
}
func (o *Options) SetString(tag TagID, val string) *Options {
	o.fields[tag] = []byte(val)
	return o
}
func (o *Options) SetCString(tag TagID, val string) *Options {
	o.fields[tag] = append([]byte(val), 0)
	return o
}
func (o *Options) Get(tag TagID) ([]byte, bool) {
	val, ok := o.fields[tag]
	return val, ok
}
func (o *Options) GetSingle(tag TagID) (int, bool) {
	val, ok := o.fields[tag]
	if !ok {
		return 0, false
	}
	return int(val[0]), true
}
func (o *Options) GetDouble(tag TagID) (int, bool) {
	b, ok := o.fields[tag]
	if !ok {
		return 0, false
	}
	return int(binary.BigEndian.Uint16(b)), true
}
func (o *Options) GetString(tag TagID) (string, bool) {
	b, ok := o.fields[tag]
	if !ok {
		return "", false
	}
	return string(b), true
}
func (o *Options) GetCString(tag TagID) (string, bool) {
	b, ok := o.fields[tag]
	if !ok || len(b) == 0 {
		return "", false
	}
	return string(b[:len(b)-1]), true
}
func (o *Options) UserMessageReference() int {
	val, ok := o.GetDouble(TagUserMessageReference)
	if !ok {
		return 0
	}
	return val
}
func (o *Options) SarMsgRefNum() int {
	val, ok := o.GetDouble(TagSarMsgRefNum)
	if !ok {
		return 0
	}
	return val
}
func (o *Options) SarTotalSegments() int {
	val, ok := o.GetSingle(TagSarTotalSegments)
	if !ok {
		return 0
	}
	return val
}