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