binapigen: fix union size
[govpp.git] / binapi / svs / svs.ba.go
1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
2 // versions:
3 //  binapi-generator: v0.4.0-dev
4 //  VPP:              20.05-release
5 // source: /usr/share/vpp/api/plugins/svs.api.json
6
7 // Package svs contains generated bindings for API file svs.api.
8 //
9 // Contents:
10 //  10 messages
11 //
12 package svs
13
14 import (
15         api "git.fd.io/govpp.git/api"
16         interface_types "git.fd.io/govpp.git/binapi/interface_types"
17         ip_types "git.fd.io/govpp.git/binapi/ip_types"
18         codec "git.fd.io/govpp.git/codec"
19 )
20
21 // This is a compile-time assertion to ensure that this generated file
22 // is compatible with the GoVPP api package it is being compiled against.
23 // A compilation error at this line likely means your copy of the
24 // GoVPP api package needs to be updated.
25 const _ = api.GoVppAPIPackageIsVersion2
26
27 const (
28         APIFile    = "svs"
29         APIVersion = "1.0.0"
30         VersionCrc = 0x1644b2d6
31 )
32
33 // SvsDetails defines message 'svs_details'.
34 type SvsDetails struct {
35         TableID   uint32                         `binapi:"u32,name=table_id" json:"table_id,omitempty"`
36         SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
37         Af        ip_types.AddressFamily         `binapi:"address_family,name=af" json:"af,omitempty"`
38 }
39
40 func (m *SvsDetails) Reset()               { *m = SvsDetails{} }
41 func (*SvsDetails) GetMessageName() string { return "svs_details" }
42 func (*SvsDetails) GetCrcString() string   { return "b8523d64" }
43 func (*SvsDetails) GetMessageType() api.MessageType {
44         return api.ReplyMessage
45 }
46
47 func (m *SvsDetails) Size() (size int) {
48         if m == nil {
49                 return 0
50         }
51         size += 4 // m.TableID
52         size += 4 // m.SwIfIndex
53         size += 1 // m.Af
54         return size
55 }
56 func (m *SvsDetails) Marshal(b []byte) ([]byte, error) {
57         if b == nil {
58                 b = make([]byte, m.Size())
59         }
60         buf := codec.NewBuffer(b)
61         buf.EncodeUint32(m.TableID)
62         buf.EncodeUint32(uint32(m.SwIfIndex))
63         buf.EncodeUint8(uint8(m.Af))
64         return buf.Bytes(), nil
65 }
66 func (m *SvsDetails) Unmarshal(b []byte) error {
67         buf := codec.NewBuffer(b)
68         m.TableID = buf.DecodeUint32()
69         m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
70         m.Af = ip_types.AddressFamily(buf.DecodeUint8())
71         return nil
72 }
73
74 // SvsDump defines message 'svs_dump'.
75 type SvsDump struct{}
76
77 func (m *SvsDump) Reset()               { *m = SvsDump{} }
78 func (*SvsDump) GetMessageName() string { return "svs_dump" }
79 func (*SvsDump) GetCrcString() string   { return "51077d14" }
80 func (*SvsDump) GetMessageType() api.MessageType {
81         return api.RequestMessage
82 }
83
84 func (m *SvsDump) Size() (size int) {
85         if m == nil {
86                 return 0
87         }
88         return size
89 }
90 func (m *SvsDump) Marshal(b []byte) ([]byte, error) {
91         if b == nil {
92                 b = make([]byte, m.Size())
93         }
94         buf := codec.NewBuffer(b)
95         return buf.Bytes(), nil
96 }
97 func (m *SvsDump) Unmarshal(b []byte) error {
98         return nil
99 }
100
101 // SvsEnableDisable defines message 'svs_enable_disable'.
102 type SvsEnableDisable struct {
103         IsEnable  bool                           `binapi:"bool,name=is_enable" json:"is_enable,omitempty"`
104         Af        ip_types.AddressFamily         `binapi:"address_family,name=af" json:"af,omitempty"`
105         TableID   uint32                         `binapi:"u32,name=table_id" json:"table_id,omitempty"`
106         SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
107 }
108
109 func (m *SvsEnableDisable) Reset()               { *m = SvsEnableDisable{} }
110 func (*SvsEnableDisable) GetMessageName() string { return "svs_enable_disable" }
111 func (*SvsEnableDisable) GetCrcString() string   { return "634b89d2" }
112 func (*SvsEnableDisable) GetMessageType() api.MessageType {
113         return api.RequestMessage
114 }
115
116 func (m *SvsEnableDisable) Size() (size int) {
117         if m == nil {
118                 return 0
119         }
120         size += 1 // m.IsEnable
121         size += 1 // m.Af
122         size += 4 // m.TableID
123         size += 4 // m.SwIfIndex
124         return size
125 }
126 func (m *SvsEnableDisable) Marshal(b []byte) ([]byte, error) {
127         if b == nil {
128                 b = make([]byte, m.Size())
129         }
130         buf := codec.NewBuffer(b)
131         buf.EncodeBool(m.IsEnable)
132         buf.EncodeUint8(uint8(m.Af))
133         buf.EncodeUint32(m.TableID)
134         buf.EncodeUint32(uint32(m.SwIfIndex))
135         return buf.Bytes(), nil
136 }
137 func (m *SvsEnableDisable) Unmarshal(b []byte) error {
138         buf := codec.NewBuffer(b)
139         m.IsEnable = buf.DecodeBool()
140         m.Af = ip_types.AddressFamily(buf.DecodeUint8())
141         m.TableID = buf.DecodeUint32()
142         m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
143         return nil
144 }
145
146 // SvsEnableDisableReply defines message 'svs_enable_disable_reply'.
147 type SvsEnableDisableReply struct {
148         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
149 }
150
151 func (m *SvsEnableDisableReply) Reset()               { *m = SvsEnableDisableReply{} }
152 func (*SvsEnableDisableReply) GetMessageName() string { return "svs_enable_disable_reply" }
153 func (*SvsEnableDisableReply) GetCrcString() string   { return "e8d4e804" }
154 func (*SvsEnableDisableReply) GetMessageType() api.MessageType {
155         return api.ReplyMessage
156 }
157
158 func (m *SvsEnableDisableReply) Size() (size int) {
159         if m == nil {
160                 return 0
161         }
162         size += 4 // m.Retval
163         return size
164 }
165 func (m *SvsEnableDisableReply) Marshal(b []byte) ([]byte, error) {
166         if b == nil {
167                 b = make([]byte, m.Size())
168         }
169         buf := codec.NewBuffer(b)
170         buf.EncodeInt32(m.Retval)
171         return buf.Bytes(), nil
172 }
173 func (m *SvsEnableDisableReply) Unmarshal(b []byte) error {
174         buf := codec.NewBuffer(b)
175         m.Retval = buf.DecodeInt32()
176         return nil
177 }
178
179 // SvsPluginGetVersion defines message 'svs_plugin_get_version'.
180 type SvsPluginGetVersion struct{}
181
182 func (m *SvsPluginGetVersion) Reset()               { *m = SvsPluginGetVersion{} }
183 func (*SvsPluginGetVersion) GetMessageName() string { return "svs_plugin_get_version" }
184 func (*SvsPluginGetVersion) GetCrcString() string   { return "51077d14" }
185 func (*SvsPluginGetVersion) GetMessageType() api.MessageType {
186         return api.RequestMessage
187 }
188
189 func (m *SvsPluginGetVersion) Size() (size int) {
190         if m == nil {
191                 return 0
192         }
193         return size
194 }
195 func (m *SvsPluginGetVersion) Marshal(b []byte) ([]byte, error) {
196         if b == nil {
197                 b = make([]byte, m.Size())
198         }
199         buf := codec.NewBuffer(b)
200         return buf.Bytes(), nil
201 }
202 func (m *SvsPluginGetVersion) Unmarshal(b []byte) error {
203         return nil
204 }
205
206 // SvsPluginGetVersionReply defines message 'svs_plugin_get_version_reply'.
207 type SvsPluginGetVersionReply struct {
208         Major uint32 `binapi:"u32,name=major" json:"major,omitempty"`
209         Minor uint32 `binapi:"u32,name=minor" json:"minor,omitempty"`
210 }
211
212 func (m *SvsPluginGetVersionReply) Reset()               { *m = SvsPluginGetVersionReply{} }
213 func (*SvsPluginGetVersionReply) GetMessageName() string { return "svs_plugin_get_version_reply" }
214 func (*SvsPluginGetVersionReply) GetCrcString() string   { return "9b32cf86" }
215 func (*SvsPluginGetVersionReply) GetMessageType() api.MessageType {
216         return api.ReplyMessage
217 }
218
219 func (m *SvsPluginGetVersionReply) Size() (size int) {
220         if m == nil {
221                 return 0
222         }
223         size += 4 // m.Major
224         size += 4 // m.Minor
225         return size
226 }
227 func (m *SvsPluginGetVersionReply) Marshal(b []byte) ([]byte, error) {
228         if b == nil {
229                 b = make([]byte, m.Size())
230         }
231         buf := codec.NewBuffer(b)
232         buf.EncodeUint32(m.Major)
233         buf.EncodeUint32(m.Minor)
234         return buf.Bytes(), nil
235 }
236 func (m *SvsPluginGetVersionReply) Unmarshal(b []byte) error {
237         buf := codec.NewBuffer(b)
238         m.Major = buf.DecodeUint32()
239         m.Minor = buf.DecodeUint32()
240         return nil
241 }
242
243 // SvsRouteAddDel defines message 'svs_route_add_del'.
244 type SvsRouteAddDel struct {
245         IsAdd         bool            `binapi:"bool,name=is_add" json:"is_add,omitempty"`
246         Prefix        ip_types.Prefix `binapi:"prefix,name=prefix" json:"prefix,omitempty"`
247         TableID       uint32          `binapi:"u32,name=table_id" json:"table_id,omitempty"`
248         SourceTableID uint32          `binapi:"u32,name=source_table_id" json:"source_table_id,omitempty"`
249 }
250
251 func (m *SvsRouteAddDel) Reset()               { *m = SvsRouteAddDel{} }
252 func (*SvsRouteAddDel) GetMessageName() string { return "svs_route_add_del" }
253 func (*SvsRouteAddDel) GetCrcString() string   { return "d39e31fc" }
254 func (*SvsRouteAddDel) GetMessageType() api.MessageType {
255         return api.RequestMessage
256 }
257
258 func (m *SvsRouteAddDel) Size() (size int) {
259         if m == nil {
260                 return 0
261         }
262         size += 1      // m.IsAdd
263         size += 1      // m.Prefix.Address.Af
264         size += 1 * 16 // m.Prefix.Address.Un
265         size += 1      // m.Prefix.Len
266         size += 4      // m.TableID
267         size += 4      // m.SourceTableID
268         return size
269 }
270 func (m *SvsRouteAddDel) Marshal(b []byte) ([]byte, error) {
271         if b == nil {
272                 b = make([]byte, m.Size())
273         }
274         buf := codec.NewBuffer(b)
275         buf.EncodeBool(m.IsAdd)
276         buf.EncodeUint8(uint8(m.Prefix.Address.Af))
277         buf.EncodeBytes(m.Prefix.Address.Un.XXX_UnionData[:], 16)
278         buf.EncodeUint8(m.Prefix.Len)
279         buf.EncodeUint32(m.TableID)
280         buf.EncodeUint32(m.SourceTableID)
281         return buf.Bytes(), nil
282 }
283 func (m *SvsRouteAddDel) Unmarshal(b []byte) error {
284         buf := codec.NewBuffer(b)
285         m.IsAdd = buf.DecodeBool()
286         m.Prefix.Address.Af = ip_types.AddressFamily(buf.DecodeUint8())
287         copy(m.Prefix.Address.Un.XXX_UnionData[:], buf.DecodeBytes(16))
288         m.Prefix.Len = buf.DecodeUint8()
289         m.TableID = buf.DecodeUint32()
290         m.SourceTableID = buf.DecodeUint32()
291         return nil
292 }
293
294 // SvsRouteAddDelReply defines message 'svs_route_add_del_reply'.
295 type SvsRouteAddDelReply struct {
296         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
297 }
298
299 func (m *SvsRouteAddDelReply) Reset()               { *m = SvsRouteAddDelReply{} }
300 func (*SvsRouteAddDelReply) GetMessageName() string { return "svs_route_add_del_reply" }
301 func (*SvsRouteAddDelReply) GetCrcString() string   { return "e8d4e804" }
302 func (*SvsRouteAddDelReply) GetMessageType() api.MessageType {
303         return api.ReplyMessage
304 }
305
306 func (m *SvsRouteAddDelReply) Size() (size int) {
307         if m == nil {
308                 return 0
309         }
310         size += 4 // m.Retval
311         return size
312 }
313 func (m *SvsRouteAddDelReply) Marshal(b []byte) ([]byte, error) {
314         if b == nil {
315                 b = make([]byte, m.Size())
316         }
317         buf := codec.NewBuffer(b)
318         buf.EncodeInt32(m.Retval)
319         return buf.Bytes(), nil
320 }
321 func (m *SvsRouteAddDelReply) Unmarshal(b []byte) error {
322         buf := codec.NewBuffer(b)
323         m.Retval = buf.DecodeInt32()
324         return nil
325 }
326
327 // SvsTableAddDel defines message 'svs_table_add_del'.
328 type SvsTableAddDel struct {
329         IsAdd   bool                   `binapi:"bool,name=is_add" json:"is_add,omitempty"`
330         Af      ip_types.AddressFamily `binapi:"address_family,name=af" json:"af,omitempty"`
331         TableID uint32                 `binapi:"u32,name=table_id" json:"table_id,omitempty"`
332 }
333
334 func (m *SvsTableAddDel) Reset()               { *m = SvsTableAddDel{} }
335 func (*SvsTableAddDel) GetMessageName() string { return "svs_table_add_del" }
336 func (*SvsTableAddDel) GetCrcString() string   { return "7d21cb2a" }
337 func (*SvsTableAddDel) GetMessageType() api.MessageType {
338         return api.RequestMessage
339 }
340
341 func (m *SvsTableAddDel) Size() (size int) {
342         if m == nil {
343                 return 0
344         }
345         size += 1 // m.IsAdd
346         size += 1 // m.Af
347         size += 4 // m.TableID
348         return size
349 }
350 func (m *SvsTableAddDel) Marshal(b []byte) ([]byte, error) {
351         if b == nil {
352                 b = make([]byte, m.Size())
353         }
354         buf := codec.NewBuffer(b)
355         buf.EncodeBool(m.IsAdd)
356         buf.EncodeUint8(uint8(m.Af))
357         buf.EncodeUint32(m.TableID)
358         return buf.Bytes(), nil
359 }
360 func (m *SvsTableAddDel) Unmarshal(b []byte) error {
361         buf := codec.NewBuffer(b)
362         m.IsAdd = buf.DecodeBool()
363         m.Af = ip_types.AddressFamily(buf.DecodeUint8())
364         m.TableID = buf.DecodeUint32()
365         return nil
366 }
367
368 // SvsTableAddDelReply defines message 'svs_table_add_del_reply'.
369 type SvsTableAddDelReply struct {
370         Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
371 }
372
373 func (m *SvsTableAddDelReply) Reset()               { *m = SvsTableAddDelReply{} }
374 func (*SvsTableAddDelReply) GetMessageName() string { return "svs_table_add_del_reply" }
375 func (*SvsTableAddDelReply) GetCrcString() string   { return "e8d4e804" }
376 func (*SvsTableAddDelReply) GetMessageType() api.MessageType {
377         return api.ReplyMessage
378 }
379
380 func (m *SvsTableAddDelReply) Size() (size int) {
381         if m == nil {
382                 return 0
383         }
384         size += 4 // m.Retval
385         return size
386 }
387 func (m *SvsTableAddDelReply) Marshal(b []byte) ([]byte, error) {
388         if b == nil {
389                 b = make([]byte, m.Size())
390         }
391         buf := codec.NewBuffer(b)
392         buf.EncodeInt32(m.Retval)
393         return buf.Bytes(), nil
394 }
395 func (m *SvsTableAddDelReply) Unmarshal(b []byte) error {
396         buf := codec.NewBuffer(b)
397         m.Retval = buf.DecodeInt32()
398         return nil
399 }
400
401 func init() { file_svs_binapi_init() }
402 func file_svs_binapi_init() {
403         api.RegisterMessage((*SvsDetails)(nil), "svs_details_b8523d64")
404         api.RegisterMessage((*SvsDump)(nil), "svs_dump_51077d14")
405         api.RegisterMessage((*SvsEnableDisable)(nil), "svs_enable_disable_634b89d2")
406         api.RegisterMessage((*SvsEnableDisableReply)(nil), "svs_enable_disable_reply_e8d4e804")
407         api.RegisterMessage((*SvsPluginGetVersion)(nil), "svs_plugin_get_version_51077d14")
408         api.RegisterMessage((*SvsPluginGetVersionReply)(nil), "svs_plugin_get_version_reply_9b32cf86")
409         api.RegisterMessage((*SvsRouteAddDel)(nil), "svs_route_add_del_d39e31fc")
410         api.RegisterMessage((*SvsRouteAddDelReply)(nil), "svs_route_add_del_reply_e8d4e804")
411         api.RegisterMessage((*SvsTableAddDel)(nil), "svs_table_add_del_7d21cb2a")
412         api.RegisterMessage((*SvsTableAddDelReply)(nil), "svs_table_add_del_reply_e8d4e804")
413 }
414
415 // Messages returns list of all messages in this module.
416 func AllMessages() []api.Message {
417         return []api.Message{
418                 (*SvsDetails)(nil),
419                 (*SvsDump)(nil),
420                 (*SvsEnableDisable)(nil),
421                 (*SvsEnableDisableReply)(nil),
422                 (*SvsPluginGetVersion)(nil),
423                 (*SvsPluginGetVersionReply)(nil),
424                 (*SvsRouteAddDel)(nil),
425                 (*SvsRouteAddDelReply)(nil),
426                 (*SvsTableAddDel)(nil),
427                 (*SvsTableAddDelReply)(nil),
428         }
429 }