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