// Code generated by GoVPP's binapi-generator. DO NOT EDIT.
// versions:
//  binapi-generator: v0.4.0-dev
//  VPP:              20.01
// source: .vppapi/core/session.api.json

// Package session contains generated bindings for API file session.api.
//
// Contents:
//  44 messages
//
package session

import (
	api "git.fd.io/govpp.git/api"
	codec "git.fd.io/govpp.git/codec"
)

// This is a compile-time assertion to ensure that this generated file
// is compatible with the GoVPP api package it is being compiled against.
// A compilation error at this line likely means your copy of the
// GoVPP api package needs to be updated.
const _ = api.GoVppAPIPackageIsVersion2

const (
	APIFile    = "session"
	APIVersion = "1.7.0"
	VersionCrc = 0xdf888b15
)

// AppAddCertKeyPair defines message 'app_add_cert_key_pair'.
type AppAddCertKeyPair struct {
	CertLen    uint16 `binapi:"u16,name=cert_len" json:"cert_len,omitempty"`
	CertkeyLen uint16 `binapi:"u16,name=certkey_len" json:"-"`
	Certkey    []byte `binapi:"u8[certkey_len],name=certkey" json:"certkey,omitempty"`
}

func (m *AppAddCertKeyPair) Reset()               { *m = AppAddCertKeyPair{} }
func (*AppAddCertKeyPair) GetMessageName() string { return "app_add_cert_key_pair" }
func (*AppAddCertKeyPair) GetCrcString() string   { return "02eb8016" }
func (*AppAddCertKeyPair) GetMessageType() api.MessageType {
	return api.RequestMessage
}

func (m *AppAddCertKeyPair) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 2                  // m.CertLen
	size += 2                  // m.CertkeyLen
	size += 1 * len(m.Certkey) // m.Certkey
	return size
}
func (m *AppAddCertKeyPair) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeUint16(m.CertLen)
	buf.EncodeUint16(uint16(len(m.Certkey)))
	buf.EncodeBytes(m.Certkey, 0)
	return buf.Bytes(), nil
}
func (m *AppAddCertKeyPair) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.CertLen = buf.DecodeUint16()
	m.CertkeyLen = buf.DecodeUint16()
	m.Certkey = make([]byte, m.CertkeyLen)
	copy(m.Certkey, buf.DecodeBytes(len(m.Certkey)))
	return nil
}

// AppAddCertKeyPairReply defines message 'app_add_cert_key_pair_reply'.
type AppAddCertKeyPairReply struct {
	Retval int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
	Index  uint32 `binapi:"u32,name=index" json:"index,omitempty"`
}

func (m *AppAddCertKeyPairReply) Reset()               { *m = AppAddCertKeyPairReply{} }
func (*AppAddCertKeyPairReply) GetMessageName() string { return "app_add_cert_key_pair_reply" }
func (*AppAddCertKeyPairReply) GetCrcString() string   { return "b42958d0" }
func (*AppAddCertKeyPairReply) GetMessageType() api.MessageType {
	return api.ReplyMessage
}

func (m *AppAddCertKeyPairReply) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 4 // m.Retval
	size += 4 // m.Index
	return size
}
func (m *AppAddCertKeyPairReply) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeInt32(m.Retval)
	buf.EncodeUint32(m.Index)
	return buf.Bytes(), nil
}
func (m *AppAddCertKeyPairReply) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.Retval = buf.DecodeInt32()
	m.Index = buf.DecodeUint32()
	return nil
}

// AppAttach defines message 'app_attach'.
type AppAttach struct {
	Options        []uint64 `binapi:"u64[16],name=options" json:"options,omitempty"`
	NamespaceIDLen uint8    `binapi:"u8,name=namespace_id_len" json:"namespace_id_len,omitempty"`
	NamespaceID    []byte   `binapi:"u8[64],name=namespace_id" json:"namespace_id,omitempty"`
}

func (m *AppAttach) Reset()               { *m = AppAttach{} }
func (*AppAttach) GetMessageName() string { return "app_attach" }
func (*AppAttach) GetCrcString() string   { return "ed08f4bd" }
func (*AppAttach) GetMessageType() api.MessageType {
	return api.RequestMessage
}

func (m *AppAttach) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 8 * 16 // m.Options
	size += 1      // m.NamespaceIDLen
	size += 1 * 64 // m.NamespaceID
	return size
}
func (m *AppAttach) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	for i := 0; i < 16; i++ {
		var x uint64
		if i < len(m.Options) {
			x = uint64(m.Options[i])
		}
		buf.EncodeUint64(x)
	}
	buf.EncodeUint8(m.NamespaceIDLen)
	buf.EncodeBytes(m.NamespaceID, 64)
	return buf.Bytes(), nil
}
func (m *AppAttach) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.Options = make([]uint64, 16)
	for i := 0; i < len(m.Options); i++ {
		m.Options[i] = buf.DecodeUint64()
	}
	m.NamespaceIDLen = buf.DecodeUint8()
	m.NamespaceID = make([]byte, 64)
	copy(m.NamespaceID, buf.DecodeBytes(len(m.NamespaceID)))
	return nil
}

// AppAttachReply defines message 'app_attach_reply'.
type AppAttachReply struct {
	Retval            int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
	AppMq             uint64 `binapi:"u64,name=app_mq" json:"app_mq,omitempty"`
	VppCtrlMq         uint64 `binapi:"u64,name=vpp_ctrl_mq" json:"vpp_ctrl_mq,omitempty"`
	VppCtrlMqThread   uint8  `binapi:"u8,name=vpp_ctrl_mq_thread" json:"vpp_ctrl_mq_thread,omitempty"`
	AppIndex          uint32 `binapi:"u32,name=app_index" json:"app_index,omitempty"`
	NFds              uint8  `binapi:"u8,name=n_fds" json:"n_fds,omitempty"`
	FdFlags           uint8  `binapi:"u8,name=fd_flags" json:"fd_flags,omitempty"`
	SegmentSize       uint32 `binapi:"u32,name=segment_size" json:"segment_size,omitempty"`
	SegmentNameLength uint8  `binapi:"u8,name=segment_name_length" json:"segment_name_length,omitempty"`
	SegmentName       []byte `binapi:"u8[128],name=segment_name" json:"segment_name,omitempty"`
	SegmentHandle     uint64 `binapi:"u64,name=segment_handle" json:"segment_handle,omitempty"`
}

func (m *AppAttachReply) Reset()               { *m = AppAttachReply{} }
func (*AppAttachReply) GetMessageName() string { return "app_attach_reply" }
func (*AppAttachReply) GetCrcString() string   { return "0112f647" }
func (*AppAttachReply) GetMessageType() api.MessageType {
	return api.ReplyMessage
}

func (m *AppAttachReply) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 4       // m.Retval
	size += 8       // m.AppMq
	size += 8       // m.VppCtrlMq
	size += 1       // m.VppCtrlMqThread
	size += 4       // m.AppIndex
	size += 1       // m.NFds
	size += 1       // m.FdFlags
	size += 4       // m.SegmentSize
	size += 1       // m.SegmentNameLength
	size += 1 * 128 // m.SegmentName
	size += 8       // m.SegmentHandle
	return size
}
func (m *AppAttachReply) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeInt32(m.Retval)
	buf.EncodeUint64(m.AppMq)
	buf.EncodeUint64(m.VppCtrlMq)
	buf.EncodeUint8(m.VppCtrlMqThread)
	buf.EncodeUint32(m.AppIndex)
	buf.EncodeUint8(m.NFds)
	buf.EncodeUint8(m.FdFlags)
	buf.EncodeUint32(m.SegmentSize)
	buf.EncodeUint8(m.SegmentNameLength)
	buf.EncodeBytes(m.SegmentName, 128)
	buf.EncodeUint64(m.SegmentHandle)
	return buf.Bytes(), nil
}
func (m *AppAttachReply) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.Retval = buf.DecodeInt32()
	m.AppMq = buf.DecodeUint64()
	m.VppCtrlMq = buf.DecodeUint64()
	m.VppCtrlMqThread = buf.DecodeUint8()
	m.AppIndex = buf.DecodeUint32()
	m.NFds = buf.DecodeUint8()
	m.FdFlags = buf.DecodeUint8()
	m.SegmentSize = buf.DecodeUint32()
	m.SegmentNameLength = buf.DecodeUint8()
	m.SegmentName = make([]byte, 128)
	copy(m.SegmentName, buf.DecodeBytes(len(m.SegmentName)))
	m.SegmentHandle = buf.DecodeUint64()
	return nil
}

// AppCutThroughRegistrationAdd defines message 'app_cut_through_registration_add'.
type AppCutThroughRegistrationAdd struct {
	EvtQAddress     uint64 `binapi:"u64,name=evt_q_address" json:"evt_q_address,omitempty"`
	PeerEvtQAddress uint64 `binapi:"u64,name=peer_evt_q_address" json:"peer_evt_q_address,omitempty"`
	WrkIndex        uint32 `binapi:"u32,name=wrk_index" json:"wrk_index,omitempty"`
	NFds            uint8  `binapi:"u8,name=n_fds" json:"n_fds,omitempty"`
	FdFlags         uint8  `binapi:"u8,name=fd_flags" json:"fd_flags,omitempty"`
}

func (m *AppCutThroughRegistrationAdd) Reset() { *m = AppCutThroughRegistrationAdd{} }
func (*AppCutThroughRegistrationAdd) GetMessageName() string {
	return "app_cut_through_registration_add"
}
func (*AppCutThroughRegistrationAdd) GetCrcString() string { return "6d73b1b9" }
func (*AppCutThroughRegistrationAdd) GetMessageType() api.MessageType {
	return api.RequestMessage
}

func (m *AppCutThroughRegistrationAdd) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 8 // m.EvtQAddress
	size += 8 // m.PeerEvtQAddress
	size += 4 // m.WrkIndex
	size += 1 // m.NFds
	size += 1 // m.FdFlags
	return size
}
func (m *AppCutThroughRegistrationAdd) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeUint64(m.EvtQAddress)
	buf.EncodeUint64(m.PeerEvtQAddress)
	buf.EncodeUint32(m.WrkIndex)
	buf.EncodeUint8(m.NFds)
	buf.EncodeUint8(m.FdFlags)
	return buf.Bytes(), nil
}
func (m *AppCutThroughRegistrationAdd) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.EvtQAddress = buf.DecodeUint64()
	m.PeerEvtQAddress = buf.DecodeUint64()
	m.WrkIndex = buf.DecodeUint32()
	m.NFds = buf.DecodeUint8()
	m.FdFlags = buf.DecodeUint8()
	return nil
}

// AppCutThroughRegistrationAddReply defines message 'app_cut_through_registration_add_reply'.
type AppCutThroughRegistrationAddReply struct {
	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
}

func (m *AppCutThroughRegistrationAddReply) Reset() { *m = AppCutThroughRegistrationAddReply{} }
func (*AppCutThroughRegistrationAddReply) GetMessageName() string {
	return "app_cut_through_registration_add_reply"
}
func (*AppCutThroughRegistrationAddReply) GetCrcString() string { return "e8d4e804" }
func (*AppCutThroughRegistrationAddReply) GetMessageType() api.MessageType {
	return api.ReplyMessage
}

func (m *AppCutThroughRegistrationAddReply) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 4 // m.Retval
	return size
}
func (m *AppCutThroughRegistrationAddReply) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeInt32(m.Retval)
	return buf.Bytes(), nil
}
func (m *AppCutThroughRegistrationAddReply) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.Retval = buf.DecodeInt32()
	return nil
}

// AppDelCertKeyPair defines message 'app_del_cert_key_pair'.
type AppDelCertKeyPair struct {
	Index uint32 `binapi:"u32,name=index" json:"index,omitempty"`
}

func (m *AppDelCertKeyPair) Reset()               { *m = AppDelCertKeyPair{} }
func (*AppDelCertKeyPair) GetMessageName() string { return "app_del_cert_key_pair" }
func (*AppDelCertKeyPair) GetCrcString() string   { return "8ac76db6" }
func (*AppDelCertKeyPair) GetMessageType() api.MessageType {
	return api.RequestMessage
}

func (m *AppDelCertKeyPair) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 4 // m.Index
	return size
}
func (m *AppDelCertKeyPair) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeUint32(m.Index)
	return buf.Bytes(), nil
}
func (m *AppDelCertKeyPair) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.Index = buf.DecodeUint32()
	return nil
}

// AppDelCertKeyPairReply defines message 'app_del_cert_key_pair_reply'.
type AppDelCertKeyPairReply struct {
	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
}

func (m *AppDelCertKeyPairReply) Reset()               { *m = AppDelCertKeyPairReply{} }
func (*AppDelCertKeyPairReply) GetMessageName() string { return "app_del_cert_key_pair_reply" }
func (*AppDelCertKeyPairReply) GetCrcString() string   { return "e8d4e804" }
func (*AppDelCertKeyPairReply) GetMessageType() api.MessageType {
	return api.ReplyMessage
}

func (m *AppDelCertKeyPairReply) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 4 // m.Retval
	return size
}
func (m *AppDelCertKeyPairReply) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeInt32(m.Retval)
	return buf.Bytes(), nil
}
func (m *AppDelCertKeyPairReply) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.Retval = buf.DecodeInt32()
	return nil
}

// AppNamespaceAddDel defines message 'app_namespace_add_del'.
type AppNamespaceAddDel struct {
	Secret         uint64 `binapi:"u64,name=secret" json:"secret,omitempty"`
	SwIfIndex      uint32 `binapi:"u32,name=sw_if_index" json:"sw_if_index,omitempty"`
	IP4FibID       uint32 `binapi:"u32,name=ip4_fib_id" json:"ip4_fib_id,omitempty"`
	IP6FibID       uint32 `binapi:"u32,name=ip6_fib_id" json:"ip6_fib_id,omitempty"`
	NamespaceIDLen uint8  `binapi:"u8,name=namespace_id_len" json:"namespace_id_len,omitempty"`
	NamespaceID    []byte `binapi:"u8[64],name=namespace_id" json:"namespace_id,omitempty"`
}

func (m *AppNamespaceAddDel) Reset()               { *m = AppNamespaceAddDel{} }
func (*AppNamespaceAddDel) GetMessageName() string { return "app_namespace_add_del" }
func (*AppNamespaceAddDel) GetCrcString() string   { return "dd074c65" }
func (*AppNamespaceAddDel) GetMessageType() api.MessageType {
	return api.RequestMessage
}

func (m *AppNamespaceAddDel) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 8      // m.Secret
	size += 4      // m.SwIfIndex
	size += 4      // m.IP4FibID
	size += 4      // m.IP6FibID
	size += 1      // m.NamespaceIDLen
	size += 1 * 64 // m.NamespaceID
	return size
}
func (m *AppNamespaceAddDel) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeUint64(m.Secret)
	buf.EncodeUint32(m.SwIfIndex)
	buf.EncodeUint32(m.IP4FibID)
	buf.EncodeUint32(m.IP6FibID)
	buf.EncodeUint8(m.NamespaceIDLen)
	buf.EncodeBytes(m.NamespaceID, 64)
	return buf.Bytes(), nil
}
func (m *AppNamespaceAddDel) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.Secret = buf.DecodeUint64()
	m.SwIfIndex = buf.DecodeUint32()
	m.IP4FibID = buf.DecodeUint32()
	m.IP6FibID = buf.DecodeUint32()
	m.NamespaceIDLen = buf.DecodeUint8()
	m.NamespaceID = make([]byte, 64)
	copy(m.NamespaceID, buf.DecodeBytes(len(m.NamespaceID)))
	return nil
}

// AppNamespaceAddDelReply defines message 'app_namespace_add_del_reply'.
type AppNamespaceAddDelReply struct {
	Retval     int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
	AppnsIndex uint32 `binapi:"u32,name=appns_index" json:"appns_index,omitempty"`
}

func (m *AppNamespaceAddDelReply) Reset()               { *m = AppNamespaceAddDelReply{} }
func (*AppNamespaceAddDelReply) GetMessageName() string { return "app_namespace_add_del_reply" }
func (*AppNamespaceAddDelReply) GetCrcString() string   { return "85137120" }
func (*AppNamespaceAddDelReply) GetMessageType() api.MessageType {
	return api.ReplyMessage
}

func (m *AppNamespaceAddDelReply) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 4 // m.Retval
	size += 4 // m.AppnsIndex
	return size
}
func (m *AppNamespaceAddDelReply) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeInt32(m.Retval)
	buf.EncodeUint32(m.AppnsIndex)
	return buf.Bytes(), nil
}
func (m *AppNamespaceAddDelReply) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.Retval = buf.DecodeInt32()
	m.AppnsIndex = buf.DecodeUint32()
	return nil
}

// AppWorkerAddDel defines message 'app_worker_add_del'.
type AppWorkerAddDel struct {
	AppIndex uint32 `binapi:"u32,name=app_index" json:"app_index,omitempty"`
	WrkIndex uint32 `binapi:"u32,name=wrk_index" json:"wrk_index,omitempty"`
	IsAdd    uint8  `binapi:"u8,name=is_add" json:"is_add,omitempty"`
}

func (m *AppWorkerAddDel) Reset()               { *m = AppWorkerAddDel{} }
func (*AppWorkerAddDel) GetMessageName() string { return "app_worker_add_del" }
func (*AppWorkerAddDel) GetCrcString() string   { return "6d2b2279" }
func (*AppWorkerAddDel) GetMessageType() api.MessageType {
	return api.RequestMessage
}

func (m *AppWorkerAddDel) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 4 // m.AppIndex
	size += 4 // m.WrkIndex
	size += 1 // m.IsAdd
	return size
}
func (m *AppWorkerAddDel) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeUint32(m.AppIndex)
	buf.EncodeUint32(m.WrkIndex)
	buf.EncodeUint8(m.IsAdd)
	return buf.Bytes(), nil
}
func (m *AppWorkerAddDel) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.AppIndex = buf.DecodeUint32()
	m.WrkIndex = buf.DecodeUint32()
	m.IsAdd = buf.DecodeUint8()
	return nil
}

// AppWorkerAddDelReply defines message 'app_worker_add_del_reply'.
type AppWorkerAddDelReply struct {
	Retval               int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
	WrkIndex             uint32 `binapi:"u32,name=wrk_index" json:"wrk_index,omitempty"`
	AppEventQueueAddress uint64 `binapi:"u64,name=app_event_queue_address" json:"app_event_queue_address,omitempty"`
	NFds                 uint8  `binapi:"u8,name=n_fds" json:"n_fds,omitempty"`
	FdFlags              uint8  `binapi:"u8,name=fd_flags" json:"fd_flags,omitempty"`
	SegmentNameLength    uint8  `binapi:"u8,name=segment_name_length" json:"segment_name_length,omitempty"`
	SegmentName          []byte `binapi:"u8[128],name=segment_name" json:"segment_name,omitempty"`
	SegmentHandle        uint64 `binapi:"u64,name=segment_handle" json:"segment_handle,omitempty"`
	IsAdd                uint8  `binapi:"u8,name=is_add" json:"is_add,omitempty"`
}

func (m *AppWorkerAddDelReply) Reset()               { *m = AppWorkerAddDelReply{} }
func (*AppWorkerAddDelReply) GetMessageName() string { return "app_worker_add_del_reply" }
func (*AppWorkerAddDelReply) GetCrcString() string   { return "56b21abc" }
func (*AppWorkerAddDelReply) GetMessageType() api.MessageType {
	return api.ReplyMessage
}

func (m *AppWorkerAddDelReply) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 4       // m.Retval
	size += 4       // m.WrkIndex
	size += 8       // m.AppEventQueueAddress
	size += 1       // m.NFds
	size += 1       // m.FdFlags
	size += 1       // m.SegmentNameLength
	size += 1 * 128 // m.SegmentName
	size += 8       // m.SegmentHandle
	size += 1       // m.IsAdd
	return size
}
func (m *AppWorkerAddDelReply) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeInt32(m.Retval)
	buf.EncodeUint32(m.WrkIndex)
	buf.EncodeUint64(m.AppEventQueueAddress)
	buf.EncodeUint8(m.NFds)
	buf.EncodeUint8(m.FdFlags)
	buf.EncodeUint8(m.SegmentNameLength)
	buf.EncodeBytes(m.SegmentName, 128)
	buf.EncodeUint64(m.SegmentHandle)
	buf.EncodeUint8(m.IsAdd)
	return buf.Bytes(), nil
}
func (m *AppWorkerAddDelReply) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.Retval = buf.DecodeInt32()
	m.WrkIndex = buf.DecodeUint32()
	m.AppEventQueueAddress = buf.DecodeUint64()
	m.NFds = buf.DecodeUint8()
	m.FdFlags = buf.DecodeUint8()
	m.SegmentNameLength = buf.DecodeUint8()
	m.SegmentName = make([]byte, 128)
	copy(m.SegmentName, buf.DecodeBytes(len(m.SegmentName)))
	m.SegmentHandle = buf.DecodeUint64()
	m.IsAdd = buf.DecodeUint8()
	return nil
}

// ApplicationAttach defines message 'application_attach'.
type ApplicationAttach struct {
	InitialSegmentSize uint32   `binapi:"u32,name=initial_segment_size" json:"initial_segment_size,omitempty"`
	Options            []uint64 `binapi:"u64[16],name=options" json:"options,omitempty"`
	NamespaceIDLen     uint8    `binapi:"u8,name=namespace_id_len" json:"namespace_id_len,omitempty"`
	NamespaceID        []byte   `binapi:"u8[64],name=namespace_id" json:"namespace_id,omitempty"`
}

func (m *ApplicationAttach) Reset()               { *m = ApplicationAttach{} }
func (*ApplicationAttach) GetMessageName() string { return "application_attach" }
func (*ApplicationAttach) GetCrcString() string   { return "81d4f974" }
func (*ApplicationAttach) GetMessageType() api.MessageType {
	return api.RequestMessage
}

func (m *ApplicationAttach) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 4      // m.InitialSegmentSize
	size += 8 * 16 // m.Options
	size += 1      // m.NamespaceIDLen
	size += 1 * 64 // m.NamespaceID
	return size
}
func (m *ApplicationAttach) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeUint32(m.InitialSegmentSize)
	for i := 0; i < 16; i++ {
		var x uint64
		if i < len(m.Options) {
			x = uint64(m.Options[i])
		}
		buf.EncodeUint64(x)
	}
	buf.EncodeUint8(m.NamespaceIDLen)
	buf.EncodeBytes(m.NamespaceID, 64)
	return buf.Bytes(), nil
}
func (m *ApplicationAttach) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.InitialSegmentSize = buf.DecodeUint32()
	m.Options = make([]uint64, 16)
	for i := 0; i < len(m.Options); i++ {
		m.Options[i] = buf.DecodeUint64()
	}
	m.NamespaceIDLen = buf.DecodeUint8()
	m.NamespaceID = make([]byte, 64)
	copy(m.NamespaceID, buf.DecodeBytes(len(m.NamespaceID)))
	return nil
}

// ApplicationAttachReply defines message 'application_attach_reply'.
type ApplicationAttachReply struct {
	Retval               int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
	AppEventQueueAddress uint64 `binapi:"u64,name=app_event_queue_address" json:"app_event_queue_address,omitempty"`
	NFds                 uint8  `binapi:"u8,name=n_fds" json:"n_fds,omitempty"`
	FdFlags              uint8  `binapi:"u8,name=fd_flags" json:"fd_flags,omitempty"`
	SegmentSize          uint32 `binapi:"u32,name=segment_size" json:"segment_size,omitempty"`
	SegmentNameLength    uint8  `binapi:"u8,name=segment_name_length" json:"segment_name_length,omitempty"`
	SegmentName          []byte `binapi:"u8[128],name=segment_name" json:"segment_name,omitempty"`
	AppIndex             uint32 `binapi:"u32,name=app_index" json:"app_index,omitempty"`
	SegmentHandle        uint64 `binapi:"u64,name=segment_handle" json:"segment_handle,omitempty"`
}

func (m *ApplicationAttachReply) Reset()               { *m = ApplicationAttachReply{} }
func (*ApplicationAttachReply) GetMessageName() string { return "application_attach_reply" }
func (*ApplicationAttachReply) GetCrcString() string   { return "581866e8" }
func (*ApplicationAttachReply) GetMessageType() api.MessageType {
	return api.ReplyMessage
}

func (m *ApplicationAttachReply) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 4       // m.Retval
	size += 8       // m.AppEventQueueAddress
	size += 1       // m.NFds
	size += 1       // m.FdFlags
	size += 4       // m.SegmentSize
	size += 1       // m.SegmentNameLength
	size += 1 * 128 // m.SegmentName
	size += 4       // m.AppIndex
	size += 8       // m.SegmentHandle
	return size
}
func (m *ApplicationAttachReply) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeInt32(m.Retval)
	buf.EncodeUint64(m.AppEventQueueAddress)
	buf.EncodeUint8(m.NFds)
	buf.EncodeUint8(m.FdFlags)
	buf.EncodeUint32(m.SegmentSize)
	buf.EncodeUint8(m.SegmentNameLength)
	buf.EncodeBytes(m.SegmentName, 128)
	buf.EncodeUint32(m.AppIndex)
	buf.EncodeUint64(m.SegmentHandle)
	return buf.Bytes(), nil
}
func (m *ApplicationAttachReply) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.Retval = buf.DecodeInt32()
	m.AppEventQueueAddress = buf.DecodeUint64()
	m.NFds = buf.DecodeUint8()
	m.FdFlags = buf.DecodeUint8()
	m.SegmentSize = buf.DecodeUint32()
	m.SegmentNameLength = buf.DecodeUint8()
	m.SegmentName = make([]byte, 128)
	copy(m.SegmentName, buf.DecodeBytes(len(m.SegmentName)))
	m.AppIndex = buf.DecodeUint32()
	m.SegmentHandle = buf.DecodeUint64()
	return nil
}

// ApplicationDetach defines message 'application_detach'.
type ApplicationDetach struct{}

func (m *ApplicationDetach) Reset()               { *m = ApplicationDetach{} }
func (*ApplicationDetach) GetMessageName() string { return "application_detach" }
func (*ApplicationDetach) GetCrcString() string   { return "51077d14" }
func (*ApplicationDetach) GetMessageType() api.MessageType {
	return api.RequestMessage
}

func (m *ApplicationDetach) Size() (size int) {
	if m == nil {
		return 0
	}
	return size
}
func (m *ApplicationDetach) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	return buf.Bytes(), nil
}
func (m *ApplicationDetach) Unmarshal(b []byte) error {
	return nil
}

// ApplicationDetachReply defines message 'application_detach_reply'.
type ApplicationDetachReply struct {
	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
}

func (m *ApplicationDetachReply) Reset()               { *m = ApplicationDetachReply{} }
func (*ApplicationDetachReply) GetMessageName() string { return "application_detach_reply" }
func (*ApplicationDetachReply) GetCrcString() string   { return "e8d4e804" }
func (*ApplicationDetachReply) GetMessageType() api.MessageType {
	return api.ReplyMessage
}

func (m *ApplicationDetachReply) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 4 // m.Retval
	return size
}
func (m *ApplicationDetachReply) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeInt32(m.Retval)
	return buf.Bytes(), nil
}
func (m *ApplicationDetachReply) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.Retval = buf.DecodeInt32()
	return nil
}

// ApplicationTLSCertAdd defines message 'application_tls_cert_add'.
type ApplicationTLSCertAdd struct {
	AppIndex uint32 `binapi:"u32,name=app_index" json:"app_index,omitempty"`
	CertLen  uint16 `binapi:"u16,name=cert_len" json:"-"`
	Cert     []byte `binapi:"u8[cert_len],name=cert" json:"cert,omitempty"`
}

func (m *ApplicationTLSCertAdd) Reset()               { *m = ApplicationTLSCertAdd{} }
func (*ApplicationTLSCertAdd) GetMessageName() string { return "application_tls_cert_add" }
func (*ApplicationTLSCertAdd) GetCrcString() string   { return "3f5cfe45" }
func (*ApplicationTLSCertAdd) GetMessageType() api.MessageType {
	return api.RequestMessage
}

func (m *ApplicationTLSCertAdd) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 4               // m.AppIndex
	size += 2               // m.CertLen
	size += 1 * len(m.Cert) // m.Cert
	return size
}
func (m *ApplicationTLSCertAdd) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeUint32(m.AppIndex)
	buf.EncodeUint16(uint16(len(m.Cert)))
	buf.EncodeBytes(m.Cert, 0)
	return buf.Bytes(), nil
}
func (m *ApplicationTLSCertAdd) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.AppIndex = buf.DecodeUint32()
	m.CertLen = buf.DecodeUint16()
	m.Cert = make([]byte, m.CertLen)
	copy(m.Cert, buf.DecodeBytes(len(m.Cert)))
	return nil
}

// ApplicationTLSCertAddReply defines message 'application_tls_cert_add_reply'.
type ApplicationTLSCertAddReply struct {
	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
}

func (m *ApplicationTLSCertAddReply) Reset()               { *m = ApplicationTLSCertAddReply{} }
func (*ApplicationTLSCertAddReply) GetMessageName() string { return "application_tls_cert_add_reply" }
func (*ApplicationTLSCertAddReply) GetCrcString() string   { return "e8d4e804" }
func (*ApplicationTLSCertAddReply) GetMessageType() api.MessageType {
	return api.ReplyMessage
}

func (m *ApplicationTLSCertAddReply) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 4 // m.Retval
	return size
}
func (m *ApplicationTLSCertAddReply) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeInt32(m.Retval)
	return buf.Bytes(), nil
}
func (m *ApplicationTLSCertAddReply) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.Retval = buf.DecodeInt32()
	return nil
}

// ApplicationTLSKeyAdd defines message 'application_tls_key_add'.
type ApplicationTLSKeyAdd struct {
	AppIndex uint32 `binapi:"u32,name=app_index" json:"app_index,omitempty"`
	KeyLen   uint16 `binapi:"u16,name=key_len" json:"-"`
	Key      []byte `binapi:"u8[key_len],name=key" json:"key,omitempty"`
}

func (m *ApplicationTLSKeyAdd) Reset()               { *m = ApplicationTLSKeyAdd{} }
func (*ApplicationTLSKeyAdd) GetMessageName() string { return "application_tls_key_add" }
func (*ApplicationTLSKeyAdd) GetCrcString() string   { return "5eaf70cd" }
func (*ApplicationTLSKeyAdd) GetMessageType() api.MessageType {
	return api.RequestMessage
}

func (m *ApplicationTLSKeyAdd) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 4              // m.AppIndex
	size += 2              // m.KeyLen
	size += 1 * len(m.Key) // m.Key
	return size
}
func (m *ApplicationTLSKeyAdd) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeUint32(m.AppIndex)
	buf.EncodeUint16(uint16(len(m.Key)))
	buf.EncodeBytes(m.Key, 0)
	return buf.Bytes(), nil
}
func (m *ApplicationTLSKeyAdd) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.AppIndex = buf.DecodeUint32()
	m.KeyLen = buf.DecodeUint16()
	m.Key = make([]byte, m.KeyLen)
	copy(m.Key, buf.DecodeBytes(len(m.Key)))
	return nil
}

// ApplicationTLSKeyAddReply defines message 'application_tls_key_add_reply'.
type ApplicationTLSKeyAddReply struct {
	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
}

func (m *ApplicationTLSKeyAddReply) Reset()               { *m = ApplicationTLSKeyAddReply{} }
func (*ApplicationTLSKeyAddReply) GetMessageName() string { return "application_tls_key_add_reply" }
func (*ApplicationTLSKeyAddReply) GetCrcString() string   { return "e8d4e804" }
func (*ApplicationTLSKeyAddReply) GetMessageType() api.MessageType {
	return api.ReplyMessage
}

func (m *ApplicationTLSKeyAddReply) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 4 // m.Retval
	return size
}
func (m *ApplicationTLSKeyAddReply) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeInt32(m.Retval)
	return buf.Bytes(), nil
}
func (m *ApplicationTLSKeyAddReply) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.Retval = buf.DecodeInt32()
	return nil
}

// BindSock defines message 'bind_sock'.
type BindSock struct {
	WrkIndex uint32   `binapi:"u32,name=wrk_index" json:"wrk_index,omitempty"`
	Vrf      uint32   `binapi:"u32,name=vrf" json:"vrf,omitempty"`
	IsIP4    uint8    `binapi:"u8,name=is_ip4" json:"is_ip4,omitempty"`
	IP       []byte   `binapi:"u8[16],name=ip" json:"ip,omitempty"`
	Port     uint16   `binapi:"u16,name=port" json:"port,omitempty"`
	Proto    uint8    `binapi:"u8,name=proto" json:"proto,omitempty"`
	Options  []uint64 `binapi:"u64[16],name=options" json:"options,omitempty"`
}

func (m *BindSock) Reset()               { *m = BindSock{} }
func (*BindSock) GetMessageName() string { return "bind_sock" }
func (*BindSock) GetCrcString() string   { return "0394633f" }
func (*BindSock) GetMessageType() api.MessageType {
	return api.RequestMessage
}

func (m *BindSock) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 4      // m.WrkIndex
	size += 4      // m.Vrf
	size += 1      // m.IsIP4
	size += 1 * 16 // m.IP
	size += 2      // m.Port
	size += 1      // m.Proto
	size += 8 * 16 // m.Options
	return size
}
func (m *BindSock) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeUint32(m.WrkIndex)
	buf.EncodeUint32(m.Vrf)
	buf.EncodeUint8(m.IsIP4)
	buf.EncodeBytes(m.IP, 16)
	buf.EncodeUint16(m.Port)
	buf.EncodeUint8(m.Proto)
	for i := 0; i < 16; i++ {
		var x uint64
		if i < len(m.Options) {
			x = uint64(m.Options[i])
		}
		buf.EncodeUint64(x)
	}
	return buf.Bytes(), nil
}
func (m *BindSock) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.WrkIndex = buf.DecodeUint32()
	m.Vrf = buf.DecodeUint32()
	m.IsIP4 = buf.DecodeUint8()
	m.IP = make([]byte, 16)
	copy(m.IP, buf.DecodeBytes(len(m.IP)))
	m.Port = buf.DecodeUint16()
	m.Proto = buf.DecodeUint8()
	m.Options = make([]uint64, 16)
	for i := 0; i < len(m.Options); i++ {
		m.Options[i] = buf.DecodeUint64()
	}
	return nil
}

// BindSockReply defines message 'bind_sock_reply'.
type BindSockReply struct {
	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
}

func (m *BindSockReply) Reset()               { *m = BindSockReply{} }
func (*BindSockReply) GetMessageName() string { return "bind_sock_reply" }
func (*BindSockReply) GetCrcString() string   { return "e8d4e804" }
func (*BindSockReply) GetMessageType() api.MessageType {
	return api.ReplyMessage
}

func (m *BindSockReply) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 4 // m.Retval
	return size
}
func (m *BindSockReply) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeInt32(m.Retval)
	return buf.Bytes(), nil
}
func (m *BindSockReply) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.Retval = buf.DecodeInt32()
	return nil
}

// BindURI defines message 'bind_uri'.
type BindURI struct {
	AcceptCookie uint32 `binapi:"u32,name=accept_cookie" json:"accept_cookie,omitempty"`
	URI          []byte `binapi:"u8[128],name=uri" json:"uri,omitempty"`
}

func (m *BindURI) Reset()               { *m = BindURI{} }
func (*BindURI) GetMessageName() string { return "bind_uri" }
func (*BindURI) GetCrcString() string   { return "fae140cb" }
func (*BindURI) GetMessageType() api.MessageType {
	return api.RequestMessage
}

func (m *BindURI) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 4       // m.AcceptCookie
	size += 1 * 128 // m.URI
	return size
}
func (m *BindURI) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeUint32(m.AcceptCookie)
	buf.EncodeBytes(m.URI, 128)
	return buf.Bytes(), nil
}
func (m *BindURI) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.AcceptCookie = buf.DecodeUint32()
	m.URI = make([]byte, 128)
	copy(m.URI, buf.DecodeBytes(len(m.URI)))
	return nil
}

// BindURIReply defines message 'bind_uri_reply'.
type BindURIReply struct {
	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
}

func (m *BindURIReply) Reset()               { *m = BindURIReply{} }
func (*BindURIReply) GetMessageName() string { return "bind_uri_reply" }
func (*BindURIReply) GetCrcString() string   { return "e8d4e804" }
func (*BindURIReply) GetMessageType() api.MessageType {
	return api.ReplyMessage
}

func (m *BindURIReply) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 4 // m.Retval
	return size
}
func (m *BindURIReply) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeInt32(m.Retval)
	return buf.Bytes(), nil
}
func (m *BindURIReply) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.Retval = buf.DecodeInt32()
	return nil
}

// ConnectSock defines message 'connect_sock'.
type ConnectSock struct {
	WrkIndex           uint32   `binapi:"u32,name=wrk_index" json:"wrk_index,omitempty"`
	ClientQueueAddress uint64   `binapi:"u64,name=client_queue_address" json:"client_queue_address,omitempty"`
	Options            []uint64 `binapi:"u64[16],name=options" json:"options,omitempty"`
	Vrf                uint32   `binapi:"u32,name=vrf" json:"vrf,omitempty"`
	IsIP4              uint8    `binapi:"u8,name=is_ip4" json:"is_ip4,omitempty"`
	IP                 []byte   `binapi:"u8[16],name=ip" json:"ip,omitempty"`
	Port               uint16   `binapi:"u16,name=port" json:"port,omitempty"`
	Proto              uint8    `binapi:"u8,name=proto" json:"proto,omitempty"`
	ParentHandle       uint64   `binapi:"u64,name=parent_handle" json:"parent_handle,omitempty"`
	HostnameLen        uint8    `binapi:"u8,name=hostname_len" json:"-"`
	Hostname           []byte   `binapi:"u8[hostname_len],name=hostname" json:"hostname,omitempty"`
}

func (m *ConnectSock) Reset()               { *m = ConnectSock{} }
func (*ConnectSock) GetMessageName() string { return "connect_sock" }
func (*ConnectSock) GetCrcString() string   { return "d2b460ca" }
func (*ConnectSock) GetMessageType() api.MessageType {
	return api.RequestMessage
}

func (m *ConnectSock) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 4                   // m.WrkIndex
	size += 8                   // m.ClientQueueAddress
	size += 8 * 16              // m.Options
	size += 4                   // m.Vrf
	size += 1                   // m.IsIP4
	size += 1 * 16              // m.IP
	size += 2                   // m.Port
	size += 1                   // m.Proto
	size += 8                   // m.ParentHandle
	size += 1                   // m.HostnameLen
	size += 1 * len(m.Hostname) // m.Hostname
	return size
}
func (m *ConnectSock) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeUint32(m.WrkIndex)
	buf.EncodeUint64(m.ClientQueueAddress)
	for i := 0; i < 16; i++ {
		var x uint64
		if i < len(m.Options) {
			x = uint64(m.Options[i])
		}
		buf.EncodeUint64(x)
	}
	buf.EncodeUint32(m.Vrf)
	buf.EncodeUint8(m.IsIP4)
	buf.EncodeBytes(m.IP, 16)
	buf.EncodeUint16(m.Port)
	buf.EncodeUint8(m.Proto)
	buf.EncodeUint64(m.ParentHandle)
	buf.EncodeUint8(uint8(len(m.Hostname)))
	buf.EncodeBytes(m.Hostname, 0)
	return buf.Bytes(), nil
}
func (m *ConnectSock) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.WrkIndex = buf.DecodeUint32()
	m.ClientQueueAddress = buf.DecodeUint64()
	m.Options = make([]uint64, 16)
	for i := 0; i < len(m.Options); i++ {
		m.Options[i] = buf.DecodeUint64()
	}
	m.Vrf = buf.DecodeUint32()
	m.IsIP4 = buf.DecodeUint8()
	m.IP = make([]byte, 16)
	copy(m.IP, buf.DecodeBytes(len(m.IP)))
	m.Port = buf.DecodeUint16()
	m.Proto = buf.DecodeUint8()
	m.ParentHandle = buf.DecodeUint64()
	m.HostnameLen = buf.DecodeUint8()
	m.Hostname = make([]byte, m.HostnameLen)
	copy(m.Hostname, buf.DecodeBytes(len(m.Hostname)))
	return nil
}

// ConnectSockReply defines message 'connect_sock_reply'.
type ConnectSockReply struct {
	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
}

func (m *ConnectSockReply) Reset()               { *m = ConnectSockReply{} }
func (*ConnectSockReply) GetMessageName() string { return "connect_sock_reply" }
func (*ConnectSockReply) GetCrcString() string   { return "e8d4e804" }
func (*ConnectSockReply) GetMessageType() api.MessageType {
	return api.ReplyMessage
}

func (m *ConnectSockReply) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 4 // m.Retval
	return size
}
func (m *ConnectSockReply) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeInt32(m.Retval)
	return buf.Bytes(), nil
}
func (m *ConnectSockReply) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.Retval = buf.DecodeInt32()
	return nil
}

// ConnectURI defines message 'connect_uri'.
type ConnectURI struct {
	ClientQueueAddress uint64   `binapi:"u64,name=client_queue_address" json:"client_queue_address,omitempty"`
	Options            []uint64 `binapi:"u64[16],name=options" json:"options,omitempty"`
	URI                []byte   `binapi:"u8[128],name=uri" json:"uri,omitempty"`
}

func (m *ConnectURI) Reset()               { *m = ConnectURI{} }
func (*ConnectURI) GetMessageName() string { return "connect_uri" }
func (*ConnectURI) GetCrcString() string   { return "a36143d6" }
func (*ConnectURI) GetMessageType() api.MessageType {
	return api.RequestMessage
}

func (m *ConnectURI) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 8       // m.ClientQueueAddress
	size += 8 * 16  // m.Options
	size += 1 * 128 // m.URI
	return size
}
func (m *ConnectURI) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeUint64(m.ClientQueueAddress)
	for i := 0; i < 16; i++ {
		var x uint64
		if i < len(m.Options) {
			x = uint64(m.Options[i])
		}
		buf.EncodeUint64(x)
	}
	buf.EncodeBytes(m.URI, 128)
	return buf.Bytes(), nil
}
func (m *ConnectURI) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.ClientQueueAddress = buf.DecodeUint64()
	m.Options = make([]uint64, 16)
	for i := 0; i < len(m.Options); i++ {
		m.Options[i] = buf.DecodeUint64()
	}
	m.URI = make([]byte, 128)
	copy(m.URI, buf.DecodeBytes(len(m.URI)))
	return nil
}

// ConnectURIReply defines message 'connect_uri_reply'.
type ConnectURIReply struct {
	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
}

func (m *ConnectURIReply) Reset()               { *m = ConnectURIReply{} }
func (*ConnectURIReply) GetMessageName() string { return "connect_uri_reply" }
func (*ConnectURIReply) GetCrcString() string   { return "e8d4e804" }
func (*ConnectURIReply) GetMessageType() api.MessageType {
	return api.ReplyMessage
}

func (m *ConnectURIReply) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 4 // m.Retval
	return size
}
func (m *ConnectURIReply) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeInt32(m.Retval)
	return buf.Bytes(), nil
}
func (m *ConnectURIReply) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.Retval = buf.DecodeInt32()
	return nil
}

// DisconnectSession defines message 'disconnect_session'.
type DisconnectSession struct {
	Handle uint64 `binapi:"u64,name=handle" json:"handle,omitempty"`
}

func (m *DisconnectSession) Reset()               { *m = DisconnectSession{} }
func (*DisconnectSession) GetMessageName() string { return "disconnect_session" }
func (*DisconnectSession) GetCrcString() string   { return "7279205b" }
func (*DisconnectSession) GetMessageType() api.MessageType {
	return api.RequestMessage
}

func (m *DisconnectSession) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 8 // m.Handle
	return size
}
func (m *DisconnectSession) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeUint64(m.Handle)
	return buf.Bytes(), nil
}
func (m *DisconnectSession) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.Handle = buf.DecodeUint64()
	return nil
}

// DisconnectSessionReply defines message 'disconnect_session_reply'.
type DisconnectSessionReply struct {
	Retval int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
	Handle uint64 `binapi:"u64,name=handle" json:"handle,omitempty"`
}

func (m *DisconnectSessionReply) Reset()               { *m = DisconnectSessionReply{} }
func (*DisconnectSessionReply) GetMessageName() string { return "disconnect_session_reply" }
func (*DisconnectSessionReply) GetCrcString() string   { return "d6960a03" }
func (*DisconnectSessionReply) GetMessageType() api.MessageType {
	return api.ReplyMessage
}

func (m *DisconnectSessionReply) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 4 // m.Retval
	size += 8 // m.Handle
	return size
}
func (m *DisconnectSessionReply) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeInt32(m.Retval)
	buf.EncodeUint64(m.Handle)
	return buf.Bytes(), nil
}
func (m *DisconnectSessionReply) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.Retval = buf.DecodeInt32()
	m.Handle = buf.DecodeUint64()
	return nil
}

// MapAnotherSegment defines message 'map_another_segment'.
type MapAnotherSegment struct {
	FdFlags       uint8  `binapi:"u8,name=fd_flags" json:"fd_flags,omitempty"`
	SegmentSize   uint32 `binapi:"u32,name=segment_size" json:"segment_size,omitempty"`
	SegmentName   []byte `binapi:"u8[128],name=segment_name" json:"segment_name,omitempty"`
	SegmentHandle uint64 `binapi:"u64,name=segment_handle" json:"segment_handle,omitempty"`
}

func (m *MapAnotherSegment) Reset()               { *m = MapAnotherSegment{} }
func (*MapAnotherSegment) GetMessageName() string { return "map_another_segment" }
func (*MapAnotherSegment) GetCrcString() string   { return "dc2d630b" }
func (*MapAnotherSegment) GetMessageType() api.MessageType {
	return api.RequestMessage
}

func (m *MapAnotherSegment) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 1       // m.FdFlags
	size += 4       // m.SegmentSize
	size += 1 * 128 // m.SegmentName
	size += 8       // m.SegmentHandle
	return size
}
func (m *MapAnotherSegment) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeUint8(m.FdFlags)
	buf.EncodeUint32(m.SegmentSize)
	buf.EncodeBytes(m.SegmentName, 128)
	buf.EncodeUint64(m.SegmentHandle)
	return buf.Bytes(), nil
}
func (m *MapAnotherSegment) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.FdFlags = buf.DecodeUint8()
	m.SegmentSize = buf.DecodeUint32()
	m.SegmentName = make([]byte, 128)
	copy(m.SegmentName, buf.DecodeBytes(len(m.SegmentName)))
	m.SegmentHandle = buf.DecodeUint64()
	return nil
}

// MapAnotherSegmentReply defines message 'map_another_segment_reply'.
type MapAnotherSegmentReply struct {
	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
}

func (m *MapAnotherSegmentReply) Reset()               { *m = MapAnotherSegmentReply{} }
func (*MapAnotherSegmentReply) GetMessageName() string { return "map_another_segment_reply" }
func (*MapAnotherSegmentReply) GetCrcString() string   { return "e8d4e804" }
func (*MapAnotherSegmentReply) GetMessageType() api.MessageType {
	return api.ReplyMessage
}

func (m *MapAnotherSegmentReply) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 4 // m.Retval
	return size
}
func (m *MapAnotherSegmentReply) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeInt32(m.Retval)
	return buf.Bytes(), nil
}
func (m *MapAnotherSegmentReply) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.Retval = buf.DecodeInt32()
	return nil
}

// SessionEnableDisable defines message 'session_enable_disable'.
type SessionEnableDisable struct {
	IsEnable uint8 `binapi:"u8,name=is_enable" json:"is_enable,omitempty"`
}

func (m *SessionEnableDisable) Reset()               { *m = SessionEnableDisable{} }
func (*SessionEnableDisable) GetMessageName() string { return "session_enable_disable" }
func (*SessionEnableDisable) GetCrcString() string   { return "30ac9be7" }
func (*SessionEnableDisable) GetMessageType() api.MessageType {
	return api.RequestMessage
}

func (m *SessionEnableDisable) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 1 // m.IsEnable
	return size
}
func (m *SessionEnableDisable) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeUint8(m.IsEnable)
	return buf.Bytes(), nil
}
func (m *SessionEnableDisable) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.IsEnable = buf.DecodeUint8()
	return nil
}

// SessionEnableDisableReply defines message 'session_enable_disable_reply'.
type SessionEnableDisableReply struct {
	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
}

func (m *SessionEnableDisableReply) Reset()               { *m = SessionEnableDisableReply{} }
func (*SessionEnableDisableReply) GetMessageName() string { return "session_enable_disable_reply" }
func (*SessionEnableDisableReply) GetCrcString() string   { return "e8d4e804" }
func (*SessionEnableDisableReply) GetMessageType() api.MessageType {
	return api.ReplyMessage
}

func (m *SessionEnableDisableReply) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 4 // m.Retval
	return size
}
func (m *SessionEnableDisableReply) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeInt32(m.Retval)
	return buf.Bytes(), nil
}
func (m *SessionEnableDisableReply) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.Retval = buf.DecodeInt32()
	return nil
}

// SessionRuleAddDel defines message 'session_rule_add_del'.
type SessionRuleAddDel struct {
	TransportProto uint8  `binapi:"u8,name=transport_proto" json:"transport_proto,omitempty"`
	IsIP4          uint8  `binapi:"u8,name=is_ip4" json:"is_ip4,omitempty"`
	LclIP          []byte `binapi:"u8[16],name=lcl_ip" json:"lcl_ip,omitempty"`
	LclPlen        uint8  `binapi:"u8,name=lcl_plen" json:"lcl_plen,omitempty"`
	RmtIP          []byte `binapi:"u8[16],name=rmt_ip" json:"rmt_ip,omitempty"`
	RmtPlen        uint8  `binapi:"u8,name=rmt_plen" json:"rmt_plen,omitempty"`
	LclPort        uint16 `binapi:"u16,name=lcl_port" json:"lcl_port,omitempty"`
	RmtPort        uint16 `binapi:"u16,name=rmt_port" json:"rmt_port,omitempty"`
	ActionIndex    uint32 `binapi:"u32,name=action_index" json:"action_index,omitempty"`
	IsAdd          uint8  `binapi:"u8,name=is_add" json:"is_add,omitempty"`
	AppnsIndex     uint32 `binapi:"u32,name=appns_index" json:"appns_index,omitempty"`
	Scope          uint8  `binapi:"u8,name=scope" json:"scope,omitempty"`
	Tag            []byte `binapi:"u8[64],name=tag" json:"tag,omitempty"`
}

func (m *SessionRuleAddDel) Reset()               { *m = SessionRuleAddDel{} }
func (*SessionRuleAddDel) GetMessageName() string { return "session_rule_add_del" }
func (*SessionRuleAddDel) GetCrcString() string   { return "4ab2eb06" }
func (*SessionRuleAddDel) GetMessageType() api.MessageType {
	return api.RequestMessage
}

func (m *SessionRuleAddDel) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 1      // m.TransportProto
	size += 1      // m.IsIP4
	size += 1 * 16 // m.LclIP
	size += 1      // m.LclPlen
	size += 1 * 16 // m.RmtIP
	size += 1      // m.RmtPlen
	size += 2      // m.LclPort
	size += 2      // m.RmtPort
	size += 4      // m.ActionIndex
	size += 1      // m.IsAdd
	size += 4      // m.AppnsIndex
	size += 1      // m.Scope
	size += 1 * 64 // m.Tag
	return size
}
func (m *SessionRuleAddDel) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeUint8(m.TransportProto)
	buf.EncodeUint8(m.IsIP4)
	buf.EncodeBytes(m.LclIP, 16)
	buf.EncodeUint8(m.LclPlen)
	buf.EncodeBytes(m.RmtIP, 16)
	buf.EncodeUint8(m.RmtPlen)
	buf.EncodeUint16(m.LclPort)
	buf.EncodeUint16(m.RmtPort)
	buf.EncodeUint32(m.ActionIndex)
	buf.EncodeUint8(m.IsAdd)
	buf.EncodeUint32(m.AppnsIndex)
	buf.EncodeUint8(m.Scope)
	buf.EncodeBytes(m.Tag, 64)
	return buf.Bytes(), nil
}
func (m *SessionRuleAddDel) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.TransportProto = buf.DecodeUint8()
	m.IsIP4 = buf.DecodeUint8()
	m.LclIP = make([]byte, 16)
	copy(m.LclIP, buf.DecodeBytes(len(m.LclIP)))
	m.LclPlen = buf.DecodeUint8()
	m.RmtIP = make([]byte, 16)
	copy(m.RmtIP, buf.DecodeBytes(len(m.RmtIP)))
	m.RmtPlen = buf.DecodeUint8()
	m.LclPort = buf.DecodeUint16()
	m.RmtPort = buf.DecodeUint16()
	m.ActionIndex = buf.DecodeUint32()
	m.IsAdd = buf.DecodeUint8()
	m.AppnsIndex = buf.DecodeUint32()
	m.Scope = buf.DecodeUint8()
	m.Tag = make([]byte, 64)
	copy(m.Tag, buf.DecodeBytes(len(m.Tag)))
	return nil
}

// SessionRuleAddDelReply defines message 'session_rule_add_del_reply'.
type SessionRuleAddDelReply struct {
	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
}

func (m *SessionRuleAddDelReply) Reset()               { *m = SessionRuleAddDelReply{} }
func (*SessionRuleAddDelReply) GetMessageName() string { return "session_rule_add_del_reply" }
func (*SessionRuleAddDelReply) GetCrcString() string   { return "e8d4e804" }
func (*SessionRuleAddDelReply) GetMessageType() api.MessageType {
	return api.ReplyMessage
}

func (m *SessionRuleAddDelReply) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 4 // m.Retval
	return size
}
func (m *SessionRuleAddDelReply) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeInt32(m.Retval)
	return buf.Bytes(), nil
}
func (m *SessionRuleAddDelReply) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.Retval = buf.DecodeInt32()
	return nil
}

// SessionRulesDetails defines message 'session_rules_details'.
type SessionRulesDetails struct {
	TransportProto uint8  `binapi:"u8,name=transport_proto" json:"transport_proto,omitempty"`
	IsIP4          uint8  `binapi:"u8,name=is_ip4" json:"is_ip4,omitempty"`
	LclIP          []byte `binapi:"u8[16],name=lcl_ip" json:"lcl_ip,omitempty"`
	LclPlen        uint8  `binapi:"u8,name=lcl_plen" json:"lcl_plen,omitempty"`
	RmtIP          []byte `binapi:"u8[16],name=rmt_ip" json:"rmt_ip,omitempty"`
	RmtPlen        uint8  `binapi:"u8,name=rmt_plen" json:"rmt_plen,omitempty"`
	LclPort        uint16 `binapi:"u16,name=lcl_port" json:"lcl_port,omitempty"`
	RmtPort        uint16 `binapi:"u16,name=rmt_port" json:"rmt_port,omitempty"`
	ActionIndex    uint32 `binapi:"u32,name=action_index" json:"action_index,omitempty"`
	AppnsIndex     uint32 `binapi:"u32,name=appns_index" json:"appns_index,omitempty"`
	Scope          uint8  `binapi:"u8,name=scope" json:"scope,omitempty"`
	Tag            []byte `binapi:"u8[64],name=tag" json:"tag,omitempty"`
}

func (m *SessionRulesDetails) Reset()               { *m = SessionRulesDetails{} }
func (*SessionRulesDetails) GetMessageName() string { return "session_rules_details" }
func (*SessionRulesDetails) GetCrcString() string   { return "a52b0e96" }
func (*SessionRulesDetails) GetMessageType() api.MessageType {
	return api.ReplyMessage
}

func (m *SessionRulesDetails) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 1      // m.TransportProto
	size += 1      // m.IsIP4
	size += 1 * 16 // m.LclIP
	size += 1      // m.LclPlen
	size += 1 * 16 // m.RmtIP
	size += 1      // m.RmtPlen
	size += 2      // m.LclPort
	size += 2      // m.RmtPort
	size += 4      // m.ActionIndex
	size += 4      // m.AppnsIndex
	size += 1      // m.Scope
	size += 1 * 64 // m.Tag
	return size
}
func (m *SessionRulesDetails) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeUint8(m.TransportProto)
	buf.EncodeUint8(m.IsIP4)
	buf.EncodeBytes(m.LclIP, 16)
	buf.EncodeUint8(m.LclPlen)
	buf.EncodeBytes(m.RmtIP, 16)
	buf.EncodeUint8(m.RmtPlen)
	buf.EncodeUint16(m.LclPort)
	buf.EncodeUint16(m.RmtPort)
	buf.EncodeUint32(m.ActionIndex)
	buf.EncodeUint32(m.AppnsIndex)
	buf.EncodeUint8(m.Scope)
	buf.EncodeBytes(m.Tag, 64)
	return buf.Bytes(), nil
}
func (m *SessionRulesDetails) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.TransportProto = buf.DecodeUint8()
	m.IsIP4 = buf.DecodeUint8()
	m.LclIP = make([]byte, 16)
	copy(m.LclIP, buf.DecodeBytes(len(m.LclIP)))
	m.LclPlen = buf.DecodeUint8()
	m.RmtIP = make([]byte, 16)
	copy(m.RmtIP, buf.DecodeBytes(len(m.RmtIP)))
	m.RmtPlen = buf.DecodeUint8()
	m.LclPort = buf.DecodeUint16()
	m.RmtPort = buf.DecodeUint16()
	m.ActionIndex = buf.DecodeUint32()
	m.AppnsIndex = buf.DecodeUint32()
	m.Scope = buf.DecodeUint8()
	m.Tag = make([]byte, 64)
	copy(m.Tag, buf.DecodeBytes(len(m.Tag)))
	return nil
}

// SessionRulesDump defines message 'session_rules_dump'.
type SessionRulesDump struct{}

func (m *SessionRulesDump) Reset()               { *m = SessionRulesDump{} }
func (*SessionRulesDump) GetMessageName() string { return "session_rules_dump" }
func (*SessionRulesDump) GetCrcString() string   { return "51077d14" }
func (*SessionRulesDump) GetMessageType() api.MessageType {
	return api.RequestMessage
}

func (m *SessionRulesDump) Size() (size int) {
	if m == nil {
		return 0
	}
	return size
}
func (m *SessionRulesDump) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	return buf.Bytes(), nil
}
func (m *SessionRulesDump) Unmarshal(b []byte) error {
	return nil
}

// UnbindSock defines message 'unbind_sock'.
type UnbindSock struct {
	WrkIndex uint32 `binapi:"u32,name=wrk_index" json:"wrk_index,omitempty"`
	Handle   uint64 `binapi:"u64,name=handle" json:"handle,omitempty"`
}

func (m *UnbindSock) Reset()               { *m = UnbindSock{} }
func (*UnbindSock) GetMessageName() string { return "unbind_sock" }
func (*UnbindSock) GetCrcString() string   { return "08880908" }
func (*UnbindSock) GetMessageType() api.MessageType {
	return api.RequestMessage
}

func (m *UnbindSock) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 4 // m.WrkIndex
	size += 8 // m.Handle
	return size
}
func (m *UnbindSock) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeUint32(m.WrkIndex)
	buf.EncodeUint64(m.Handle)
	return buf.Bytes(), nil
}
func (m *UnbindSock) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.WrkIndex = buf.DecodeUint32()
	m.Handle = buf.DecodeUint64()
	return nil
}

// UnbindSockReply defines message 'unbind_sock_reply'.
type UnbindSockReply struct {
	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
}

func (m *UnbindSockReply) Reset()               { *m = UnbindSockReply{} }
func (*UnbindSockReply) GetMessageName() string { return "unbind_sock_reply" }
func (*UnbindSockReply) GetCrcString() string   { return "e8d4e804" }
func (*UnbindSockReply) GetMessageType() api.MessageType {
	return api.ReplyMessage
}

func (m *UnbindSockReply) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 4 // m.Retval
	return size
}
func (m *UnbindSockReply) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeInt32(m.Retval)
	return buf.Bytes(), nil
}
func (m *UnbindSockReply) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.Retval = buf.DecodeInt32()
	return nil
}

// UnbindURI defines message 'unbind_uri'.
type UnbindURI struct {
	URI []byte `binapi:"u8[128],name=uri" json:"uri,omitempty"`
}

func (m *UnbindURI) Reset()               { *m = UnbindURI{} }
func (*UnbindURI) GetMessageName() string { return "unbind_uri" }
func (*UnbindURI) GetCrcString() string   { return "294cf07d" }
func (*UnbindURI) GetMessageType() api.MessageType {
	return api.RequestMessage
}

func (m *UnbindURI) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 1 * 128 // m.URI
	return size
}
func (m *UnbindURI) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeBytes(m.URI, 128)
	return buf.Bytes(), nil
}
func (m *UnbindURI) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.URI = make([]byte, 128)
	copy(m.URI, buf.DecodeBytes(len(m.URI)))
	return nil
}

// UnbindURIReply defines message 'unbind_uri_reply'.
type UnbindURIReply struct {
	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
}

func (m *UnbindURIReply) Reset()               { *m = UnbindURIReply{} }
func (*UnbindURIReply) GetMessageName() string { return "unbind_uri_reply" }
func (*UnbindURIReply) GetCrcString() string   { return "e8d4e804" }
func (*UnbindURIReply) GetMessageType() api.MessageType {
	return api.ReplyMessage
}

func (m *UnbindURIReply) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 4 // m.Retval
	return size
}
func (m *UnbindURIReply) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeInt32(m.Retval)
	return buf.Bytes(), nil
}
func (m *UnbindURIReply) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.Retval = buf.DecodeInt32()
	return nil
}

// UnmapSegment defines message 'unmap_segment'.
type UnmapSegment struct {
	SegmentHandle uint64 `binapi:"u64,name=segment_handle" json:"segment_handle,omitempty"`
}

func (m *UnmapSegment) Reset()               { *m = UnmapSegment{} }
func (*UnmapSegment) GetMessageName() string { return "unmap_segment" }
func (*UnmapSegment) GetCrcString() string   { return "f77096f6" }
func (*UnmapSegment) GetMessageType() api.MessageType {
	return api.RequestMessage
}

func (m *UnmapSegment) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 8 // m.SegmentHandle
	return size
}
func (m *UnmapSegment) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeUint64(m.SegmentHandle)
	return buf.Bytes(), nil
}
func (m *UnmapSegment) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.SegmentHandle = buf.DecodeUint64()
	return nil
}

// UnmapSegmentReply defines message 'unmap_segment_reply'.
type UnmapSegmentReply struct {
	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
}

func (m *UnmapSegmentReply) Reset()               { *m = UnmapSegmentReply{} }
func (*UnmapSegmentReply) GetMessageName() string { return "unmap_segment_reply" }
func (*UnmapSegmentReply) GetCrcString() string   { return "e8d4e804" }
func (*UnmapSegmentReply) GetMessageType() api.MessageType {
	return api.ReplyMessage
}

func (m *UnmapSegmentReply) Size() (size int) {
	if m == nil {
		return 0
	}
	size += 4 // m.Retval
	return size
}
func (m *UnmapSegmentReply) Marshal(b []byte) ([]byte, error) {
	if b == nil {
		b = make([]byte, m.Size())
	}
	buf := codec.NewBuffer(b)
	buf.EncodeInt32(m.Retval)
	return buf.Bytes(), nil
}
func (m *UnmapSegmentReply) Unmarshal(b []byte) error {
	buf := codec.NewBuffer(b)
	m.Retval = buf.DecodeInt32()
	return nil
}

func init() { file_session_binapi_init() }
func file_session_binapi_init() {
	api.RegisterMessage((*AppAddCertKeyPair)(nil), "app_add_cert_key_pair_02eb8016")
	api.RegisterMessage((*AppAddCertKeyPairReply)(nil), "app_add_cert_key_pair_reply_b42958d0")
	api.RegisterMessage((*AppAttach)(nil), "app_attach_ed08f4bd")
	api.RegisterMessage((*AppAttachReply)(nil), "app_attach_reply_0112f647")
	api.RegisterMessage((*AppCutThroughRegistrationAdd)(nil), "app_cut_through_registration_add_6d73b1b9")
	api.RegisterMessage((*AppCutThroughRegistrationAddReply)(nil), "app_cut_through_registration_add_reply_e8d4e804")
	api.RegisterMessage((*AppDelCertKeyPair)(nil), "app_del_cert_key_pair_8ac76db6")
	api.RegisterMessage((*AppDelCertKeyPairReply)(nil), "app_del_cert_key_pair_reply_e8d4e804")
	api.RegisterMessage((*AppNamespaceAddDel)(nil), "app_namespace_add_del_dd074c65")
	api.RegisterMessage((*AppNamespaceAddDelReply)(nil), "app_namespace_add_del_reply_85137120")
	api.RegisterMessage((*AppWorkerAddDel)(nil), "app_worker_add_del_6d2b2279")
	api.RegisterMessage((*AppWorkerAddDelReply)(nil), "app_worker_add_del_reply_56b21abc")
	api.RegisterMessage((*ApplicationAttach)(nil), "application_attach_81d4f974")
	api.RegisterMessage((*ApplicationAttachReply)(nil), "application_attach_reply_581866e8")
	api.RegisterMessage((*ApplicationDetach)(nil), "application_detach_51077d14")
	api.RegisterMessage((*ApplicationDetachReply)(nil), "application_detach_reply_e8d4e804")
	api.RegisterMessage((*ApplicationTLSCertAdd)(nil), "application_tls_cert_add_3f5cfe45")
	api.RegisterMessage((*ApplicationTLSCertAddReply)(nil), "application_tls_cert_add_reply_e8d4e804")
	api.RegisterMessage((*ApplicationTLSKeyAdd)(nil), "application_tls_key_add_5eaf70cd")
	api.RegisterMessage((*ApplicationTLSKeyAddReply)(nil), "application_tls_key_add_reply_e8d4e804")
	api.RegisterMessage((*BindSock)(nil), "bind_sock_0394633f")
	api.RegisterMessage((*BindSockReply)(nil), "bind_sock_reply_e8d4e804")
	api.RegisterMessage((*BindURI)(nil), "bind_uri_fae140cb")
	api.RegisterMessage((*BindURIReply)(nil), "bind_uri_reply_e8d4e804")
	api.RegisterMessage((*ConnectSock)(nil), "connect_sock_d2b460ca")
	api.RegisterMessage((*ConnectSockReply)(nil), "connect_sock_reply_e8d4e804")
	api.RegisterMessage((*ConnectURI)(nil), "connect_uri_a36143d6")
	api.RegisterMessage((*ConnectURIReply)(nil), "connect_uri_reply_e8d4e804")
	api.RegisterMessage((*DisconnectSession)(nil), "disconnect_session_7279205b")
	api.RegisterMessage((*DisconnectSessionReply)(nil), "disconnect_session_reply_d6960a03")
	api.RegisterMessage((*MapAnotherSegment)(nil), "map_another_segment_dc2d630b")
	api.RegisterMessage((*MapAnotherSegmentReply)(nil), "map_another_segment_reply_e8d4e804")
	api.RegisterMessage((*SessionEnableDisable)(nil), "session_enable_disable_30ac9be7")
	api.RegisterMessage((*SessionEnableDisableReply)(nil), "session_enable_disable_reply_e8d4e804")
	api.RegisterMessage((*SessionRuleAddDel)(nil), "session_rule_add_del_4ab2eb06")
	api.RegisterMessage((*SessionRuleAddDelReply)(nil), "session_rule_add_del_reply_e8d4e804")
	api.RegisterMessage((*SessionRulesDetails)(nil), "session_rules_details_a52b0e96")
	api.RegisterMessage((*SessionRulesDump)(nil), "session_rules_dump_51077d14")
	api.RegisterMessage((*UnbindSock)(nil), "unbind_sock_08880908")
	api.RegisterMessage((*UnbindSockReply)(nil), "unbind_sock_reply_e8d4e804")
	api.RegisterMessage((*UnbindURI)(nil), "unbind_uri_294cf07d")
	api.RegisterMessage((*UnbindURIReply)(nil), "unbind_uri_reply_e8d4e804")
	api.RegisterMessage((*UnmapSegment)(nil), "unmap_segment_f77096f6")
	api.RegisterMessage((*UnmapSegmentReply)(nil), "unmap_segment_reply_e8d4e804")
}

// Messages returns list of all messages in this module.
func AllMessages() []api.Message {
	return []api.Message{
		(*AppAddCertKeyPair)(nil),
		(*AppAddCertKeyPairReply)(nil),
		(*AppAttach)(nil),
		(*AppAttachReply)(nil),
		(*AppCutThroughRegistrationAdd)(nil),
		(*AppCutThroughRegistrationAddReply)(nil),
		(*AppDelCertKeyPair)(nil),
		(*AppDelCertKeyPairReply)(nil),
		(*AppNamespaceAddDel)(nil),
		(*AppNamespaceAddDelReply)(nil),
		(*AppWorkerAddDel)(nil),
		(*AppWorkerAddDelReply)(nil),
		(*ApplicationAttach)(nil),
		(*ApplicationAttachReply)(nil),
		(*ApplicationDetach)(nil),
		(*ApplicationDetachReply)(nil),
		(*ApplicationTLSCertAdd)(nil),
		(*ApplicationTLSCertAddReply)(nil),
		(*ApplicationTLSKeyAdd)(nil),
		(*ApplicationTLSKeyAddReply)(nil),
		(*BindSock)(nil),
		(*BindSockReply)(nil),
		(*BindURI)(nil),
		(*BindURIReply)(nil),
		(*ConnectSock)(nil),
		(*ConnectSockReply)(nil),
		(*ConnectURI)(nil),
		(*ConnectURIReply)(nil),
		(*DisconnectSession)(nil),
		(*DisconnectSessionReply)(nil),
		(*MapAnotherSegment)(nil),
		(*MapAnotherSegmentReply)(nil),
		(*SessionEnableDisable)(nil),
		(*SessionEnableDisableReply)(nil),
		(*SessionRuleAddDel)(nil),
		(*SessionRuleAddDelReply)(nil),
		(*SessionRulesDetails)(nil),
		(*SessionRulesDump)(nil),
		(*UnbindSock)(nil),
		(*UnbindSockReply)(nil),
		(*UnbindURI)(nil),
		(*UnbindURIReply)(nil),
		(*UnmapSegment)(nil),
		(*UnmapSegmentReply)(nil),
	}
}