github.com/networkservicemesh/govpp@v0.0.0-20240328101142-8a444680fbba/binapi/wireguard/wireguard.ba.go (about)

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