go.ligato.io/vpp-agent/v3@v3.5.0/plugins/vpp/binapi/vpp2210/wireguard/wireguard.ba.go (about)

     1  // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
     2  
     3  // Package wireguard contains generated bindings for API file wireguard.api.
     4  //
     5  // Contents:
     6  // -  1 enum
     7  // -  2 structs
     8  // - 17 messages
     9  package wireguard
    10  
    11  import (
    12  	"strconv"
    13  
    14  	api "go.fd.io/govpp/api"
    15  	codec "go.fd.io/govpp/codec"
    16  	interface_types "go.ligato.io/vpp-agent/v3/plugins/vpp/binapi/vpp2210/interface_types"
    17  	ip_types "go.ligato.io/vpp-agent/v3/plugins/vpp/binapi/vpp2210/ip_types"
    18  )
    19  
    20  // This is a compile-time assertion to ensure that this generated file
    21  // is compatible with the GoVPP api package it is being compiled against.
    22  // A compilation error at this line likely means your copy of the
    23  // GoVPP api package needs to be updated.
    24  const _ = api.GoVppAPIPackageIsVersion2
    25  
    26  const (
    27  	APIFile    = "wireguard"
    28  	APIVersion = "0.3.0"
    29  	VersionCrc = 0x5d8f9252
    30  )
    31  
    32  // WireguardPeerFlags defines enum 'wireguard_peer_flags'.
    33  type WireguardPeerFlags uint8
    34  
    35  const (
    36  	WIREGUARD_PEER_STATUS_DEAD WireguardPeerFlags = 1
    37  	WIREGUARD_PEER_ESTABLISHED WireguardPeerFlags = 2
    38  )
    39  
    40  var (
    41  	WireguardPeerFlags_name = map[uint8]string{
    42  		1: "WIREGUARD_PEER_STATUS_DEAD",
    43  		2: "WIREGUARD_PEER_ESTABLISHED",
    44  	}
    45  	WireguardPeerFlags_value = map[string]uint8{
    46  		"WIREGUARD_PEER_STATUS_DEAD": 1,
    47  		"WIREGUARD_PEER_ESTABLISHED": 2,
    48  	}
    49  )
    50  
    51  func (x WireguardPeerFlags) String() string {
    52  	s, ok := WireguardPeerFlags_name[uint8(x)]
    53  	if ok {
    54  		return s
    55  	}
    56  	str := func(n uint8) string {
    57  		s, ok := WireguardPeerFlags_name[uint8(n)]
    58  		if ok {
    59  			return s
    60  		}
    61  		return "WireguardPeerFlags(" + strconv.Itoa(int(n)) + ")"
    62  	}
    63  	for i := uint8(0); i <= 8; i++ {
    64  		val := uint8(x)
    65  		if val&(1<<i) != 0 {
    66  			if s != "" {
    67  				s += "|"
    68  			}
    69  			s += str(1 << i)
    70  		}
    71  	}
    72  	if s == "" {
    73  		return str(uint8(x))
    74  	}
    75  	return s
    76  }
    77  
    78  // WireguardInterface defines type 'wireguard_interface'.
    79  type WireguardInterface struct {
    80  	UserInstance uint32                         `binapi:"u32,name=user_instance,default=4294967295" json:"user_instance,omitempty"`
    81  	SwIfIndex    interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
    82  	PrivateKey   []byte                         `binapi:"u8[32],name=private_key" json:"private_key,omitempty"`
    83  	PublicKey    []byte                         `binapi:"u8[32],name=public_key" json:"public_key,omitempty"`
    84  	Port         uint16                         `binapi:"u16,name=port" json:"port,omitempty"`
    85  	SrcIP        ip_types.Address               `binapi:"address,name=src_ip" json:"src_ip,omitempty"`
    86  }
    87  
    88  // WireguardPeer defines type 'wireguard_peer'.
    89  type WireguardPeer struct {
    90  	PeerIndex           uint32                         `binapi:"u32,name=peer_index" json:"peer_index,omitempty"`
    91  	PublicKey           []byte                         `binapi:"u8[32],name=public_key" json:"public_key,omitempty"`
    92  	Port                uint16                         `binapi:"u16,name=port" json:"port,omitempty"`
    93  	PersistentKeepalive uint16                         `binapi:"u16,name=persistent_keepalive" json:"persistent_keepalive,omitempty"`
    94  	TableID             uint32                         `binapi:"u32,name=table_id" json:"table_id,omitempty"`
    95  	Endpoint            ip_types.Address               `binapi:"address,name=endpoint" json:"endpoint,omitempty"`
    96  	SwIfIndex           interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
    97  	Flags               WireguardPeerFlags             `binapi:"wireguard_peer_flags,name=flags" json:"flags,omitempty"`
    98  	NAllowedIps         uint8                          `binapi:"u8,name=n_allowed_ips" json:"-"`
    99  	AllowedIps          []ip_types.Prefix              `binapi:"prefix[n_allowed_ips],name=allowed_ips" json:"allowed_ips,omitempty"`
   100  }
   101  
   102  // WantWireguardPeerEvents defines message 'want_wireguard_peer_events'.
   103  // InProgress: the message form may change in the future versions
   104  type WantWireguardPeerEvents struct {
   105  	SwIfIndex     interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index,default=4294967295" json:"sw_if_index,omitempty"`
   106  	PeerIndex     uint32                         `binapi:"u32,name=peer_index,default=4294967295" json:"peer_index,omitempty"`
   107  	EnableDisable uint32                         `binapi:"u32,name=enable_disable" json:"enable_disable,omitempty"`
   108  	PID           uint32                         `binapi:"u32,name=pid" json:"pid,omitempty"`
   109  }
   110  
   111  func (m *WantWireguardPeerEvents) Reset()               { *m = WantWireguardPeerEvents{} }
   112  func (*WantWireguardPeerEvents) GetMessageName() string { return "want_wireguard_peer_events" }
   113  func (*WantWireguardPeerEvents) GetCrcString() string   { return "3bc666c8" }
   114  func (*WantWireguardPeerEvents) GetMessageType() api.MessageType {
   115  	return api.RequestMessage
   116  }
   117  
   118  func (m *WantWireguardPeerEvents) Size() (size int) {
   119  	if m == nil {
   120  		return 0
   121  	}
   122  	size += 4 // m.SwIfIndex
   123  	size += 4 // m.PeerIndex
   124  	size += 4 // m.EnableDisable
   125  	size += 4 // m.PID
   126  	return size
   127  }
   128  func (m *WantWireguardPeerEvents) Marshal(b []byte) ([]byte, error) {
   129  	if b == nil {
   130  		b = make([]byte, m.Size())
   131  	}
   132  	buf := codec.NewBuffer(b)
   133  	buf.EncodeUint32(uint32(m.SwIfIndex))
   134  	buf.EncodeUint32(m.PeerIndex)
   135  	buf.EncodeUint32(m.EnableDisable)
   136  	buf.EncodeUint32(m.PID)
   137  	return buf.Bytes(), nil
   138  }
   139  func (m *WantWireguardPeerEvents) Unmarshal(b []byte) error {
   140  	buf := codec.NewBuffer(b)
   141  	m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   142  	m.PeerIndex = buf.DecodeUint32()
   143  	m.EnableDisable = buf.DecodeUint32()
   144  	m.PID = buf.DecodeUint32()
   145  	return nil
   146  }
   147  
   148  // WantWireguardPeerEventsReply defines message 'want_wireguard_peer_events_reply'.
   149  // InProgress: the message form may change in the future versions
   150  type WantWireguardPeerEventsReply struct {
   151  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
   152  }
   153  
   154  func (m *WantWireguardPeerEventsReply) Reset() { *m = WantWireguardPeerEventsReply{} }
   155  func (*WantWireguardPeerEventsReply) GetMessageName() string {
   156  	return "want_wireguard_peer_events_reply"
   157  }
   158  func (*WantWireguardPeerEventsReply) GetCrcString() string { return "e8d4e804" }
   159  func (*WantWireguardPeerEventsReply) GetMessageType() api.MessageType {
   160  	return api.ReplyMessage
   161  }
   162  
   163  func (m *WantWireguardPeerEventsReply) Size() (size int) {
   164  	if m == nil {
   165  		return 0
   166  	}
   167  	size += 4 // m.Retval
   168  	return size
   169  }
   170  func (m *WantWireguardPeerEventsReply) Marshal(b []byte) ([]byte, error) {
   171  	if b == nil {
   172  		b = make([]byte, m.Size())
   173  	}
   174  	buf := codec.NewBuffer(b)
   175  	buf.EncodeInt32(m.Retval)
   176  	return buf.Bytes(), nil
   177  }
   178  func (m *WantWireguardPeerEventsReply) Unmarshal(b []byte) error {
   179  	buf := codec.NewBuffer(b)
   180  	m.Retval = buf.DecodeInt32()
   181  	return nil
   182  }
   183  
   184  // WgSetAsyncMode defines message 'wg_set_async_mode'.
   185  // InProgress: the message form may change in the future versions
   186  type WgSetAsyncMode struct {
   187  	AsyncEnable bool `binapi:"bool,name=async_enable,default=false" json:"async_enable,omitempty"`
   188  }
   189  
   190  func (m *WgSetAsyncMode) Reset()               { *m = WgSetAsyncMode{} }
   191  func (*WgSetAsyncMode) GetMessageName() string { return "wg_set_async_mode" }
   192  func (*WgSetAsyncMode) GetCrcString() string   { return "a6465f7c" }
   193  func (*WgSetAsyncMode) GetMessageType() api.MessageType {
   194  	return api.RequestMessage
   195  }
   196  
   197  func (m *WgSetAsyncMode) Size() (size int) {
   198  	if m == nil {
   199  		return 0
   200  	}
   201  	size += 1 // m.AsyncEnable
   202  	return size
   203  }
   204  func (m *WgSetAsyncMode) Marshal(b []byte) ([]byte, error) {
   205  	if b == nil {
   206  		b = make([]byte, m.Size())
   207  	}
   208  	buf := codec.NewBuffer(b)
   209  	buf.EncodeBool(m.AsyncEnable)
   210  	return buf.Bytes(), nil
   211  }
   212  func (m *WgSetAsyncMode) Unmarshal(b []byte) error {
   213  	buf := codec.NewBuffer(b)
   214  	m.AsyncEnable = buf.DecodeBool()
   215  	return nil
   216  }
   217  
   218  // WgSetAsyncModeReply defines message 'wg_set_async_mode_reply'.
   219  // InProgress: the message form may change in the future versions
   220  type WgSetAsyncModeReply struct {
   221  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
   222  }
   223  
   224  func (m *WgSetAsyncModeReply) Reset()               { *m = WgSetAsyncModeReply{} }
   225  func (*WgSetAsyncModeReply) GetMessageName() string { return "wg_set_async_mode_reply" }
   226  func (*WgSetAsyncModeReply) GetCrcString() string   { return "e8d4e804" }
   227  func (*WgSetAsyncModeReply) GetMessageType() api.MessageType {
   228  	return api.ReplyMessage
   229  }
   230  
   231  func (m *WgSetAsyncModeReply) Size() (size int) {
   232  	if m == nil {
   233  		return 0
   234  	}
   235  	size += 4 // m.Retval
   236  	return size
   237  }
   238  func (m *WgSetAsyncModeReply) Marshal(b []byte) ([]byte, error) {
   239  	if b == nil {
   240  		b = make([]byte, m.Size())
   241  	}
   242  	buf := codec.NewBuffer(b)
   243  	buf.EncodeInt32(m.Retval)
   244  	return buf.Bytes(), nil
   245  }
   246  func (m *WgSetAsyncModeReply) Unmarshal(b []byte) error {
   247  	buf := codec.NewBuffer(b)
   248  	m.Retval = buf.DecodeInt32()
   249  	return nil
   250  }
   251  
   252  // WireguardInterfaceCreate defines message 'wireguard_interface_create'.
   253  // InProgress: the message form may change in the future versions
   254  type WireguardInterfaceCreate struct {
   255  	Interface   WireguardInterface `binapi:"wireguard_interface,name=interface" json:"interface,omitempty"`
   256  	GenerateKey bool               `binapi:"bool,name=generate_key" json:"generate_key,omitempty"`
   257  }
   258  
   259  func (m *WireguardInterfaceCreate) Reset()               { *m = WireguardInterfaceCreate{} }
   260  func (*WireguardInterfaceCreate) GetMessageName() string { return "wireguard_interface_create" }
   261  func (*WireguardInterfaceCreate) GetCrcString() string   { return "a530137e" }
   262  func (*WireguardInterfaceCreate) GetMessageType() api.MessageType {
   263  	return api.RequestMessage
   264  }
   265  
   266  func (m *WireguardInterfaceCreate) Size() (size int) {
   267  	if m == nil {
   268  		return 0
   269  	}
   270  	size += 4      // m.Interface.UserInstance
   271  	size += 4      // m.Interface.SwIfIndex
   272  	size += 1 * 32 // m.Interface.PrivateKey
   273  	size += 1 * 32 // m.Interface.PublicKey
   274  	size += 2      // m.Interface.Port
   275  	size += 1      // m.Interface.SrcIP.Af
   276  	size += 1 * 16 // m.Interface.SrcIP.Un
   277  	size += 1      // m.GenerateKey
   278  	return size
   279  }
   280  func (m *WireguardInterfaceCreate) Marshal(b []byte) ([]byte, error) {
   281  	if b == nil {
   282  		b = make([]byte, m.Size())
   283  	}
   284  	buf := codec.NewBuffer(b)
   285  	buf.EncodeUint32(m.Interface.UserInstance)
   286  	buf.EncodeUint32(uint32(m.Interface.SwIfIndex))
   287  	buf.EncodeBytes(m.Interface.PrivateKey, 32)
   288  	buf.EncodeBytes(m.Interface.PublicKey, 32)
   289  	buf.EncodeUint16(m.Interface.Port)
   290  	buf.EncodeUint8(uint8(m.Interface.SrcIP.Af))
   291  	buf.EncodeBytes(m.Interface.SrcIP.Un.XXX_UnionData[:], 16)
   292  	buf.EncodeBool(m.GenerateKey)
   293  	return buf.Bytes(), nil
   294  }
   295  func (m *WireguardInterfaceCreate) Unmarshal(b []byte) error {
   296  	buf := codec.NewBuffer(b)
   297  	m.Interface.UserInstance = buf.DecodeUint32()
   298  	m.Interface.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   299  	m.Interface.PrivateKey = make([]byte, 32)
   300  	copy(m.Interface.PrivateKey, buf.DecodeBytes(len(m.Interface.PrivateKey)))
   301  	m.Interface.PublicKey = make([]byte, 32)
   302  	copy(m.Interface.PublicKey, buf.DecodeBytes(len(m.Interface.PublicKey)))
   303  	m.Interface.Port = buf.DecodeUint16()
   304  	m.Interface.SrcIP.Af = ip_types.AddressFamily(buf.DecodeUint8())
   305  	copy(m.Interface.SrcIP.Un.XXX_UnionData[:], buf.DecodeBytes(16))
   306  	m.GenerateKey = buf.DecodeBool()
   307  	return nil
   308  }
   309  
   310  // WireguardInterfaceCreateReply defines message 'wireguard_interface_create_reply'.
   311  // InProgress: the message form may change in the future versions
   312  type WireguardInterfaceCreateReply struct {
   313  	Retval    int32                          `binapi:"i32,name=retval" json:"retval,omitempty"`
   314  	SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
   315  }
   316  
   317  func (m *WireguardInterfaceCreateReply) Reset() { *m = WireguardInterfaceCreateReply{} }
   318  func (*WireguardInterfaceCreateReply) GetMessageName() string {
   319  	return "wireguard_interface_create_reply"
   320  }
   321  func (*WireguardInterfaceCreateReply) GetCrcString() string { return "5383d31f" }
   322  func (*WireguardInterfaceCreateReply) GetMessageType() api.MessageType {
   323  	return api.ReplyMessage
   324  }
   325  
   326  func (m *WireguardInterfaceCreateReply) Size() (size int) {
   327  	if m == nil {
   328  		return 0
   329  	}
   330  	size += 4 // m.Retval
   331  	size += 4 // m.SwIfIndex
   332  	return size
   333  }
   334  func (m *WireguardInterfaceCreateReply) Marshal(b []byte) ([]byte, error) {
   335  	if b == nil {
   336  		b = make([]byte, m.Size())
   337  	}
   338  	buf := codec.NewBuffer(b)
   339  	buf.EncodeInt32(m.Retval)
   340  	buf.EncodeUint32(uint32(m.SwIfIndex))
   341  	return buf.Bytes(), nil
   342  }
   343  func (m *WireguardInterfaceCreateReply) Unmarshal(b []byte) error {
   344  	buf := codec.NewBuffer(b)
   345  	m.Retval = buf.DecodeInt32()
   346  	m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   347  	return nil
   348  }
   349  
   350  // WireguardInterfaceDelete defines message 'wireguard_interface_delete'.
   351  // InProgress: the message form may change in the future versions
   352  type WireguardInterfaceDelete struct {
   353  	SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
   354  }
   355  
   356  func (m *WireguardInterfaceDelete) Reset()               { *m = WireguardInterfaceDelete{} }
   357  func (*WireguardInterfaceDelete) GetMessageName() string { return "wireguard_interface_delete" }
   358  func (*WireguardInterfaceDelete) GetCrcString() string   { return "f9e6675e" }
   359  func (*WireguardInterfaceDelete) GetMessageType() api.MessageType {
   360  	return api.RequestMessage
   361  }
   362  
   363  func (m *WireguardInterfaceDelete) Size() (size int) {
   364  	if m == nil {
   365  		return 0
   366  	}
   367  	size += 4 // m.SwIfIndex
   368  	return size
   369  }
   370  func (m *WireguardInterfaceDelete) Marshal(b []byte) ([]byte, error) {
   371  	if b == nil {
   372  		b = make([]byte, m.Size())
   373  	}
   374  	buf := codec.NewBuffer(b)
   375  	buf.EncodeUint32(uint32(m.SwIfIndex))
   376  	return buf.Bytes(), nil
   377  }
   378  func (m *WireguardInterfaceDelete) Unmarshal(b []byte) error {
   379  	buf := codec.NewBuffer(b)
   380  	m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   381  	return nil
   382  }
   383  
   384  // WireguardInterfaceDeleteReply defines message 'wireguard_interface_delete_reply'.
   385  // InProgress: the message form may change in the future versions
   386  type WireguardInterfaceDeleteReply struct {
   387  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
   388  }
   389  
   390  func (m *WireguardInterfaceDeleteReply) Reset() { *m = WireguardInterfaceDeleteReply{} }
   391  func (*WireguardInterfaceDeleteReply) GetMessageName() string {
   392  	return "wireguard_interface_delete_reply"
   393  }
   394  func (*WireguardInterfaceDeleteReply) GetCrcString() string { return "e8d4e804" }
   395  func (*WireguardInterfaceDeleteReply) GetMessageType() api.MessageType {
   396  	return api.ReplyMessage
   397  }
   398  
   399  func (m *WireguardInterfaceDeleteReply) Size() (size int) {
   400  	if m == nil {
   401  		return 0
   402  	}
   403  	size += 4 // m.Retval
   404  	return size
   405  }
   406  func (m *WireguardInterfaceDeleteReply) Marshal(b []byte) ([]byte, error) {
   407  	if b == nil {
   408  		b = make([]byte, m.Size())
   409  	}
   410  	buf := codec.NewBuffer(b)
   411  	buf.EncodeInt32(m.Retval)
   412  	return buf.Bytes(), nil
   413  }
   414  func (m *WireguardInterfaceDeleteReply) Unmarshal(b []byte) error {
   415  	buf := codec.NewBuffer(b)
   416  	m.Retval = buf.DecodeInt32()
   417  	return nil
   418  }
   419  
   420  // WireguardInterfaceDetails defines message 'wireguard_interface_details'.
   421  // InProgress: the message form may change in the future versions
   422  type WireguardInterfaceDetails struct {
   423  	Interface WireguardInterface `binapi:"wireguard_interface,name=interface" json:"interface,omitempty"`
   424  }
   425  
   426  func (m *WireguardInterfaceDetails) Reset()               { *m = WireguardInterfaceDetails{} }
   427  func (*WireguardInterfaceDetails) GetMessageName() string { return "wireguard_interface_details" }
   428  func (*WireguardInterfaceDetails) GetCrcString() string   { return "0dd4865d" }
   429  func (*WireguardInterfaceDetails) GetMessageType() api.MessageType {
   430  	return api.ReplyMessage
   431  }
   432  
   433  func (m *WireguardInterfaceDetails) Size() (size int) {
   434  	if m == nil {
   435  		return 0
   436  	}
   437  	size += 4      // m.Interface.UserInstance
   438  	size += 4      // m.Interface.SwIfIndex
   439  	size += 1 * 32 // m.Interface.PrivateKey
   440  	size += 1 * 32 // m.Interface.PublicKey
   441  	size += 2      // m.Interface.Port
   442  	size += 1      // m.Interface.SrcIP.Af
   443  	size += 1 * 16 // m.Interface.SrcIP.Un
   444  	return size
   445  }
   446  func (m *WireguardInterfaceDetails) Marshal(b []byte) ([]byte, error) {
   447  	if b == nil {
   448  		b = make([]byte, m.Size())
   449  	}
   450  	buf := codec.NewBuffer(b)
   451  	buf.EncodeUint32(m.Interface.UserInstance)
   452  	buf.EncodeUint32(uint32(m.Interface.SwIfIndex))
   453  	buf.EncodeBytes(m.Interface.PrivateKey, 32)
   454  	buf.EncodeBytes(m.Interface.PublicKey, 32)
   455  	buf.EncodeUint16(m.Interface.Port)
   456  	buf.EncodeUint8(uint8(m.Interface.SrcIP.Af))
   457  	buf.EncodeBytes(m.Interface.SrcIP.Un.XXX_UnionData[:], 16)
   458  	return buf.Bytes(), nil
   459  }
   460  func (m *WireguardInterfaceDetails) Unmarshal(b []byte) error {
   461  	buf := codec.NewBuffer(b)
   462  	m.Interface.UserInstance = buf.DecodeUint32()
   463  	m.Interface.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   464  	m.Interface.PrivateKey = make([]byte, 32)
   465  	copy(m.Interface.PrivateKey, buf.DecodeBytes(len(m.Interface.PrivateKey)))
   466  	m.Interface.PublicKey = make([]byte, 32)
   467  	copy(m.Interface.PublicKey, buf.DecodeBytes(len(m.Interface.PublicKey)))
   468  	m.Interface.Port = buf.DecodeUint16()
   469  	m.Interface.SrcIP.Af = ip_types.AddressFamily(buf.DecodeUint8())
   470  	copy(m.Interface.SrcIP.Un.XXX_UnionData[:], buf.DecodeBytes(16))
   471  	return nil
   472  }
   473  
   474  // WireguardInterfaceDump defines message 'wireguard_interface_dump'.
   475  // InProgress: the message form may change in the future versions
   476  type WireguardInterfaceDump struct {
   477  	ShowPrivateKey bool                           `binapi:"bool,name=show_private_key" json:"show_private_key,omitempty"`
   478  	SwIfIndex      interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
   479  }
   480  
   481  func (m *WireguardInterfaceDump) Reset()               { *m = WireguardInterfaceDump{} }
   482  func (*WireguardInterfaceDump) GetMessageName() string { return "wireguard_interface_dump" }
   483  func (*WireguardInterfaceDump) GetCrcString() string   { return "2c954158" }
   484  func (*WireguardInterfaceDump) GetMessageType() api.MessageType {
   485  	return api.RequestMessage
   486  }
   487  
   488  func (m *WireguardInterfaceDump) Size() (size int) {
   489  	if m == nil {
   490  		return 0
   491  	}
   492  	size += 1 // m.ShowPrivateKey
   493  	size += 4 // m.SwIfIndex
   494  	return size
   495  }
   496  func (m *WireguardInterfaceDump) Marshal(b []byte) ([]byte, error) {
   497  	if b == nil {
   498  		b = make([]byte, m.Size())
   499  	}
   500  	buf := codec.NewBuffer(b)
   501  	buf.EncodeBool(m.ShowPrivateKey)
   502  	buf.EncodeUint32(uint32(m.SwIfIndex))
   503  	return buf.Bytes(), nil
   504  }
   505  func (m *WireguardInterfaceDump) Unmarshal(b []byte) error {
   506  	buf := codec.NewBuffer(b)
   507  	m.ShowPrivateKey = buf.DecodeBool()
   508  	m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   509  	return nil
   510  }
   511  
   512  // WireguardPeerAdd defines message 'wireguard_peer_add'.
   513  // InProgress: the message form may change in the future versions
   514  type WireguardPeerAdd struct {
   515  	Peer WireguardPeer `binapi:"wireguard_peer,name=peer" json:"peer,omitempty"`
   516  }
   517  
   518  func (m *WireguardPeerAdd) Reset()               { *m = WireguardPeerAdd{} }
   519  func (*WireguardPeerAdd) GetMessageName() string { return "wireguard_peer_add" }
   520  func (*WireguardPeerAdd) GetCrcString() string   { return "9b8aad61" }
   521  func (*WireguardPeerAdd) GetMessageType() api.MessageType {
   522  	return api.RequestMessage
   523  }
   524  
   525  func (m *WireguardPeerAdd) Size() (size int) {
   526  	if m == nil {
   527  		return 0
   528  	}
   529  	size += 4      // m.Peer.PeerIndex
   530  	size += 1 * 32 // m.Peer.PublicKey
   531  	size += 2      // m.Peer.Port
   532  	size += 2      // m.Peer.PersistentKeepalive
   533  	size += 4      // m.Peer.TableID
   534  	size += 1      // m.Peer.Endpoint.Af
   535  	size += 1 * 16 // m.Peer.Endpoint.Un
   536  	size += 4      // m.Peer.SwIfIndex
   537  	size += 1      // m.Peer.Flags
   538  	size += 1      // m.Peer.NAllowedIps
   539  	for j2 := 0; j2 < len(m.Peer.AllowedIps); j2++ {
   540  		var s2 ip_types.Prefix
   541  		_ = s2
   542  		if j2 < len(m.Peer.AllowedIps) {
   543  			s2 = m.Peer.AllowedIps[j2]
   544  		}
   545  		size += 1      // s2.Address.Af
   546  		size += 1 * 16 // s2.Address.Un
   547  		size += 1      // s2.Len
   548  	}
   549  	return size
   550  }
   551  func (m *WireguardPeerAdd) Marshal(b []byte) ([]byte, error) {
   552  	if b == nil {
   553  		b = make([]byte, m.Size())
   554  	}
   555  	buf := codec.NewBuffer(b)
   556  	buf.EncodeUint32(m.Peer.PeerIndex)
   557  	buf.EncodeBytes(m.Peer.PublicKey, 32)
   558  	buf.EncodeUint16(m.Peer.Port)
   559  	buf.EncodeUint16(m.Peer.PersistentKeepalive)
   560  	buf.EncodeUint32(m.Peer.TableID)
   561  	buf.EncodeUint8(uint8(m.Peer.Endpoint.Af))
   562  	buf.EncodeBytes(m.Peer.Endpoint.Un.XXX_UnionData[:], 16)
   563  	buf.EncodeUint32(uint32(m.Peer.SwIfIndex))
   564  	buf.EncodeUint8(uint8(m.Peer.Flags))
   565  	buf.EncodeUint8(uint8(len(m.Peer.AllowedIps)))
   566  	for j1 := 0; j1 < len(m.Peer.AllowedIps); j1++ {
   567  		var v1 ip_types.Prefix // AllowedIps
   568  		if j1 < len(m.Peer.AllowedIps) {
   569  			v1 = m.Peer.AllowedIps[j1]
   570  		}
   571  		buf.EncodeUint8(uint8(v1.Address.Af))
   572  		buf.EncodeBytes(v1.Address.Un.XXX_UnionData[:], 16)
   573  		buf.EncodeUint8(v1.Len)
   574  	}
   575  	return buf.Bytes(), nil
   576  }
   577  func (m *WireguardPeerAdd) Unmarshal(b []byte) error {
   578  	buf := codec.NewBuffer(b)
   579  	m.Peer.PeerIndex = buf.DecodeUint32()
   580  	m.Peer.PublicKey = make([]byte, 32)
   581  	copy(m.Peer.PublicKey, buf.DecodeBytes(len(m.Peer.PublicKey)))
   582  	m.Peer.Port = buf.DecodeUint16()
   583  	m.Peer.PersistentKeepalive = buf.DecodeUint16()
   584  	m.Peer.TableID = buf.DecodeUint32()
   585  	m.Peer.Endpoint.Af = ip_types.AddressFamily(buf.DecodeUint8())
   586  	copy(m.Peer.Endpoint.Un.XXX_UnionData[:], buf.DecodeBytes(16))
   587  	m.Peer.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   588  	m.Peer.Flags = WireguardPeerFlags(buf.DecodeUint8())
   589  	m.Peer.NAllowedIps = buf.DecodeUint8()
   590  	m.Peer.AllowedIps = make([]ip_types.Prefix, m.Peer.NAllowedIps)
   591  	for j1 := 0; j1 < len(m.Peer.AllowedIps); j1++ {
   592  		m.Peer.AllowedIps[j1].Address.Af = ip_types.AddressFamily(buf.DecodeUint8())
   593  		copy(m.Peer.AllowedIps[j1].Address.Un.XXX_UnionData[:], buf.DecodeBytes(16))
   594  		m.Peer.AllowedIps[j1].Len = buf.DecodeUint8()
   595  	}
   596  	return nil
   597  }
   598  
   599  // WireguardPeerAddReply defines message 'wireguard_peer_add_reply'.
   600  // InProgress: the message form may change in the future versions
   601  type WireguardPeerAddReply struct {
   602  	Retval    int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
   603  	PeerIndex uint32 `binapi:"u32,name=peer_index" json:"peer_index,omitempty"`
   604  }
   605  
   606  func (m *WireguardPeerAddReply) Reset()               { *m = WireguardPeerAddReply{} }
   607  func (*WireguardPeerAddReply) GetMessageName() string { return "wireguard_peer_add_reply" }
   608  func (*WireguardPeerAddReply) GetCrcString() string   { return "084a0cd3" }
   609  func (*WireguardPeerAddReply) GetMessageType() api.MessageType {
   610  	return api.ReplyMessage
   611  }
   612  
   613  func (m *WireguardPeerAddReply) Size() (size int) {
   614  	if m == nil {
   615  		return 0
   616  	}
   617  	size += 4 // m.Retval
   618  	size += 4 // m.PeerIndex
   619  	return size
   620  }
   621  func (m *WireguardPeerAddReply) Marshal(b []byte) ([]byte, error) {
   622  	if b == nil {
   623  		b = make([]byte, m.Size())
   624  	}
   625  	buf := codec.NewBuffer(b)
   626  	buf.EncodeInt32(m.Retval)
   627  	buf.EncodeUint32(m.PeerIndex)
   628  	return buf.Bytes(), nil
   629  }
   630  func (m *WireguardPeerAddReply) Unmarshal(b []byte) error {
   631  	buf := codec.NewBuffer(b)
   632  	m.Retval = buf.DecodeInt32()
   633  	m.PeerIndex = buf.DecodeUint32()
   634  	return nil
   635  }
   636  
   637  // WireguardPeerEvent defines message 'wireguard_peer_event'.
   638  // InProgress: the message form may change in the future versions
   639  type WireguardPeerEvent struct {
   640  	PID       uint32             `binapi:"u32,name=pid" json:"pid,omitempty"`
   641  	PeerIndex uint32             `binapi:"u32,name=peer_index" json:"peer_index,omitempty"`
   642  	Flags     WireguardPeerFlags `binapi:"wireguard_peer_flags,name=flags" json:"flags,omitempty"`
   643  }
   644  
   645  func (m *WireguardPeerEvent) Reset()               { *m = WireguardPeerEvent{} }
   646  func (*WireguardPeerEvent) GetMessageName() string { return "wireguard_peer_event" }
   647  func (*WireguardPeerEvent) GetCrcString() string   { return "4e1b5d67" }
   648  func (*WireguardPeerEvent) GetMessageType() api.MessageType {
   649  	return api.EventMessage
   650  }
   651  
   652  func (m *WireguardPeerEvent) Size() (size int) {
   653  	if m == nil {
   654  		return 0
   655  	}
   656  	size += 4 // m.PID
   657  	size += 4 // m.PeerIndex
   658  	size += 1 // m.Flags
   659  	return size
   660  }
   661  func (m *WireguardPeerEvent) Marshal(b []byte) ([]byte, error) {
   662  	if b == nil {
   663  		b = make([]byte, m.Size())
   664  	}
   665  	buf := codec.NewBuffer(b)
   666  	buf.EncodeUint32(m.PID)
   667  	buf.EncodeUint32(m.PeerIndex)
   668  	buf.EncodeUint8(uint8(m.Flags))
   669  	return buf.Bytes(), nil
   670  }
   671  func (m *WireguardPeerEvent) Unmarshal(b []byte) error {
   672  	buf := codec.NewBuffer(b)
   673  	m.PID = buf.DecodeUint32()
   674  	m.PeerIndex = buf.DecodeUint32()
   675  	m.Flags = WireguardPeerFlags(buf.DecodeUint8())
   676  	return nil
   677  }
   678  
   679  // WireguardPeerRemove defines message 'wireguard_peer_remove'.
   680  // InProgress: the message form may change in the future versions
   681  type WireguardPeerRemove struct {
   682  	PeerIndex uint32 `binapi:"u32,name=peer_index" json:"peer_index,omitempty"`
   683  }
   684  
   685  func (m *WireguardPeerRemove) Reset()               { *m = WireguardPeerRemove{} }
   686  func (*WireguardPeerRemove) GetMessageName() string { return "wireguard_peer_remove" }
   687  func (*WireguardPeerRemove) GetCrcString() string   { return "3b74607a" }
   688  func (*WireguardPeerRemove) GetMessageType() api.MessageType {
   689  	return api.RequestMessage
   690  }
   691  
   692  func (m *WireguardPeerRemove) Size() (size int) {
   693  	if m == nil {
   694  		return 0
   695  	}
   696  	size += 4 // m.PeerIndex
   697  	return size
   698  }
   699  func (m *WireguardPeerRemove) Marshal(b []byte) ([]byte, error) {
   700  	if b == nil {
   701  		b = make([]byte, m.Size())
   702  	}
   703  	buf := codec.NewBuffer(b)
   704  	buf.EncodeUint32(m.PeerIndex)
   705  	return buf.Bytes(), nil
   706  }
   707  func (m *WireguardPeerRemove) Unmarshal(b []byte) error {
   708  	buf := codec.NewBuffer(b)
   709  	m.PeerIndex = buf.DecodeUint32()
   710  	return nil
   711  }
   712  
   713  // WireguardPeerRemoveReply defines message 'wireguard_peer_remove_reply'.
   714  // InProgress: the message form may change in the future versions
   715  type WireguardPeerRemoveReply struct {
   716  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
   717  }
   718  
   719  func (m *WireguardPeerRemoveReply) Reset()               { *m = WireguardPeerRemoveReply{} }
   720  func (*WireguardPeerRemoveReply) GetMessageName() string { return "wireguard_peer_remove_reply" }
   721  func (*WireguardPeerRemoveReply) GetCrcString() string   { return "e8d4e804" }
   722  func (*WireguardPeerRemoveReply) GetMessageType() api.MessageType {
   723  	return api.ReplyMessage
   724  }
   725  
   726  func (m *WireguardPeerRemoveReply) Size() (size int) {
   727  	if m == nil {
   728  		return 0
   729  	}
   730  	size += 4 // m.Retval
   731  	return size
   732  }
   733  func (m *WireguardPeerRemoveReply) Marshal(b []byte) ([]byte, error) {
   734  	if b == nil {
   735  		b = make([]byte, m.Size())
   736  	}
   737  	buf := codec.NewBuffer(b)
   738  	buf.EncodeInt32(m.Retval)
   739  	return buf.Bytes(), nil
   740  }
   741  func (m *WireguardPeerRemoveReply) Unmarshal(b []byte) error {
   742  	buf := codec.NewBuffer(b)
   743  	m.Retval = buf.DecodeInt32()
   744  	return nil
   745  }
   746  
   747  // WireguardPeersDetails defines message 'wireguard_peers_details'.
   748  // InProgress: the message form may change in the future versions
   749  type WireguardPeersDetails struct {
   750  	Peer WireguardPeer `binapi:"wireguard_peer,name=peer" json:"peer,omitempty"`
   751  }
   752  
   753  func (m *WireguardPeersDetails) Reset()               { *m = WireguardPeersDetails{} }
   754  func (*WireguardPeersDetails) GetMessageName() string { return "wireguard_peers_details" }
   755  func (*WireguardPeersDetails) GetCrcString() string   { return "6a9f6bc3" }
   756  func (*WireguardPeersDetails) GetMessageType() api.MessageType {
   757  	return api.ReplyMessage
   758  }
   759  
   760  func (m *WireguardPeersDetails) Size() (size int) {
   761  	if m == nil {
   762  		return 0
   763  	}
   764  	size += 4      // m.Peer.PeerIndex
   765  	size += 1 * 32 // m.Peer.PublicKey
   766  	size += 2      // m.Peer.Port
   767  	size += 2      // m.Peer.PersistentKeepalive
   768  	size += 4      // m.Peer.TableID
   769  	size += 1      // m.Peer.Endpoint.Af
   770  	size += 1 * 16 // m.Peer.Endpoint.Un
   771  	size += 4      // m.Peer.SwIfIndex
   772  	size += 1      // m.Peer.Flags
   773  	size += 1      // m.Peer.NAllowedIps
   774  	for j2 := 0; j2 < len(m.Peer.AllowedIps); j2++ {
   775  		var s2 ip_types.Prefix
   776  		_ = s2
   777  		if j2 < len(m.Peer.AllowedIps) {
   778  			s2 = m.Peer.AllowedIps[j2]
   779  		}
   780  		size += 1      // s2.Address.Af
   781  		size += 1 * 16 // s2.Address.Un
   782  		size += 1      // s2.Len
   783  	}
   784  	return size
   785  }
   786  func (m *WireguardPeersDetails) Marshal(b []byte) ([]byte, error) {
   787  	if b == nil {
   788  		b = make([]byte, m.Size())
   789  	}
   790  	buf := codec.NewBuffer(b)
   791  	buf.EncodeUint32(m.Peer.PeerIndex)
   792  	buf.EncodeBytes(m.Peer.PublicKey, 32)
   793  	buf.EncodeUint16(m.Peer.Port)
   794  	buf.EncodeUint16(m.Peer.PersistentKeepalive)
   795  	buf.EncodeUint32(m.Peer.TableID)
   796  	buf.EncodeUint8(uint8(m.Peer.Endpoint.Af))
   797  	buf.EncodeBytes(m.Peer.Endpoint.Un.XXX_UnionData[:], 16)
   798  	buf.EncodeUint32(uint32(m.Peer.SwIfIndex))
   799  	buf.EncodeUint8(uint8(m.Peer.Flags))
   800  	buf.EncodeUint8(uint8(len(m.Peer.AllowedIps)))
   801  	for j1 := 0; j1 < len(m.Peer.AllowedIps); j1++ {
   802  		var v1 ip_types.Prefix // AllowedIps
   803  		if j1 < len(m.Peer.AllowedIps) {
   804  			v1 = m.Peer.AllowedIps[j1]
   805  		}
   806  		buf.EncodeUint8(uint8(v1.Address.Af))
   807  		buf.EncodeBytes(v1.Address.Un.XXX_UnionData[:], 16)
   808  		buf.EncodeUint8(v1.Len)
   809  	}
   810  	return buf.Bytes(), nil
   811  }
   812  func (m *WireguardPeersDetails) Unmarshal(b []byte) error {
   813  	buf := codec.NewBuffer(b)
   814  	m.Peer.PeerIndex = buf.DecodeUint32()
   815  	m.Peer.PublicKey = make([]byte, 32)
   816  	copy(m.Peer.PublicKey, buf.DecodeBytes(len(m.Peer.PublicKey)))
   817  	m.Peer.Port = buf.DecodeUint16()
   818  	m.Peer.PersistentKeepalive = buf.DecodeUint16()
   819  	m.Peer.TableID = buf.DecodeUint32()
   820  	m.Peer.Endpoint.Af = ip_types.AddressFamily(buf.DecodeUint8())
   821  	copy(m.Peer.Endpoint.Un.XXX_UnionData[:], buf.DecodeBytes(16))
   822  	m.Peer.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   823  	m.Peer.Flags = WireguardPeerFlags(buf.DecodeUint8())
   824  	m.Peer.NAllowedIps = buf.DecodeUint8()
   825  	m.Peer.AllowedIps = make([]ip_types.Prefix, m.Peer.NAllowedIps)
   826  	for j1 := 0; j1 < len(m.Peer.AllowedIps); j1++ {
   827  		m.Peer.AllowedIps[j1].Address.Af = ip_types.AddressFamily(buf.DecodeUint8())
   828  		copy(m.Peer.AllowedIps[j1].Address.Un.XXX_UnionData[:], buf.DecodeBytes(16))
   829  		m.Peer.AllowedIps[j1].Len = buf.DecodeUint8()
   830  	}
   831  	return nil
   832  }
   833  
   834  // WireguardPeersDump defines message 'wireguard_peers_dump'.
   835  // InProgress: the message form may change in the future versions
   836  type WireguardPeersDump struct {
   837  	PeerIndex uint32 `binapi:"u32,name=peer_index,default=4294967295" json:"peer_index,omitempty"`
   838  }
   839  
   840  func (m *WireguardPeersDump) Reset()               { *m = WireguardPeersDump{} }
   841  func (*WireguardPeersDump) GetMessageName() string { return "wireguard_peers_dump" }
   842  func (*WireguardPeersDump) GetCrcString() string   { return "3b74607a" }
   843  func (*WireguardPeersDump) GetMessageType() api.MessageType {
   844  	return api.RequestMessage
   845  }
   846  
   847  func (m *WireguardPeersDump) Size() (size int) {
   848  	if m == nil {
   849  		return 0
   850  	}
   851  	size += 4 // m.PeerIndex
   852  	return size
   853  }
   854  func (m *WireguardPeersDump) Marshal(b []byte) ([]byte, error) {
   855  	if b == nil {
   856  		b = make([]byte, m.Size())
   857  	}
   858  	buf := codec.NewBuffer(b)
   859  	buf.EncodeUint32(m.PeerIndex)
   860  	return buf.Bytes(), nil
   861  }
   862  func (m *WireguardPeersDump) Unmarshal(b []byte) error {
   863  	buf := codec.NewBuffer(b)
   864  	m.PeerIndex = buf.DecodeUint32()
   865  	return nil
   866  }
   867  
   868  func init() { file_wireguard_binapi_init() }
   869  func file_wireguard_binapi_init() {
   870  	api.RegisterMessage((*WantWireguardPeerEvents)(nil), "want_wireguard_peer_events_3bc666c8")
   871  	api.RegisterMessage((*WantWireguardPeerEventsReply)(nil), "want_wireguard_peer_events_reply_e8d4e804")
   872  	api.RegisterMessage((*WgSetAsyncMode)(nil), "wg_set_async_mode_a6465f7c")
   873  	api.RegisterMessage((*WgSetAsyncModeReply)(nil), "wg_set_async_mode_reply_e8d4e804")
   874  	api.RegisterMessage((*WireguardInterfaceCreate)(nil), "wireguard_interface_create_a530137e")
   875  	api.RegisterMessage((*WireguardInterfaceCreateReply)(nil), "wireguard_interface_create_reply_5383d31f")
   876  	api.RegisterMessage((*WireguardInterfaceDelete)(nil), "wireguard_interface_delete_f9e6675e")
   877  	api.RegisterMessage((*WireguardInterfaceDeleteReply)(nil), "wireguard_interface_delete_reply_e8d4e804")
   878  	api.RegisterMessage((*WireguardInterfaceDetails)(nil), "wireguard_interface_details_0dd4865d")
   879  	api.RegisterMessage((*WireguardInterfaceDump)(nil), "wireguard_interface_dump_2c954158")
   880  	api.RegisterMessage((*WireguardPeerAdd)(nil), "wireguard_peer_add_9b8aad61")
   881  	api.RegisterMessage((*WireguardPeerAddReply)(nil), "wireguard_peer_add_reply_084a0cd3")
   882  	api.RegisterMessage((*WireguardPeerEvent)(nil), "wireguard_peer_event_4e1b5d67")
   883  	api.RegisterMessage((*WireguardPeerRemove)(nil), "wireguard_peer_remove_3b74607a")
   884  	api.RegisterMessage((*WireguardPeerRemoveReply)(nil), "wireguard_peer_remove_reply_e8d4e804")
   885  	api.RegisterMessage((*WireguardPeersDetails)(nil), "wireguard_peers_details_6a9f6bc3")
   886  	api.RegisterMessage((*WireguardPeersDump)(nil), "wireguard_peers_dump_3b74607a")
   887  }
   888  
   889  // Messages returns list of all messages in this module.
   890  func AllMessages() []api.Message {
   891  	return []api.Message{
   892  		(*WantWireguardPeerEvents)(nil),
   893  		(*WantWireguardPeerEventsReply)(nil),
   894  		(*WgSetAsyncMode)(nil),
   895  		(*WgSetAsyncModeReply)(nil),
   896  		(*WireguardInterfaceCreate)(nil),
   897  		(*WireguardInterfaceCreateReply)(nil),
   898  		(*WireguardInterfaceDelete)(nil),
   899  		(*WireguardInterfaceDeleteReply)(nil),
   900  		(*WireguardInterfaceDetails)(nil),
   901  		(*WireguardInterfaceDump)(nil),
   902  		(*WireguardPeerAdd)(nil),
   903  		(*WireguardPeerAddReply)(nil),
   904  		(*WireguardPeerEvent)(nil),
   905  		(*WireguardPeerRemove)(nil),
   906  		(*WireguardPeerRemoveReply)(nil),
   907  		(*WireguardPeersDetails)(nil),
   908  		(*WireguardPeersDump)(nil),
   909  	}
   910  }