aboutsummaryrefslogtreecommitdiffstats
path: root/binapi/l3xc/l3xc.ba.go
diff options
context:
space:
mode:
Diffstat (limited to 'binapi/l3xc/l3xc.ba.go')
-rw-r--r--binapi/l3xc/l3xc.ba.go537
1 files changed, 537 insertions, 0 deletions
diff --git a/binapi/l3xc/l3xc.ba.go b/binapi/l3xc/l3xc.ba.go
new file mode 100644
index 0000000..ee9ecb0
--- /dev/null
+++ b/binapi/l3xc/l3xc.ba.go
@@ -0,0 +1,537 @@
+// Code generated by GoVPP's binapi-generator. DO NOT EDIT.
+// versions:
+// binapi-generator: v0.4.0-dev
+// VPP: 20.05-release
+// source: /usr/share/vpp/api/plugins/l3xc.api.json
+
+// Package l3xc contains generated bindings for API file l3xc.api.
+//
+// Contents:
+// 1 struct
+// 8 messages
+//
+package l3xc
+
+import (
+ api "git.fd.io/govpp.git/api"
+ fib_types "git.fd.io/govpp.git/binapi/fib_types"
+ interface_types "git.fd.io/govpp.git/binapi/interface_types"
+ _ "git.fd.io/govpp.git/binapi/ip_types"
+ 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 = "l3xc"
+ APIVersion = "1.0.1"
+ VersionCrc = 0xaf18effb
+)
+
+// L3xc defines type 'l3xc'.
+type L3xc struct {
+ SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
+ IsIP6 bool `binapi:"bool,name=is_ip6" json:"is_ip6,omitempty"`
+ NPaths uint8 `binapi:"u8,name=n_paths" json:"-"`
+ Paths []fib_types.FibPath `binapi:"fib_path[n_paths],name=paths" json:"paths,omitempty"`
+}
+
+// L3xcDel defines message 'l3xc_del'.
+type L3xcDel struct {
+ SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
+ IsIP6 bool `binapi:"bool,name=is_ip6" json:"is_ip6,omitempty"`
+}
+
+func (m *L3xcDel) Reset() { *m = L3xcDel{} }
+func (*L3xcDel) GetMessageName() string { return "l3xc_del" }
+func (*L3xcDel) GetCrcString() string { return "e7dbef91" }
+func (*L3xcDel) GetMessageType() api.MessageType {
+ return api.RequestMessage
+}
+
+func (m *L3xcDel) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ size += 4 // m.SwIfIndex
+ size += 1 // m.IsIP6
+ return size
+}
+func (m *L3xcDel) Marshal(b []byte) ([]byte, error) {
+ var buf *codec.Buffer
+ if b == nil {
+ buf = codec.NewBuffer(make([]byte, m.Size()))
+ } else {
+ buf = codec.NewBuffer(b)
+ }
+ buf.EncodeUint32(uint32(m.SwIfIndex))
+ buf.EncodeBool(m.IsIP6)
+ return buf.Bytes(), nil
+}
+func (m *L3xcDel) Unmarshal(b []byte) error {
+ buf := codec.NewBuffer(b)
+ m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
+ m.IsIP6 = buf.DecodeBool()
+ return nil
+}
+
+// L3xcDelReply defines message 'l3xc_del_reply'.
+type L3xcDelReply struct {
+ Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
+}
+
+func (m *L3xcDelReply) Reset() { *m = L3xcDelReply{} }
+func (*L3xcDelReply) GetMessageName() string { return "l3xc_del_reply" }
+func (*L3xcDelReply) GetCrcString() string { return "e8d4e804" }
+func (*L3xcDelReply) GetMessageType() api.MessageType {
+ return api.ReplyMessage
+}
+
+func (m *L3xcDelReply) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ size += 4 // m.Retval
+ return size
+}
+func (m *L3xcDelReply) Marshal(b []byte) ([]byte, error) {
+ var buf *codec.Buffer
+ if b == nil {
+ buf = codec.NewBuffer(make([]byte, m.Size()))
+ } else {
+ buf = codec.NewBuffer(b)
+ }
+ buf.EncodeUint32(uint32(m.Retval))
+ return buf.Bytes(), nil
+}
+func (m *L3xcDelReply) Unmarshal(b []byte) error {
+ buf := codec.NewBuffer(b)
+ m.Retval = int32(buf.DecodeUint32())
+ return nil
+}
+
+// L3xcDetails defines message 'l3xc_details'.
+type L3xcDetails struct {
+ L3xc L3xc `binapi:"l3xc,name=l3xc" json:"l3xc,omitempty"`
+}
+
+func (m *L3xcDetails) Reset() { *m = L3xcDetails{} }
+func (*L3xcDetails) GetMessageName() string { return "l3xc_details" }
+func (*L3xcDetails) GetCrcString() string { return "d4f69627" }
+func (*L3xcDetails) GetMessageType() api.MessageType {
+ return api.ReplyMessage
+}
+
+func (m *L3xcDetails) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ size += 4 // m.L3xc.SwIfIndex
+ size += 1 // m.L3xc.IsIP6
+ size += 1 // m.L3xc.NPaths
+ for j2 := 0; j2 < len(m.L3xc.Paths); j2++ {
+ var s2 fib_types.FibPath
+ _ = s2
+ if j2 < len(m.L3xc.Paths) {
+ s2 = m.L3xc.Paths[j2]
+ }
+ size += 4 // s2.SwIfIndex
+ size += 4 // s2.TableID
+ size += 4 // s2.RpfID
+ size += 1 // s2.Weight
+ size += 1 // s2.Preference
+ size += 4 // s2.Type
+ size += 4 // s2.Flags
+ size += 4 // s2.Proto
+ size += 1 * 16 // s2.Nh.Address
+ size += 4 // s2.Nh.ViaLabel
+ size += 4 // s2.Nh.ObjID
+ size += 4 // s2.Nh.ClassifyTableIndex
+ size += 1 // s2.NLabels
+ for j3 := 0; j3 < 16; j3++ {
+ var s3 fib_types.FibMplsLabel
+ _ = s3
+ if j3 < len(s2.LabelStack) {
+ s3 = s2.LabelStack[j3]
+ }
+ size += 1 // s3.IsUniform
+ size += 4 // s3.Label
+ size += 1 // s3.TTL
+ size += 1 // s3.Exp
+ }
+ }
+ return size
+}
+func (m *L3xcDetails) Marshal(b []byte) ([]byte, error) {
+ var buf *codec.Buffer
+ if b == nil {
+ buf = codec.NewBuffer(make([]byte, m.Size()))
+ } else {
+ buf = codec.NewBuffer(b)
+ }
+ buf.EncodeUint32(uint32(m.L3xc.SwIfIndex))
+ buf.EncodeBool(m.L3xc.IsIP6)
+ buf.EncodeUint8(uint8(len(m.L3xc.Paths)))
+ for j1 := 0; j1 < len(m.L3xc.Paths); j1++ {
+ var v1 fib_types.FibPath
+ if j1 < len(m.L3xc.Paths) {
+ v1 = m.L3xc.Paths[j1]
+ }
+ buf.EncodeUint32(uint32(v1.SwIfIndex))
+ buf.EncodeUint32(uint32(v1.TableID))
+ buf.EncodeUint32(uint32(v1.RpfID))
+ buf.EncodeUint8(uint8(v1.Weight))
+ buf.EncodeUint8(uint8(v1.Preference))
+ buf.EncodeUint32(uint32(v1.Type))
+ buf.EncodeUint32(uint32(v1.Flags))
+ buf.EncodeUint32(uint32(v1.Proto))
+ buf.EncodeBytes(v1.Nh.Address.XXX_UnionData[:], 0)
+ buf.EncodeUint32(uint32(v1.Nh.ViaLabel))
+ buf.EncodeUint32(uint32(v1.Nh.ObjID))
+ buf.EncodeUint32(uint32(v1.Nh.ClassifyTableIndex))
+ buf.EncodeUint8(uint8(v1.NLabels))
+ for j2 := 0; j2 < 16; j2++ {
+ var v2 fib_types.FibMplsLabel
+ if j2 < len(v1.LabelStack) {
+ v2 = v1.LabelStack[j2]
+ }
+ buf.EncodeUint8(uint8(v2.IsUniform))
+ buf.EncodeUint32(uint32(v2.Label))
+ buf.EncodeUint8(uint8(v2.TTL))
+ buf.EncodeUint8(uint8(v2.Exp))
+ }
+ }
+ return buf.Bytes(), nil
+}
+func (m *L3xcDetails) Unmarshal(b []byte) error {
+ buf := codec.NewBuffer(b)
+ m.L3xc.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
+ m.L3xc.IsIP6 = buf.DecodeBool()
+ m.L3xc.NPaths = buf.DecodeUint8()
+ m.L3xc.Paths = make([]fib_types.FibPath, int(m.L3xc.NPaths))
+ for j1 := 0; j1 < len(m.L3xc.Paths); j1++ {
+ m.L3xc.Paths[j1].SwIfIndex = buf.DecodeUint32()
+ m.L3xc.Paths[j1].TableID = buf.DecodeUint32()
+ m.L3xc.Paths[j1].RpfID = buf.DecodeUint32()
+ m.L3xc.Paths[j1].Weight = buf.DecodeUint8()
+ m.L3xc.Paths[j1].Preference = buf.DecodeUint8()
+ m.L3xc.Paths[j1].Type = fib_types.FibPathType(buf.DecodeUint32())
+ m.L3xc.Paths[j1].Flags = fib_types.FibPathFlags(buf.DecodeUint32())
+ m.L3xc.Paths[j1].Proto = fib_types.FibPathNhProto(buf.DecodeUint32())
+ copy(m.L3xc.Paths[j1].Nh.Address.XXX_UnionData[:], buf.DecodeBytes(16))
+ m.L3xc.Paths[j1].Nh.ViaLabel = buf.DecodeUint32()
+ m.L3xc.Paths[j1].Nh.ObjID = buf.DecodeUint32()
+ m.L3xc.Paths[j1].Nh.ClassifyTableIndex = buf.DecodeUint32()
+ m.L3xc.Paths[j1].NLabels = buf.DecodeUint8()
+ for j2 := 0; j2 < 16; j2++ {
+ m.L3xc.Paths[j1].LabelStack[j2].IsUniform = buf.DecodeUint8()
+ m.L3xc.Paths[j1].LabelStack[j2].Label = buf.DecodeUint32()
+ m.L3xc.Paths[j1].LabelStack[j2].TTL = buf.DecodeUint8()
+ m.L3xc.Paths[j1].LabelStack[j2].Exp = buf.DecodeUint8()
+ }
+ }
+ return nil
+}
+
+// L3xcDump defines message 'l3xc_dump'.
+type L3xcDump struct {
+ SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
+}
+
+func (m *L3xcDump) Reset() { *m = L3xcDump{} }
+func (*L3xcDump) GetMessageName() string { return "l3xc_dump" }
+func (*L3xcDump) GetCrcString() string { return "f9e6675e" }
+func (*L3xcDump) GetMessageType() api.MessageType {
+ return api.RequestMessage
+}
+
+func (m *L3xcDump) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ size += 4 // m.SwIfIndex
+ return size
+}
+func (m *L3xcDump) Marshal(b []byte) ([]byte, error) {
+ var buf *codec.Buffer
+ if b == nil {
+ buf = codec.NewBuffer(make([]byte, m.Size()))
+ } else {
+ buf = codec.NewBuffer(b)
+ }
+ buf.EncodeUint32(uint32(m.SwIfIndex))
+ return buf.Bytes(), nil
+}
+func (m *L3xcDump) Unmarshal(b []byte) error {
+ buf := codec.NewBuffer(b)
+ m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
+ return nil
+}
+
+// L3xcPluginGetVersion defines message 'l3xc_plugin_get_version'.
+type L3xcPluginGetVersion struct{}
+
+func (m *L3xcPluginGetVersion) Reset() { *m = L3xcPluginGetVersion{} }
+func (*L3xcPluginGetVersion) GetMessageName() string { return "l3xc_plugin_get_version" }
+func (*L3xcPluginGetVersion) GetCrcString() string { return "51077d14" }
+func (*L3xcPluginGetVersion) GetMessageType() api.MessageType {
+ return api.RequestMessage
+}
+
+func (m *L3xcPluginGetVersion) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ return size
+}
+func (m *L3xcPluginGetVersion) Marshal(b []byte) ([]byte, error) {
+ var buf *codec.Buffer
+ if b == nil {
+ buf = codec.NewBuffer(make([]byte, m.Size()))
+ } else {
+ buf = codec.NewBuffer(b)
+ }
+ return buf.Bytes(), nil
+}
+func (m *L3xcPluginGetVersion) Unmarshal(b []byte) error {
+ return nil
+}
+
+// L3xcPluginGetVersionReply defines message 'l3xc_plugin_get_version_reply'.
+type L3xcPluginGetVersionReply struct {
+ Major uint32 `binapi:"u32,name=major" json:"major,omitempty"`
+ Minor uint32 `binapi:"u32,name=minor" json:"minor,omitempty"`
+}
+
+func (m *L3xcPluginGetVersionReply) Reset() { *m = L3xcPluginGetVersionReply{} }
+func (*L3xcPluginGetVersionReply) GetMessageName() string { return "l3xc_plugin_get_version_reply" }
+func (*L3xcPluginGetVersionReply) GetCrcString() string { return "9b32cf86" }
+func (*L3xcPluginGetVersionReply) GetMessageType() api.MessageType {
+ return api.ReplyMessage
+}
+
+func (m *L3xcPluginGetVersionReply) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ size += 4 // m.Major
+ size += 4 // m.Minor
+ return size
+}
+func (m *L3xcPluginGetVersionReply) Marshal(b []byte) ([]byte, error) {
+ var buf *codec.Buffer
+ if b == nil {
+ buf = codec.NewBuffer(make([]byte, m.Size()))
+ } else {
+ buf = codec.NewBuffer(b)
+ }
+ buf.EncodeUint32(uint32(m.Major))
+ buf.EncodeUint32(uint32(m.Minor))
+ return buf.Bytes(), nil
+}
+func (m *L3xcPluginGetVersionReply) Unmarshal(b []byte) error {
+ buf := codec.NewBuffer(b)
+ m.Major = buf.DecodeUint32()
+ m.Minor = buf.DecodeUint32()
+ return nil
+}
+
+// L3xcUpdate defines message 'l3xc_update'.
+type L3xcUpdate struct {
+ L3xc L3xc `binapi:"l3xc,name=l3xc" json:"l3xc,omitempty"`
+}
+
+func (m *L3xcUpdate) Reset() { *m = L3xcUpdate{} }
+func (*L3xcUpdate) GetMessageName() string { return "l3xc_update" }
+func (*L3xcUpdate) GetCrcString() string { return "0787b1d3" }
+func (*L3xcUpdate) GetMessageType() api.MessageType {
+ return api.RequestMessage
+}
+
+func (m *L3xcUpdate) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ size += 4 // m.L3xc.SwIfIndex
+ size += 1 // m.L3xc.IsIP6
+ size += 1 // m.L3xc.NPaths
+ for j2 := 0; j2 < len(m.L3xc.Paths); j2++ {
+ var s2 fib_types.FibPath
+ _ = s2
+ if j2 < len(m.L3xc.Paths) {
+ s2 = m.L3xc.Paths[j2]
+ }
+ size += 4 // s2.SwIfIndex
+ size += 4 // s2.TableID
+ size += 4 // s2.RpfID
+ size += 1 // s2.Weight
+ size += 1 // s2.Preference
+ size += 4 // s2.Type
+ size += 4 // s2.Flags
+ size += 4 // s2.Proto
+ size += 1 * 16 // s2.Nh.Address
+ size += 4 // s2.Nh.ViaLabel
+ size += 4 // s2.Nh.ObjID
+ size += 4 // s2.Nh.ClassifyTableIndex
+ size += 1 // s2.NLabels
+ for j3 := 0; j3 < 16; j3++ {
+ var s3 fib_types.FibMplsLabel
+ _ = s3
+ if j3 < len(s2.LabelStack) {
+ s3 = s2.LabelStack[j3]
+ }
+ size += 1 // s3.IsUniform
+ size += 4 // s3.Label
+ size += 1 // s3.TTL
+ size += 1 // s3.Exp
+ }
+ }
+ return size
+}
+func (m *L3xcUpdate) Marshal(b []byte) ([]byte, error) {
+ var buf *codec.Buffer
+ if b == nil {
+ buf = codec.NewBuffer(make([]byte, m.Size()))
+ } else {
+ buf = codec.NewBuffer(b)
+ }
+ buf.EncodeUint32(uint32(m.L3xc.SwIfIndex))
+ buf.EncodeBool(m.L3xc.IsIP6)
+ buf.EncodeUint8(uint8(len(m.L3xc.Paths)))
+ for j1 := 0; j1 < len(m.L3xc.Paths); j1++ {
+ var v1 fib_types.FibPath
+ if j1 < len(m.L3xc.Paths) {
+ v1 = m.L3xc.Paths[j1]
+ }
+ buf.EncodeUint32(uint32(v1.SwIfIndex))
+ buf.EncodeUint32(uint32(v1.TableID))
+ buf.EncodeUint32(uint32(v1.RpfID))
+ buf.EncodeUint8(uint8(v1.Weight))
+ buf.EncodeUint8(uint8(v1.Preference))
+ buf.EncodeUint32(uint32(v1.Type))
+ buf.EncodeUint32(uint32(v1.Flags))
+ buf.EncodeUint32(uint32(v1.Proto))
+ buf.EncodeBytes(v1.Nh.Address.XXX_UnionData[:], 0)
+ buf.EncodeUint32(uint32(v1.Nh.ViaLabel))
+ buf.EncodeUint32(uint32(v1.Nh.ObjID))
+ buf.EncodeUint32(uint32(v1.Nh.ClassifyTableIndex))
+ buf.EncodeUint8(uint8(v1.NLabels))
+ for j2 := 0; j2 < 16; j2++ {
+ var v2 fib_types.FibMplsLabel
+ if j2 < len(v1.LabelStack) {
+ v2 = v1.LabelStack[j2]
+ }
+ buf.EncodeUint8(uint8(v2.IsUniform))
+ buf.EncodeUint32(uint32(v2.Label))
+ buf.EncodeUint8(uint8(v2.TTL))
+ buf.EncodeUint8(uint8(v2.Exp))
+ }
+ }
+ return buf.Bytes(), nil
+}
+func (m *L3xcUpdate) Unmarshal(b []byte) error {
+ buf := codec.NewBuffer(b)
+ m.L3xc.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
+ m.L3xc.IsIP6 = buf.DecodeBool()
+ m.L3xc.NPaths = buf.DecodeUint8()
+ m.L3xc.Paths = make([]fib_types.FibPath, int(m.L3xc.NPaths))
+ for j1 := 0; j1 < len(m.L3xc.Paths); j1++ {
+ m.L3xc.Paths[j1].SwIfIndex = buf.DecodeUint32()
+ m.L3xc.Paths[j1].TableID = buf.DecodeUint32()
+ m.L3xc.Paths[j1].RpfID = buf.DecodeUint32()
+ m.L3xc.Paths[j1].Weight = buf.DecodeUint8()
+ m.L3xc.Paths[j1].Preference = buf.DecodeUint8()
+ m.L3xc.Paths[j1].Type = fib_types.FibPathType(buf.DecodeUint32())
+ m.L3xc.Paths[j1].Flags = fib_types.FibPathFlags(buf.DecodeUint32())
+ m.L3xc.Paths[j1].Proto = fib_types.FibPathNhProto(buf.DecodeUint32())
+ copy(m.L3xc.Paths[j1].Nh.Address.XXX_UnionData[:], buf.DecodeBytes(16))
+ m.L3xc.Paths[j1].Nh.ViaLabel = buf.DecodeUint32()
+ m.L3xc.Paths[j1].Nh.ObjID = buf.DecodeUint32()
+ m.L3xc.Paths[j1].Nh.ClassifyTableIndex = buf.DecodeUint32()
+ m.L3xc.Paths[j1].NLabels = buf.DecodeUint8()
+ for j2 := 0; j2 < 16; j2++ {
+ m.L3xc.Paths[j1].LabelStack[j2].IsUniform = buf.DecodeUint8()
+ m.L3xc.Paths[j1].LabelStack[j2].Label = buf.DecodeUint32()
+ m.L3xc.Paths[j1].LabelStack[j2].TTL = buf.DecodeUint8()
+ m.L3xc.Paths[j1].LabelStack[j2].Exp = buf.DecodeUint8()
+ }
+ }
+ return nil
+}
+
+// L3xcUpdateReply defines message 'l3xc_update_reply'.
+type L3xcUpdateReply struct {
+ Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
+ StatsIndex uint32 `binapi:"u32,name=stats_index" json:"stats_index,omitempty"`
+}
+
+func (m *L3xcUpdateReply) Reset() { *m = L3xcUpdateReply{} }
+func (*L3xcUpdateReply) GetMessageName() string { return "l3xc_update_reply" }
+func (*L3xcUpdateReply) GetCrcString() string { return "1992deab" }
+func (*L3xcUpdateReply) GetMessageType() api.MessageType {
+ return api.ReplyMessage
+}
+
+func (m *L3xcUpdateReply) Size() int {
+ if m == nil {
+ return 0
+ }
+ var size int
+ size += 4 // m.Retval
+ size += 4 // m.StatsIndex
+ return size
+}
+func (m *L3xcUpdateReply) Marshal(b []byte) ([]byte, error) {
+ var buf *codec.Buffer
+ if b == nil {
+ buf = codec.NewBuffer(make([]byte, m.Size()))
+ } else {
+ buf = codec.NewBuffer(b)
+ }
+ buf.EncodeUint32(uint32(m.Retval))
+ buf.EncodeUint32(uint32(m.StatsIndex))
+ return buf.Bytes(), nil
+}
+func (m *L3xcUpdateReply) Unmarshal(b []byte) error {
+ buf := codec.NewBuffer(b)
+ m.Retval = int32(buf.DecodeUint32())
+ m.StatsIndex = buf.DecodeUint32()
+ return nil
+}
+
+func init() { file_l3xc_binapi_init() }
+func file_l3xc_binapi_init() {
+ api.RegisterMessage((*L3xcDel)(nil), "l3xc_del_e7dbef91")
+ api.RegisterMessage((*L3xcDelReply)(nil), "l3xc_del_reply_e8d4e804")
+ api.RegisterMessage((*L3xcDetails)(nil), "l3xc_details_d4f69627")
+ api.RegisterMessage((*L3xcDump)(nil), "l3xc_dump_f9e6675e")
+ api.RegisterMessage((*L3xcPluginGetVersion)(nil), "l3xc_plugin_get_version_51077d14")
+ api.RegisterMessage((*L3xcPluginGetVersionReply)(nil), "l3xc_plugin_get_version_reply_9b32cf86")
+ api.RegisterMessage((*L3xcUpdate)(nil), "l3xc_update_0787b1d3")
+ api.RegisterMessage((*L3xcUpdateReply)(nil), "l3xc_update_reply_1992deab")
+}
+
+// Messages returns list of all messages in this module.
+func AllMessages() []api.Message {
+ return []api.Message{
+ (*L3xcDel)(nil),
+ (*L3xcDelReply)(nil),
+ (*L3xcDetails)(nil),
+ (*L3xcDump)(nil),
+ (*L3xcPluginGetVersion)(nil),
+ (*L3xcPluginGetVersionReply)(nil),
+ (*L3xcUpdate)(nil),
+ (*L3xcUpdateReply)(nil),
+ }
+}