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// +build ignore 6 7package route 8 9/* 10#include <sys/socket.h> 11#include <sys/sysctl.h> 12 13#include <net/if.h> 14#include <net/if_dl.h> 15#include <net/route.h> 16 17#include <netinet/in.h> 18 19struct ifa_msghdr_dfly4 { 20 u_short ifam_msglen; 21 u_char ifam_version; 22 u_char ifam_type; 23 int ifam_addrs; 24 int ifam_flags; 25 u_short ifam_index; 26 int ifam_metric; 27}; 28 29struct ifa_msghdr_dfly58 { 30 u_short ifam_msglen; 31 u_char ifam_version; 32 u_char ifam_type; 33 u_short ifam_index; 34 int ifam_flags; 35 int ifam_addrs; 36 int ifam_addrflags; 37 int ifam_metric; 38}; 39*/ 40import "C" 41 42const ( 43 sysAF_UNSPEC = C.AF_UNSPEC 44 sysAF_INET = C.AF_INET 45 sysAF_ROUTE = C.AF_ROUTE 46 sysAF_LINK = C.AF_LINK 47 sysAF_INET6 = C.AF_INET6 48 49 sysSOCK_RAW = C.SOCK_RAW 50 51 sysNET_RT_DUMP = C.NET_RT_DUMP 52 sysNET_RT_FLAGS = C.NET_RT_FLAGS 53 sysNET_RT_IFLIST = C.NET_RT_IFLIST 54 sysNET_RT_MAXID = C.NET_RT_MAXID 55) 56 57const ( 58 sysCTL_MAXNAME = C.CTL_MAXNAME 59 60 sysCTL_UNSPEC = C.CTL_UNSPEC 61 sysCTL_KERN = C.CTL_KERN 62 sysCTL_VM = C.CTL_VM 63 sysCTL_VFS = C.CTL_VFS 64 sysCTL_NET = C.CTL_NET 65 sysCTL_DEBUG = C.CTL_DEBUG 66 sysCTL_HW = C.CTL_HW 67 sysCTL_MACHDEP = C.CTL_MACHDEP 68 sysCTL_USER = C.CTL_USER 69 sysCTL_P1003_1B = C.CTL_P1003_1B 70 sysCTL_LWKT = C.CTL_LWKT 71 sysCTL_MAXID = C.CTL_MAXID 72) 73 74const ( 75 sysRTM_VERSION = C.RTM_VERSION 76 77 sysRTM_ADD = C.RTM_ADD 78 sysRTM_DELETE = C.RTM_DELETE 79 sysRTM_CHANGE = C.RTM_CHANGE 80 sysRTM_GET = C.RTM_GET 81 sysRTM_LOSING = C.RTM_LOSING 82 sysRTM_REDIRECT = C.RTM_REDIRECT 83 sysRTM_MISS = C.RTM_MISS 84 sysRTM_LOCK = C.RTM_LOCK 85 sysRTM_RESOLVE = C.RTM_RESOLVE 86 sysRTM_NEWADDR = C.RTM_NEWADDR 87 sysRTM_DELADDR = C.RTM_DELADDR 88 sysRTM_IFINFO = C.RTM_IFINFO 89 sysRTM_NEWMADDR = C.RTM_NEWMADDR 90 sysRTM_DELMADDR = C.RTM_DELMADDR 91 sysRTM_IFANNOUNCE = C.RTM_IFANNOUNCE 92 sysRTM_IEEE80211 = C.RTM_IEEE80211 93 94 sysRTA_DST = C.RTA_DST 95 sysRTA_GATEWAY = C.RTA_GATEWAY 96 sysRTA_NETMASK = C.RTA_NETMASK 97 sysRTA_GENMASK = C.RTA_GENMASK 98 sysRTA_IFP = C.RTA_IFP 99 sysRTA_IFA = C.RTA_IFA 100 sysRTA_AUTHOR = C.RTA_AUTHOR 101 sysRTA_BRD = C.RTA_BRD 102 sysRTA_MPLS1 = C.RTA_MPLS1 103 sysRTA_MPLS2 = C.RTA_MPLS2 104 sysRTA_MPLS3 = C.RTA_MPLS3 105 106 sysRTAX_DST = C.RTAX_DST 107 sysRTAX_GATEWAY = C.RTAX_GATEWAY 108 sysRTAX_NETMASK = C.RTAX_NETMASK 109 sysRTAX_GENMASK = C.RTAX_GENMASK 110 sysRTAX_IFP = C.RTAX_IFP 111 sysRTAX_IFA = C.RTAX_IFA 112 sysRTAX_AUTHOR = C.RTAX_AUTHOR 113 sysRTAX_BRD = C.RTAX_BRD 114 sysRTAX_MPLS1 = C.RTAX_MPLS1 115 sysRTAX_MPLS2 = C.RTAX_MPLS2 116 sysRTAX_MPLS3 = C.RTAX_MPLS3 117 sysRTAX_MAX = C.RTAX_MAX 118) 119 120const ( 121 sizeofIfMsghdrDragonFlyBSD4 = C.sizeof_struct_if_msghdr 122 sizeofIfaMsghdrDragonFlyBSD4 = C.sizeof_struct_ifa_msghdr_dfly4 123 sizeofIfmaMsghdrDragonFlyBSD4 = C.sizeof_struct_ifma_msghdr 124 sizeofIfAnnouncemsghdrDragonFlyBSD4 = C.sizeof_struct_if_announcemsghdr 125 126 sizeofIfaMsghdrDragonFlyBSD58 = C.sizeof_struct_ifa_msghdr_dfly58 127 128 sizeofRtMsghdrDragonFlyBSD4 = C.sizeof_struct_rt_msghdr 129 sizeofRtMetricsDragonFlyBSD4 = C.sizeof_struct_rt_metrics 130 131 sizeofSockaddrStorage = C.sizeof_struct_sockaddr_storage 132 sizeofSockaddrInet = C.sizeof_struct_sockaddr_in 133 sizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 134) 135