// Copyright 2016 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // +build ignore package route /* #include <sys/socket.h> #include <sys/sysctl.h> #include <net/if.h> #include <net/if_dl.h> #include <net/route.h> #include <netinet/in.h> struct if_data_freebsd7 { u_char ifi_type; u_char ifi_physical; u_char ifi_addrlen; u_char ifi_hdrlen; u_char ifi_link_state; u_char ifi_spare_char1; u_char ifi_spare_char2; u_char ifi_datalen; u_long ifi_mtu; u_long ifi_metric; u_long ifi_baudrate; u_long ifi_ipackets; u_long ifi_ierrors; u_long ifi_opackets; u_long ifi_oerrors; u_long ifi_collisions; u_long ifi_ibytes; u_long ifi_obytes; u_long ifi_imcasts; u_long ifi_omcasts; u_long ifi_iqdrops; u_long ifi_noproto; u_long ifi_hwassist; time_t __ifi_epoch; struct timeval __ifi_lastchange; }; struct if_data_freebsd8 { u_char ifi_type; u_char ifi_physical; u_char ifi_addrlen; u_char ifi_hdrlen; u_char ifi_link_state; u_char ifi_spare_char1; u_char ifi_spare_char2; u_char ifi_datalen; u_long ifi_mtu; u_long ifi_metric; u_long ifi_baudrate; u_long ifi_ipackets; u_long ifi_ierrors; u_long ifi_opackets; u_long ifi_oerrors; u_long ifi_collisions; u_long ifi_ibytes; u_long ifi_obytes; u_long ifi_imcasts; u_long ifi_omcasts; u_long ifi_iqdrops; u_long ifi_noproto; u_long ifi_hwassist; time_t __ifi_epoch; struct timeval __ifi_lastchange; }; struct if_data_freebsd9 { u_char ifi_type; u_char ifi_physical; u_char ifi_addrlen; u_char ifi_hdrlen; u_char ifi_link_state; u_char ifi_spare_char1; u_char ifi_spare_char2; u_char ifi_datalen; u_long ifi_mtu; u_long ifi_metric; u_long ifi_baudrate; u_long ifi_ipackets; u_long ifi_ierrors; u_long ifi_opackets; u_long ifi_oerrors; u_long ifi_collisions; u_long ifi_ibytes; u_long ifi_obytes; u_long ifi_imcasts; u_long ifi_omcasts; u_long ifi_iqdrops; u_long ifi_noproto; u_long ifi_hwassist; time_t __ifi_epoch; struct timeval __ifi_lastchange; }; struct if_data_freebsd10 { u_char ifi_type; u_char ifi_physical; u_char ifi_addrlen; u_char ifi_hdrlen; u_char ifi_link_state; u_char ifi_vhid; u_char ifi_baudrate_pf; u_char ifi_datalen; u_long ifi_mtu; u_long ifi_metric; u_long ifi_baudrate; u_long ifi_ipackets; u_long ifi_ierrors; u_long ifi_opackets; u_long ifi_oerrors; u_long ifi_collisions; u_long ifi_ibytes; u_long ifi_obytes; u_long ifi_imcasts; u_long ifi_omcasts; u_long ifi_iqdrops; u_long ifi_noproto; uint64_t ifi_hwassist; time_t __ifi_epoch; struct timeval __ifi_lastchange; }; struct if_data_freebsd11 { uint8_t ifi_type; uint8_t ifi_physical; uint8_t ifi_addrlen; uint8_t ifi_hdrlen; uint8_t ifi_link_state; uint8_t ifi_vhid; uint16_t ifi_datalen; uint32_t ifi_mtu; uint32_t ifi_metric; uint64_t ifi_baudrate; uint64_t ifi_ipackets; uint64_t ifi_ierrors; uint64_t ifi_opackets; uint64_t ifi_oerrors; uint64_t ifi_collisions; uint64_t ifi_ibytes; uint64_t ifi_obytes; uint64_t ifi_imcasts; uint64_t ifi_omcasts; uint64_t ifi_iqdrops; uint64_t ifi_oqdrops; uint64_t ifi_noproto; uint64_t ifi_hwassist; union { time_t tt; uint64_t ph; } __ifi_epoch; union { struct timeval tv; struct { uint64_t ph1; uint64_t ph2; } ph; } __ifi_lastchange; }; struct if_msghdr_freebsd7 { u_short ifm_msglen; u_char ifm_version; u_char ifm_type; int ifm_addrs; int ifm_flags; u_short ifm_index; struct if_data_freebsd7 ifm_data; }; struct if_msghdr_freebsd8 { u_short ifm_msglen; u_char ifm_version; u_char ifm_type; int ifm_addrs; int ifm_flags; u_short ifm_index; struct if_data_freebsd8 ifm_data; }; struct if_msghdr_freebsd9 { u_short ifm_msglen; u_char ifm_version; u_char ifm_type; int ifm_addrs; int ifm_flags; u_short ifm_index; struct if_data_freebsd9 ifm_data; }; struct if_msghdr_freebsd10 { u_short ifm_msglen; u_char ifm_version; u_char ifm_type; int ifm_addrs; int ifm_flags; u_short ifm_index; struct if_data_freebsd10 ifm_data; }; struct if_msghdr_freebsd11 { u_short ifm_msglen; u_char ifm_version; u_char ifm_type; int ifm_addrs; int ifm_flags; u_short ifm_index; struct if_data_freebsd11 ifm_data; }; */ import "C" const ( sysAF_UNSPEC = C.AF_UNSPEC sysAF_INET = C.AF_INET sysAF_ROUTE = C.AF_ROUTE sysAF_LINK = C.AF_LINK sysAF_INET6 = C.AF_INET6 sysSOCK_RAW = C.SOCK_RAW sysNET_RT_DUMP = C.NET_RT_DUMP sysNET_RT_FLAGS = C.NET_RT_FLAGS sysNET_RT_IFLIST = C.NET_RT_IFLIST sysNET_RT_IFMALIST = C.NET_RT_IFMALIST sysNET_RT_IFLISTL = C.NET_RT_IFLISTL ) const ( sysCTL_MAXNAME = C.CTL_MAXNAME sysCTL_UNSPEC = C.CTL_UNSPEC sysCTL_KERN = C.CTL_KERN sysCTL_VM = C.CTL_VM sysCTL_VFS = C.CTL_VFS sysCTL_NET = C.CTL_NET sysCTL_DEBUG = C.CTL_DEBUG sysCTL_HW = C.CTL_HW sysCTL_MACHDEP = C.CTL_MACHDEP sysCTL_USER = C.CTL_USER sysCTL_P1003_1B = C.CTL_P1003_1B ) const ( sysRTM_VERSION = C.RTM_VERSION sysRTM_ADD = C.RTM_ADD sysRTM_DELETE = C.RTM_DELETE sysRTM_CHANGE = C.RTM_CHANGE sysRTM_GET = C.RTM_GET sysRTM_LOSING = C.RTM_LOSING sysRTM_REDIRECT = C.RTM_REDIRECT sysRTM_MISS = C.RTM_MISS sysRTM_LOCK = C.RTM_LOCK sysRTM_RESOLVE = C.RTM_RESOLVE sysRTM_NEWADDR = C.RTM_NEWADDR sysRTM_DELADDR = C.RTM_DELADDR sysRTM_IFINFO = C.RTM_IFINFO sysRTM_NEWMADDR = C.RTM_NEWMADDR sysRTM_DELMADDR = C.RTM_DELMADDR sysRTM_IFANNOUNCE = C.RTM_IFANNOUNCE sysRTM_IEEE80211 = C.RTM_IEEE80211 sysRTA_DST = C.RTA_DST sysRTA_GATEWAY = C.RTA_GATEWAY sysRTA_NETMASK = C.RTA_NETMASK sysRTA_GENMASK = C.RTA_GENMASK sysRTA_IFP = C.RTA_IFP sysRTA_IFA = C.RTA_IFA sysRTA_AUTHOR = C.RTA_AUTHOR sysRTA_BRD = C.RTA_BRD sysRTAX_DST = C.RTAX_DST sysRTAX_GATEWAY = C.RTAX_GATEWAY sysRTAX_NETMASK = C.RTAX_NETMASK sysRTAX_GENMASK = C.RTAX_GENMASK sysRTAX_IFP = C.RTAX_IFP sysRTAX_IFA = C.RTAX_IFA sysRTAX_AUTHOR = C.RTAX_AUTHOR sysRTAX_BRD = C.RTAX_BRD sysRTAX_MAX = C.RTAX_MAX ) const ( sizeofIfMsghdrlFreeBSD10 = C.sizeof_struct_if_msghdrl sizeofIfaMsghdrFreeBSD10 = C.sizeof_struct_ifa_msghdr sizeofIfaMsghdrlFreeBSD10 = C.sizeof_struct_ifa_msghdrl sizeofIfmaMsghdrFreeBSD10 = C.sizeof_struct_ifma_msghdr sizeofIfAnnouncemsghdrFreeBSD10 = C.sizeof_struct_if_announcemsghdr sizeofRtMsghdrFreeBSD10 = C.sizeof_struct_rt_msghdr sizeofRtMetricsFreeBSD10 = C.sizeof_struct_rt_metrics sizeofIfMsghdrFreeBSD7 = C.sizeof_struct_if_msghdr_freebsd7 sizeofIfMsghdrFreeBSD8 = C.sizeof_struct_if_msghdr_freebsd8 sizeofIfMsghdrFreeBSD9 = C.sizeof_struct_if_msghdr_freebsd9 sizeofIfMsghdrFreeBSD10 = C.sizeof_struct_if_msghdr_freebsd10 sizeofIfMsghdrFreeBSD11 = C.sizeof_struct_if_msghdr_freebsd11 sizeofIfDataFreeBSD7 = C.sizeof_struct_if_data_freebsd7 sizeofIfDataFreeBSD8 = C.sizeof_struct_if_data_freebsd8 sizeofIfDataFreeBSD9 = C.sizeof_struct_if_data_freebsd9 sizeofIfDataFreeBSD10 = C.sizeof_struct_if_data_freebsd10 sizeofIfDataFreeBSD11 = C.sizeof_struct_if_data_freebsd11 sizeofIfMsghdrlFreeBSD10Emu = C.sizeof_struct_if_msghdrl sizeofIfaMsghdrFreeBSD10Emu = C.sizeof_struct_ifa_msghdr sizeofIfaMsghdrlFreeBSD10Emu = C.sizeof_struct_ifa_msghdrl sizeofIfmaMsghdrFreeBSD10Emu = C.sizeof_struct_ifma_msghdr sizeofIfAnnouncemsghdrFreeBSD10Emu = C.sizeof_struct_if_announcemsghdr sizeofRtMsghdrFreeBSD10Emu = C.sizeof_struct_rt_msghdr sizeofRtMetricsFreeBSD10Emu = C.sizeof_struct_rt_metrics sizeofIfMsghdrFreeBSD7Emu = C.sizeof_struct_if_msghdr_freebsd7 sizeofIfMsghdrFreeBSD8Emu = C.sizeof_struct_if_msghdr_freebsd8 sizeofIfMsghdrFreeBSD9Emu = C.sizeof_struct_if_msghdr_freebsd9 sizeofIfMsghdrFreeBSD10Emu = C.sizeof_struct_if_msghdr_freebsd10 sizeofIfMsghdrFreeBSD11Emu = C.sizeof_struct_if_msghdr_freebsd11 sizeofIfDataFreeBSD7Emu = C.sizeof_struct_if_data_freebsd7 sizeofIfDataFreeBSD8Emu = C.sizeof_struct_if_data_freebsd8 sizeofIfDataFreeBSD9Emu = C.sizeof_struct_if_data_freebsd9 sizeofIfDataFreeBSD10Emu = C.sizeof_struct_if_data_freebsd10 sizeofIfDataFreeBSD11Emu = C.sizeof_struct_if_data_freebsd11 sizeofSockaddrStorage = C.sizeof_struct_sockaddr_storage sizeofSockaddrInet = C.sizeof_struct_sockaddr_in sizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 )