Fix parsing API with removed CRC for types and unions
[govpp.git] / examples / binapi / af_packet / af_packet.ba.go
1 // Code generated by GoVPP binapi-generator. DO NOT EDIT.
2 // source: /usr/share/vpp/api/core/af_packet.api.json
3
4 /*
5 Package af_packet is a generated from VPP binary API module 'af_packet'.
6
7  The af_packet module consists of:
8           8 messages
9           4 services
10 */
11 package af_packet
12
13 import api "git.fd.io/govpp.git/api"
14 import bytes "bytes"
15 import context "context"
16 import strconv "strconv"
17 import struc "github.com/lunixbochs/struc"
18
19 // Reference imports to suppress errors if they are not otherwise used.
20 var _ = api.RegisterMessage
21 var _ = bytes.NewBuffer
22 var _ = context.Background
23 var _ = strconv.Itoa
24 var _ = struc.Pack
25
26 // This is a compile-time assertion to ensure that this generated file
27 // is compatible with the GoVPP api package it is being compiled against.
28 // A compilation error at this line likely means your copy of the
29 // GoVPP api package needs to be updated.
30 const _ = api.GoVppAPIPackageIsVersion1 // please upgrade the GoVPP api package
31
32 const (
33         // ModuleName is the name of this module.
34         ModuleName = "af_packet"
35         // APIVersion is the API version of this module.
36         APIVersion = "1.0.0"
37         // VersionCrc is the CRC of this module.
38         VersionCrc = 0x206563c
39 )
40
41 /* Messages */
42
43 // AfPacketCreate represents VPP binary API message 'af_packet_create':
44 type AfPacketCreate struct {
45         HostIfName      []byte `struc:"[64]byte"`
46         HwAddr          []byte `struc:"[6]byte"`
47         UseRandomHwAddr uint8
48 }
49
50 func (*AfPacketCreate) GetMessageName() string {
51         return "af_packet_create"
52 }
53 func (*AfPacketCreate) GetCrcString() string {
54         return "6d5d30d6"
55 }
56 func (*AfPacketCreate) GetMessageType() api.MessageType {
57         return api.RequestMessage
58 }
59
60 // AfPacketCreateReply represents VPP binary API message 'af_packet_create_reply':
61 type AfPacketCreateReply struct {
62         Retval    int32
63         SwIfIndex uint32
64 }
65
66 func (*AfPacketCreateReply) GetMessageName() string {
67         return "af_packet_create_reply"
68 }
69 func (*AfPacketCreateReply) GetCrcString() string {
70         return "fda5941f"
71 }
72 func (*AfPacketCreateReply) GetMessageType() api.MessageType {
73         return api.ReplyMessage
74 }
75
76 // AfPacketDelete represents VPP binary API message 'af_packet_delete':
77 type AfPacketDelete struct {
78         HostIfName []byte `struc:"[64]byte"`
79 }
80
81 func (*AfPacketDelete) GetMessageName() string {
82         return "af_packet_delete"
83 }
84 func (*AfPacketDelete) GetCrcString() string {
85         return "3efceda3"
86 }
87 func (*AfPacketDelete) GetMessageType() api.MessageType {
88         return api.RequestMessage
89 }
90
91 // AfPacketDeleteReply represents VPP binary API message 'af_packet_delete_reply':
92 type AfPacketDeleteReply struct {
93         Retval int32
94 }
95
96 func (*AfPacketDeleteReply) GetMessageName() string {
97         return "af_packet_delete_reply"
98 }
99 func (*AfPacketDeleteReply) GetCrcString() string {
100         return "e8d4e804"
101 }
102 func (*AfPacketDeleteReply) GetMessageType() api.MessageType {
103         return api.ReplyMessage
104 }
105
106 // AfPacketDetails represents VPP binary API message 'af_packet_details':
107 type AfPacketDetails struct {
108         SwIfIndex  uint32
109         HostIfName []byte `struc:"[64]byte"`
110 }
111
112 func (*AfPacketDetails) GetMessageName() string {
113         return "af_packet_details"
114 }
115 func (*AfPacketDetails) GetCrcString() string {
116         return "057205fa"
117 }
118 func (*AfPacketDetails) GetMessageType() api.MessageType {
119         return api.ReplyMessage
120 }
121
122 // AfPacketDump represents VPP binary API message 'af_packet_dump':
123 type AfPacketDump struct{}
124
125 func (*AfPacketDump) GetMessageName() string {
126         return "af_packet_dump"
127 }
128 func (*AfPacketDump) GetCrcString() string {
129         return "51077d14"
130 }
131 func (*AfPacketDump) GetMessageType() api.MessageType {
132         return api.RequestMessage
133 }
134
135 // AfPacketSetL4CksumOffload represents VPP binary API message 'af_packet_set_l4_cksum_offload':
136 type AfPacketSetL4CksumOffload struct {
137         SwIfIndex uint8
138         Set       uint8
139 }
140
141 func (*AfPacketSetL4CksumOffload) GetMessageName() string {
142         return "af_packet_set_l4_cksum_offload"
143 }
144 func (*AfPacketSetL4CksumOffload) GetCrcString() string {
145         return "86538585"
146 }
147 func (*AfPacketSetL4CksumOffload) GetMessageType() api.MessageType {
148         return api.RequestMessage
149 }
150
151 // AfPacketSetL4CksumOffloadReply represents VPP binary API message 'af_packet_set_l4_cksum_offload_reply':
152 type AfPacketSetL4CksumOffloadReply struct {
153         Retval int32
154 }
155
156 func (*AfPacketSetL4CksumOffloadReply) GetMessageName() string {
157         return "af_packet_set_l4_cksum_offload_reply"
158 }
159 func (*AfPacketSetL4CksumOffloadReply) GetCrcString() string {
160         return "e8d4e804"
161 }
162 func (*AfPacketSetL4CksumOffloadReply) GetMessageType() api.MessageType {
163         return api.ReplyMessage
164 }
165
166 func init() {
167         api.RegisterMessage((*AfPacketCreate)(nil), "af_packet.AfPacketCreate")
168         api.RegisterMessage((*AfPacketCreateReply)(nil), "af_packet.AfPacketCreateReply")
169         api.RegisterMessage((*AfPacketDelete)(nil), "af_packet.AfPacketDelete")
170         api.RegisterMessage((*AfPacketDeleteReply)(nil), "af_packet.AfPacketDeleteReply")
171         api.RegisterMessage((*AfPacketDetails)(nil), "af_packet.AfPacketDetails")
172         api.RegisterMessage((*AfPacketDump)(nil), "af_packet.AfPacketDump")
173         api.RegisterMessage((*AfPacketSetL4CksumOffload)(nil), "af_packet.AfPacketSetL4CksumOffload")
174         api.RegisterMessage((*AfPacketSetL4CksumOffloadReply)(nil), "af_packet.AfPacketSetL4CksumOffloadReply")
175 }
176
177 // Messages returns list of all messages in this module.
178 func AllMessages() []api.Message {
179         return []api.Message{
180                 (*AfPacketCreate)(nil),
181                 (*AfPacketCreateReply)(nil),
182                 (*AfPacketDelete)(nil),
183                 (*AfPacketDeleteReply)(nil),
184                 (*AfPacketDetails)(nil),
185                 (*AfPacketDump)(nil),
186                 (*AfPacketSetL4CksumOffload)(nil),
187                 (*AfPacketSetL4CksumOffloadReply)(nil),
188         }
189 }
190
191 // Service represents VPP binary API services in af_packet module.
192 type Service interface {
193         DumpAfPacket(ctx context.Context, in *AfPacketDump) ([]*AfPacketDetails, error)
194         AfPacketCreate(ctx context.Context, in *AfPacketCreate) (*AfPacketCreateReply, error)
195         AfPacketDelete(ctx context.Context, in *AfPacketDelete) (*AfPacketDeleteReply, error)
196         AfPacketSetL4CksumOffload(ctx context.Context, in *AfPacketSetL4CksumOffload) (*AfPacketSetL4CksumOffloadReply, error)
197 }
198
199 type service struct {
200         ch api.Channel
201 }
202
203 func NewService(ch api.Channel) Service {
204         return &service{ch}
205 }
206
207 func (c *service) DumpAfPacket(ctx context.Context, in *AfPacketDump) ([]*AfPacketDetails, error) {
208         var dump []*AfPacketDetails
209         req := c.ch.SendMultiRequest(in)
210         for {
211                 m := new(AfPacketDetails)
212                 stop, err := req.ReceiveReply(m)
213                 if stop {
214                         break
215                 }
216                 if err != nil {
217                         return nil, err
218                 }
219                 dump = append(dump, m)
220         }
221         return dump, nil
222 }
223
224 func (c *service) AfPacketCreate(ctx context.Context, in *AfPacketCreate) (*AfPacketCreateReply, error) {
225         out := new(AfPacketCreateReply)
226         err := c.ch.SendRequest(in).ReceiveReply(out)
227         if err != nil {
228                 return nil, err
229         }
230         return out, nil
231 }
232
233 func (c *service) AfPacketDelete(ctx context.Context, in *AfPacketDelete) (*AfPacketDeleteReply, error) {
234         out := new(AfPacketDeleteReply)
235         err := c.ch.SendRequest(in).ReceiveReply(out)
236         if err != nil {
237                 return nil, err
238         }
239         return out, nil
240 }
241
242 func (c *service) AfPacketSetL4CksumOffload(ctx context.Context, in *AfPacketSetL4CksumOffload) (*AfPacketSetL4CksumOffloadReply, error) {
243         out := new(AfPacketSetL4CksumOffloadReply)
244         err := c.ch.SendRequest(in).ReceiveReply(out)
245         if err != nil {
246                 return nil, err
247         }
248         return out, nil
249 }