github.com/hxx258456/ccgo@v0.0.5-0.20230213014102-48b35f46f66f/net/route/defs_freebsd.go (about)

     1  // Copyright 2016 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  //go:build ignore
     6  // +build ignore
     7  
     8  package route
     9  
    10  /*
    11  #include <sys/socket.h>
    12  #include <sys/sysctl.h>
    13  
    14  #include <net/if.h>
    15  #include <net/if_dl.h>
    16  #include <net/route.h>
    17  
    18  #include <netinet/in.h>
    19  
    20  struct if_data_freebsd7 {
    21  	u_char ifi_type;
    22  	u_char ifi_physical;
    23  	u_char ifi_addrlen;
    24  	u_char ifi_hdrlen;
    25  	u_char ifi_link_state;
    26  	u_char ifi_spare_char1;
    27  	u_char ifi_spare_char2;
    28  	u_char ifi_datalen;
    29  	u_long ifi_mtu;
    30  	u_long ifi_metric;
    31  	u_long ifi_baudrate;
    32  	u_long ifi_ipackets;
    33  	u_long ifi_ierrors;
    34  	u_long ifi_opackets;
    35  	u_long ifi_oerrors;
    36  	u_long ifi_collisions;
    37  	u_long ifi_ibytes;
    38  	u_long ifi_obytes;
    39  	u_long ifi_imcasts;
    40  	u_long ifi_omcasts;
    41  	u_long ifi_iqdrops;
    42  	u_long ifi_noproto;
    43  	u_long ifi_hwassist;
    44  	time_t __ifi_epoch;
    45  	struct timeval __ifi_lastchange;
    46  };
    47  
    48  struct if_data_freebsd8 {
    49  	u_char ifi_type;
    50  	u_char ifi_physical;
    51  	u_char ifi_addrlen;
    52  	u_char ifi_hdrlen;
    53  	u_char ifi_link_state;
    54  	u_char ifi_spare_char1;
    55  	u_char ifi_spare_char2;
    56  	u_char ifi_datalen;
    57  	u_long ifi_mtu;
    58  	u_long ifi_metric;
    59  	u_long ifi_baudrate;
    60  	u_long ifi_ipackets;
    61  	u_long ifi_ierrors;
    62  	u_long ifi_opackets;
    63  	u_long ifi_oerrors;
    64  	u_long ifi_collisions;
    65  	u_long ifi_ibytes;
    66  	u_long ifi_obytes;
    67  	u_long ifi_imcasts;
    68  	u_long ifi_omcasts;
    69  	u_long ifi_iqdrops;
    70  	u_long ifi_noproto;
    71  	u_long ifi_hwassist;
    72  	time_t __ifi_epoch;
    73  	struct timeval __ifi_lastchange;
    74  };
    75  
    76  struct if_data_freebsd9 {
    77  	u_char ifi_type;
    78  	u_char ifi_physical;
    79  	u_char ifi_addrlen;
    80  	u_char ifi_hdrlen;
    81  	u_char ifi_link_state;
    82  	u_char ifi_spare_char1;
    83  	u_char ifi_spare_char2;
    84  	u_char ifi_datalen;
    85  	u_long ifi_mtu;
    86  	u_long ifi_metric;
    87  	u_long ifi_baudrate;
    88  	u_long ifi_ipackets;
    89  	u_long ifi_ierrors;
    90  	u_long ifi_opackets;
    91  	u_long ifi_oerrors;
    92  	u_long ifi_collisions;
    93  	u_long ifi_ibytes;
    94  	u_long ifi_obytes;
    95  	u_long ifi_imcasts;
    96  	u_long ifi_omcasts;
    97  	u_long ifi_iqdrops;
    98  	u_long ifi_noproto;
    99  	u_long ifi_hwassist;
   100  	time_t __ifi_epoch;
   101  	struct timeval __ifi_lastchange;
   102  };
   103  
   104  struct if_data_freebsd10 {
   105  	u_char ifi_type;
   106  	u_char ifi_physical;
   107  	u_char ifi_addrlen;
   108  	u_char ifi_hdrlen;
   109  	u_char ifi_link_state;
   110  	u_char ifi_vhid;
   111  	u_char ifi_baudrate_pf;
   112  	u_char ifi_datalen;
   113  	u_long ifi_mtu;
   114  	u_long ifi_metric;
   115  	u_long ifi_baudrate;
   116  	u_long ifi_ipackets;
   117  	u_long ifi_ierrors;
   118  	u_long ifi_opackets;
   119  	u_long ifi_oerrors;
   120  	u_long ifi_collisions;
   121  	u_long ifi_ibytes;
   122  	u_long ifi_obytes;
   123  	u_long ifi_imcasts;
   124  	u_long ifi_omcasts;
   125  	u_long ifi_iqdrops;
   126  	u_long ifi_noproto;
   127  	uint64_t ifi_hwassist;
   128  	time_t __ifi_epoch;
   129  	struct timeval __ifi_lastchange;
   130  };
   131  
   132  struct if_data_freebsd11 {
   133  	uint8_t ifi_type;
   134  	uint8_t ifi_physical;
   135  	uint8_t ifi_addrlen;
   136  	uint8_t ifi_hdrlen;
   137  	uint8_t ifi_link_state;
   138  	uint8_t ifi_vhid;
   139  	uint16_t ifi_datalen;
   140  	uint32_t ifi_mtu;
   141  	uint32_t ifi_metric;
   142  	uint64_t ifi_baudrate;
   143  	uint64_t ifi_ipackets;
   144  	uint64_t ifi_ierrors;
   145  	uint64_t ifi_opackets;
   146  	uint64_t ifi_oerrors;
   147  	uint64_t ifi_collisions;
   148  	uint64_t ifi_ibytes;
   149  	uint64_t ifi_obytes;
   150  	uint64_t ifi_imcasts;
   151  	uint64_t ifi_omcasts;
   152  	uint64_t ifi_iqdrops;
   153  	uint64_t ifi_oqdrops;
   154  	uint64_t ifi_noproto;
   155  	uint64_t ifi_hwassist;
   156  	union {
   157  		time_t tt;
   158  		uint64_t ph;
   159  	} __ifi_epoch;
   160  	union {
   161  		struct timeval tv;
   162  		struct {
   163  			uint64_t ph1;
   164  			uint64_t ph2;
   165  		} ph;
   166  	} __ifi_lastchange;
   167  };
   168  
   169  struct if_msghdr_freebsd7 {
   170  	u_short ifm_msglen;
   171  	u_char ifm_version;
   172  	u_char ifm_type;
   173  	int ifm_addrs;
   174  	int ifm_flags;
   175  	u_short ifm_index;
   176  	struct if_data_freebsd7 ifm_data;
   177  };
   178  
   179  struct if_msghdr_freebsd8 {
   180  	u_short ifm_msglen;
   181  	u_char ifm_version;
   182  	u_char ifm_type;
   183  	int ifm_addrs;
   184  	int ifm_flags;
   185  	u_short ifm_index;
   186  	struct if_data_freebsd8 ifm_data;
   187  };
   188  
   189  struct if_msghdr_freebsd9 {
   190  	u_short ifm_msglen;
   191  	u_char ifm_version;
   192  	u_char ifm_type;
   193  	int ifm_addrs;
   194  	int ifm_flags;
   195  	u_short ifm_index;
   196  	struct if_data_freebsd9 ifm_data;
   197  };
   198  
   199  struct if_msghdr_freebsd10 {
   200  	u_short ifm_msglen;
   201  	u_char ifm_version;
   202  	u_char ifm_type;
   203  	int ifm_addrs;
   204  	int ifm_flags;
   205  	u_short ifm_index;
   206  	struct if_data_freebsd10 ifm_data;
   207  };
   208  
   209  struct if_msghdr_freebsd11 {
   210  	u_short ifm_msglen;
   211  	u_char ifm_version;
   212  	u_char ifm_type;
   213  	int ifm_addrs;
   214  	int ifm_flags;
   215  	u_short ifm_index;
   216  	struct if_data_freebsd11 ifm_data;
   217  };
   218  */
   219  import "C"
   220  
   221  const (
   222  	sysAF_UNSPEC = C.AF_UNSPEC
   223  	sysAF_INET   = C.AF_INET
   224  	sysAF_ROUTE  = C.AF_ROUTE
   225  	sysAF_LINK   = C.AF_LINK
   226  	sysAF_INET6  = C.AF_INET6
   227  
   228  	sysSOCK_RAW = C.SOCK_RAW
   229  
   230  	sysNET_RT_DUMP     = C.NET_RT_DUMP
   231  	sysNET_RT_FLAGS    = C.NET_RT_FLAGS
   232  	sysNET_RT_IFLIST   = C.NET_RT_IFLIST
   233  	sysNET_RT_IFMALIST = C.NET_RT_IFMALIST
   234  	sysNET_RT_IFLISTL  = C.NET_RT_IFLISTL
   235  )
   236  
   237  const (
   238  	sysCTL_MAXNAME = C.CTL_MAXNAME
   239  
   240  	sysCTL_UNSPEC   = C.CTL_UNSPEC
   241  	sysCTL_KERN     = C.CTL_KERN
   242  	sysCTL_VM       = C.CTL_VM
   243  	sysCTL_VFS      = C.CTL_VFS
   244  	sysCTL_NET      = C.CTL_NET
   245  	sysCTL_DEBUG    = C.CTL_DEBUG
   246  	sysCTL_HW       = C.CTL_HW
   247  	sysCTL_MACHDEP  = C.CTL_MACHDEP
   248  	sysCTL_USER     = C.CTL_USER
   249  	sysCTL_P1003_1B = C.CTL_P1003_1B
   250  )
   251  
   252  const (
   253  	sysRTM_VERSION = C.RTM_VERSION
   254  
   255  	sysRTM_ADD        = C.RTM_ADD
   256  	sysRTM_DELETE     = C.RTM_DELETE
   257  	sysRTM_CHANGE     = C.RTM_CHANGE
   258  	sysRTM_GET        = C.RTM_GET
   259  	sysRTM_LOSING     = C.RTM_LOSING
   260  	sysRTM_REDIRECT   = C.RTM_REDIRECT
   261  	sysRTM_MISS       = C.RTM_MISS
   262  	sysRTM_LOCK       = C.RTM_LOCK
   263  	sysRTM_RESOLVE    = C.RTM_RESOLVE
   264  	sysRTM_NEWADDR    = C.RTM_NEWADDR
   265  	sysRTM_DELADDR    = C.RTM_DELADDR
   266  	sysRTM_IFINFO     = C.RTM_IFINFO
   267  	sysRTM_NEWMADDR   = C.RTM_NEWMADDR
   268  	sysRTM_DELMADDR   = C.RTM_DELMADDR
   269  	sysRTM_IFANNOUNCE = C.RTM_IFANNOUNCE
   270  	sysRTM_IEEE80211  = C.RTM_IEEE80211
   271  
   272  	sysRTA_DST     = C.RTA_DST
   273  	sysRTA_GATEWAY = C.RTA_GATEWAY
   274  	sysRTA_NETMASK = C.RTA_NETMASK
   275  	sysRTA_GENMASK = C.RTA_GENMASK
   276  	sysRTA_IFP     = C.RTA_IFP
   277  	sysRTA_IFA     = C.RTA_IFA
   278  	sysRTA_AUTHOR  = C.RTA_AUTHOR
   279  	sysRTA_BRD     = C.RTA_BRD
   280  
   281  	sysRTAX_DST     = C.RTAX_DST
   282  	sysRTAX_GATEWAY = C.RTAX_GATEWAY
   283  	sysRTAX_NETMASK = C.RTAX_NETMASK
   284  	sysRTAX_GENMASK = C.RTAX_GENMASK
   285  	sysRTAX_IFP     = C.RTAX_IFP
   286  	sysRTAX_IFA     = C.RTAX_IFA
   287  	sysRTAX_AUTHOR  = C.RTAX_AUTHOR
   288  	sysRTAX_BRD     = C.RTAX_BRD
   289  	sysRTAX_MAX     = C.RTAX_MAX
   290  )
   291  
   292  const (
   293  	sizeofIfMsghdrlFreeBSD10        = C.sizeof_struct_if_msghdrl
   294  	sizeofIfaMsghdrFreeBSD10        = C.sizeof_struct_ifa_msghdr
   295  	sizeofIfaMsghdrlFreeBSD10       = C.sizeof_struct_ifa_msghdrl
   296  	sizeofIfmaMsghdrFreeBSD10       = C.sizeof_struct_ifma_msghdr
   297  	sizeofIfAnnouncemsghdrFreeBSD10 = C.sizeof_struct_if_announcemsghdr
   298  
   299  	sizeofRtMsghdrFreeBSD10  = C.sizeof_struct_rt_msghdr
   300  	sizeofRtMetricsFreeBSD10 = C.sizeof_struct_rt_metrics
   301  
   302  	sizeofIfMsghdrFreeBSD7  = C.sizeof_struct_if_msghdr_freebsd7
   303  	sizeofIfMsghdrFreeBSD8  = C.sizeof_struct_if_msghdr_freebsd8
   304  	sizeofIfMsghdrFreeBSD9  = C.sizeof_struct_if_msghdr_freebsd9
   305  	sizeofIfMsghdrFreeBSD10 = C.sizeof_struct_if_msghdr_freebsd10
   306  	sizeofIfMsghdrFreeBSD11 = C.sizeof_struct_if_msghdr_freebsd11
   307  
   308  	sizeofIfDataFreeBSD7  = C.sizeof_struct_if_data_freebsd7
   309  	sizeofIfDataFreeBSD8  = C.sizeof_struct_if_data_freebsd8
   310  	sizeofIfDataFreeBSD9  = C.sizeof_struct_if_data_freebsd9
   311  	sizeofIfDataFreeBSD10 = C.sizeof_struct_if_data_freebsd10
   312  	sizeofIfDataFreeBSD11 = C.sizeof_struct_if_data_freebsd11
   313  
   314  	sizeofIfMsghdrlFreeBSD10Emu        = C.sizeof_struct_if_msghdrl
   315  	sizeofIfaMsghdrFreeBSD10Emu        = C.sizeof_struct_ifa_msghdr
   316  	sizeofIfaMsghdrlFreeBSD10Emu       = C.sizeof_struct_ifa_msghdrl
   317  	sizeofIfmaMsghdrFreeBSD10Emu       = C.sizeof_struct_ifma_msghdr
   318  	sizeofIfAnnouncemsghdrFreeBSD10Emu = C.sizeof_struct_if_announcemsghdr
   319  
   320  	sizeofRtMsghdrFreeBSD10Emu  = C.sizeof_struct_rt_msghdr
   321  	sizeofRtMetricsFreeBSD10Emu = C.sizeof_struct_rt_metrics
   322  
   323  	sizeofIfMsghdrFreeBSD7Emu  = C.sizeof_struct_if_msghdr_freebsd7
   324  	sizeofIfMsghdrFreeBSD8Emu  = C.sizeof_struct_if_msghdr_freebsd8
   325  	sizeofIfMsghdrFreeBSD9Emu  = C.sizeof_struct_if_msghdr_freebsd9
   326  	sizeofIfMsghdrFreeBSD10Emu = C.sizeof_struct_if_msghdr_freebsd10
   327  	sizeofIfMsghdrFreeBSD11Emu = C.sizeof_struct_if_msghdr_freebsd11
   328  
   329  	sizeofIfDataFreeBSD7Emu  = C.sizeof_struct_if_data_freebsd7
   330  	sizeofIfDataFreeBSD8Emu  = C.sizeof_struct_if_data_freebsd8
   331  	sizeofIfDataFreeBSD9Emu  = C.sizeof_struct_if_data_freebsd9
   332  	sizeofIfDataFreeBSD10Emu = C.sizeof_struct_if_data_freebsd10
   333  	sizeofIfDataFreeBSD11Emu = C.sizeof_struct_if_data_freebsd11
   334  
   335  	sizeofSockaddrStorage = C.sizeof_struct_sockaddr_storage
   336  	sizeofSockaddrInet    = C.sizeof_struct_sockaddr_in
   337  	sizeofSockaddrInet6   = C.sizeof_struct_sockaddr_in6
   338  )