Home | History | Annotate | Download | only in lif
      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 
      7 // +godefs map struct_in_addr [4]byte /* in_addr */
      8 // +godefs map struct_in6_addr [16]byte /* in6_addr */
      9 
     10 package lif
     11 
     12 /*
     13 #include <sys/socket.h>
     14 #include <sys/sockio.h>
     15 
     16 #include <net/if.h>
     17 #include <net/if_types.h>
     18 */
     19 import "C"
     20 
     21 const (
     22 	sysAF_UNSPEC = C.AF_UNSPEC
     23 	sysAF_INET   = C.AF_INET
     24 	sysAF_INET6  = C.AF_INET6
     25 
     26 	sysSOCK_DGRAM = C.SOCK_DGRAM
     27 )
     28 
     29 type sockaddrStorage C.struct_sockaddr_storage
     30 
     31 const (
     32 	sysLIFC_NOXMIT          = C.LIFC_NOXMIT
     33 	sysLIFC_EXTERNAL_SOURCE = C.LIFC_EXTERNAL_SOURCE
     34 	sysLIFC_TEMPORARY       = C.LIFC_TEMPORARY
     35 	sysLIFC_ALLZONES        = C.LIFC_ALLZONES
     36 	sysLIFC_UNDER_IPMP      = C.LIFC_UNDER_IPMP
     37 	sysLIFC_ENABLED         = C.LIFC_ENABLED
     38 
     39 	sysSIOCGLIFADDR    = C.SIOCGLIFADDR
     40 	sysSIOCGLIFDSTADDR = C.SIOCGLIFDSTADDR
     41 	sysSIOCGLIFFLAGS   = C.SIOCGLIFFLAGS
     42 	sysSIOCGLIFMTU     = C.SIOCGLIFMTU
     43 	sysSIOCGLIFNETMASK = C.SIOCGLIFNETMASK
     44 	sysSIOCGLIFMETRIC  = C.SIOCGLIFMETRIC
     45 	sysSIOCGLIFNUM     = C.SIOCGLIFNUM
     46 	sysSIOCGLIFINDEX   = C.SIOCGLIFINDEX
     47 	sysSIOCGLIFSUBNET  = C.SIOCGLIFSUBNET
     48 	sysSIOCGLIFLNKINFO = C.SIOCGLIFLNKINFO
     49 	sysSIOCGLIFCONF    = C.SIOCGLIFCONF
     50 	sysSIOCGLIFHWADDR  = C.SIOCGLIFHWADDR
     51 )
     52 
     53 const (
     54 	sysIFF_UP          = C.IFF_UP
     55 	sysIFF_BROADCAST   = C.IFF_BROADCAST
     56 	sysIFF_DEBUG       = C.IFF_DEBUG
     57 	sysIFF_LOOPBACK    = C.IFF_LOOPBACK
     58 	sysIFF_POINTOPOINT = C.IFF_POINTOPOINT
     59 	sysIFF_NOTRAILERS  = C.IFF_NOTRAILERS
     60 	sysIFF_RUNNING     = C.IFF_RUNNING
     61 	sysIFF_NOARP       = C.IFF_NOARP
     62 	sysIFF_PROMISC     = C.IFF_PROMISC
     63 	sysIFF_ALLMULTI    = C.IFF_ALLMULTI
     64 	sysIFF_INTELLIGENT = C.IFF_INTELLIGENT
     65 	sysIFF_MULTICAST   = C.IFF_MULTICAST
     66 	sysIFF_MULTI_BCAST = C.IFF_MULTI_BCAST
     67 	sysIFF_UNNUMBERED  = C.IFF_UNNUMBERED
     68 	sysIFF_PRIVATE     = C.IFF_PRIVATE
     69 )
     70 
     71 const (
     72 	sizeofLifnum       = C.sizeof_struct_lifnum
     73 	sizeofLifreq       = C.sizeof_struct_lifreq
     74 	sizeofLifconf      = C.sizeof_struct_lifconf
     75 	sizeofLifIfinfoReq = C.sizeof_struct_lif_ifinfo_req
     76 )
     77 
     78 type sysLifnum C.struct_lifnum
     79 
     80 type lifreq C.struct_lifreq
     81 
     82 type lifconf C.struct_lifconf
     83 
     84 type lifIfinfoReq C.struct_lif_ifinfo_req
     85 
     86 const (
     87 	sysIFT_IPV4 = C.IFT_IPV4
     88 	sysIFT_IPV6 = C.IFT_IPV6
     89 	sysIFT_6TO4 = C.IFT_6TO4
     90 )
     91