1951a39d68df598db08dfced8b4707755864a0492Ying Wang/**************************************************************************** 2951a39d68df598db08dfced8b4707755864a0492Ying Wang **************************************************************************** 3951a39d68df598db08dfced8b4707755864a0492Ying Wang *** 4951a39d68df598db08dfced8b4707755864a0492Ying Wang *** This header was automatically generated from a Linux kernel header 5951a39d68df598db08dfced8b4707755864a0492Ying Wang *** of the same name, to make information necessary for userspace to 6951a39d68df598db08dfced8b4707755864a0492Ying Wang *** call into the kernel available to libc. It contains only constants, 7951a39d68df598db08dfced8b4707755864a0492Ying Wang *** structures, and macros generated from the original header, and thus, 8951a39d68df598db08dfced8b4707755864a0492Ying Wang *** contains no copyrightable information. 9951a39d68df598db08dfced8b4707755864a0492Ying Wang *** 10951a39d68df598db08dfced8b4707755864a0492Ying Wang **************************************************************************** 11951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************/ 12951a39d68df598db08dfced8b4707755864a0492Ying Wang#ifndef _LINUX_IF_H 13951a39d68df598db08dfced8b4707755864a0492Ying Wang#define _LINUX_IF_H 14951a39d68df598db08dfced8b4707755864a0492Ying Wang 15951a39d68df598db08dfced8b4707755864a0492Ying Wang#include <linux/types.h> 16951a39d68df598db08dfced8b4707755864a0492Ying Wang#include <linux/socket.h> 17951a39d68df598db08dfced8b4707755864a0492Ying Wang#include <linux/compiler.h> 18951a39d68df598db08dfced8b4707755864a0492Ying Wang 19951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IFNAMSIZ 16 20951a39d68df598db08dfced8b4707755864a0492Ying Wang#include <linux/hdlc/ioctl.h> 21951a39d68df598db08dfced8b4707755864a0492Ying Wang 22951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IFF_UP 0x1 23951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IFF_BROADCAST 0x2 24951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IFF_DEBUG 0x4 25951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IFF_LOOPBACK 0x8 26951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IFF_POINTOPOINT 0x10 27951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IFF_NOTRAILERS 0x20 28951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IFF_RUNNING 0x40 29951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IFF_NOARP 0x80 30951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IFF_PROMISC 0x100 31951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IFF_ALLMULTI 0x200 32951a39d68df598db08dfced8b4707755864a0492Ying Wang 33951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IFF_MASTER 0x400 34951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IFF_SLAVE 0x800 35951a39d68df598db08dfced8b4707755864a0492Ying Wang 36951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IFF_MULTICAST 0x1000 37951a39d68df598db08dfced8b4707755864a0492Ying Wang 38951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IFF_PORTSEL 0x2000 39951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IFF_AUTOMEDIA 0x4000 40951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IFF_DYNAMIC 0x8000 41951a39d68df598db08dfced8b4707755864a0492Ying Wang 42951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IFF_LOWER_UP 0x10000 43951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IFF_DORMANT 0x20000 44951a39d68df598db08dfced8b4707755864a0492Ying Wang 45951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IFF_VOLATILE (IFF_LOOPBACK|IFF_POINTOPOINT|IFF_BROADCAST| IFF_MASTER|IFF_SLAVE|IFF_RUNNING|IFF_LOWER_UP|IFF_DORMANT) 46951a39d68df598db08dfced8b4707755864a0492Ying Wang 47951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IFF_802_1Q_VLAN 0x1 48951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IFF_EBRIDGE 0x2 49951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IFF_SLAVE_INACTIVE 0x4 50951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IFF_MASTER_8023AD 0x8 51951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IFF_MASTER_ALB 0x10 52951a39d68df598db08dfced8b4707755864a0492Ying Wang 53951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IF_GET_IFACE 0x0001 54951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IF_GET_PROTO 0x0002 55951a39d68df598db08dfced8b4707755864a0492Ying Wang 56951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IF_IFACE_V35 0x1000 57951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IF_IFACE_V24 0x1001 58951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IF_IFACE_X21 0x1002 59951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IF_IFACE_T1 0x1003 60951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IF_IFACE_E1 0x1004 61951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IF_IFACE_SYNC_SERIAL 0x1005 62951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IF_IFACE_X21D 0x1006 63951a39d68df598db08dfced8b4707755864a0492Ying Wang 64951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IF_PROTO_HDLC 0x2000 65951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IF_PROTO_PPP 0x2001 66951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IF_PROTO_CISCO 0x2002 67951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IF_PROTO_FR 0x2003 68951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IF_PROTO_FR_ADD_PVC 0x2004 69951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IF_PROTO_FR_DEL_PVC 0x2005 70951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IF_PROTO_X25 0x2006 71951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IF_PROTO_HDLC_ETH 0x2007 72951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IF_PROTO_FR_ADD_ETH_PVC 0x2008 73951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IF_PROTO_FR_DEL_ETH_PVC 0x2009 74951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IF_PROTO_FR_PVC 0x200A 75951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IF_PROTO_FR_ETH_PVC 0x200B 76951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IF_PROTO_RAW 0x200C 77951a39d68df598db08dfced8b4707755864a0492Ying Wang 78951a39d68df598db08dfced8b4707755864a0492Ying Wangenum { 79951a39d68df598db08dfced8b4707755864a0492Ying Wang IF_OPER_UNKNOWN, 80951a39d68df598db08dfced8b4707755864a0492Ying Wang IF_OPER_NOTPRESENT, 81951a39d68df598db08dfced8b4707755864a0492Ying Wang IF_OPER_DOWN, 82951a39d68df598db08dfced8b4707755864a0492Ying Wang IF_OPER_LOWERLAYERDOWN, 83951a39d68df598db08dfced8b4707755864a0492Ying Wang IF_OPER_TESTING, 84951a39d68df598db08dfced8b4707755864a0492Ying Wang IF_OPER_DORMANT, 85951a39d68df598db08dfced8b4707755864a0492Ying Wang IF_OPER_UP, 86951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 87951a39d68df598db08dfced8b4707755864a0492Ying Wang 88951a39d68df598db08dfced8b4707755864a0492Ying Wangenum { 89951a39d68df598db08dfced8b4707755864a0492Ying Wang IF_LINK_MODE_DEFAULT, 90951a39d68df598db08dfced8b4707755864a0492Ying Wang IF_LINK_MODE_DORMANT, 91951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 92951a39d68df598db08dfced8b4707755864a0492Ying Wang 93951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct ifmap 94951a39d68df598db08dfced8b4707755864a0492Ying Wang{ 95951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned long mem_start; 96951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned long mem_end; 97951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned short base_addr; 98951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned char irq; 99951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned char dma; 100951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned char port; 101951a39d68df598db08dfced8b4707755864a0492Ying Wang 102951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 103951a39d68df598db08dfced8b4707755864a0492Ying Wang 104951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct if_settings 105951a39d68df598db08dfced8b4707755864a0492Ying Wang{ 106951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int type; 107951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int size; 108951a39d68df598db08dfced8b4707755864a0492Ying Wang union { 109951a39d68df598db08dfced8b4707755864a0492Ying Wang 110951a39d68df598db08dfced8b4707755864a0492Ying Wang raw_hdlc_proto __user *raw_hdlc; 111951a39d68df598db08dfced8b4707755864a0492Ying Wang cisco_proto __user *cisco; 112951a39d68df598db08dfced8b4707755864a0492Ying Wang fr_proto __user *fr; 113951a39d68df598db08dfced8b4707755864a0492Ying Wang fr_proto_pvc __user *fr_pvc; 114951a39d68df598db08dfced8b4707755864a0492Ying Wang fr_proto_pvc_info __user *fr_pvc_info; 115951a39d68df598db08dfced8b4707755864a0492Ying Wang 116951a39d68df598db08dfced8b4707755864a0492Ying Wang sync_serial_settings __user *sync; 117951a39d68df598db08dfced8b4707755864a0492Ying Wang te1_settings __user *te1; 118951a39d68df598db08dfced8b4707755864a0492Ying Wang } ifs_ifsu; 119951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 120951a39d68df598db08dfced8b4707755864a0492Ying Wang 121951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct ifreq 122951a39d68df598db08dfced8b4707755864a0492Ying Wang{ 123951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IFHWADDRLEN 6 124951a39d68df598db08dfced8b4707755864a0492Ying Wang union 125951a39d68df598db08dfced8b4707755864a0492Ying Wang { 126951a39d68df598db08dfced8b4707755864a0492Ying Wang char ifrn_name[IFNAMSIZ]; 127951a39d68df598db08dfced8b4707755864a0492Ying Wang } ifr_ifrn; 128951a39d68df598db08dfced8b4707755864a0492Ying Wang 129951a39d68df598db08dfced8b4707755864a0492Ying Wang union { 130951a39d68df598db08dfced8b4707755864a0492Ying Wang struct sockaddr ifru_addr; 131951a39d68df598db08dfced8b4707755864a0492Ying Wang struct sockaddr ifru_dstaddr; 132951a39d68df598db08dfced8b4707755864a0492Ying Wang struct sockaddr ifru_broadaddr; 133951a39d68df598db08dfced8b4707755864a0492Ying Wang struct sockaddr ifru_netmask; 134951a39d68df598db08dfced8b4707755864a0492Ying Wang struct sockaddr ifru_hwaddr; 135951a39d68df598db08dfced8b4707755864a0492Ying Wang short ifru_flags; 136951a39d68df598db08dfced8b4707755864a0492Ying Wang int ifru_ivalue; 137951a39d68df598db08dfced8b4707755864a0492Ying Wang int ifru_mtu; 138951a39d68df598db08dfced8b4707755864a0492Ying Wang struct ifmap ifru_map; 139951a39d68df598db08dfced8b4707755864a0492Ying Wang char ifru_slave[IFNAMSIZ]; 140951a39d68df598db08dfced8b4707755864a0492Ying Wang char ifru_newname[IFNAMSIZ]; 141951a39d68df598db08dfced8b4707755864a0492Ying Wang void __user * ifru_data; 142951a39d68df598db08dfced8b4707755864a0492Ying Wang struct if_settings ifru_settings; 143951a39d68df598db08dfced8b4707755864a0492Ying Wang } ifr_ifru; 144951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 145951a39d68df598db08dfced8b4707755864a0492Ying Wang 146951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ifr_name ifr_ifrn.ifrn_name 147951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ifr_hwaddr ifr_ifru.ifru_hwaddr 148951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ifr_addr ifr_ifru.ifru_addr 149951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ifr_dstaddr ifr_ifru.ifru_dstaddr 150951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ifr_broadaddr ifr_ifru.ifru_broadaddr 151951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ifr_netmask ifr_ifru.ifru_netmask 152951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ifr_flags ifr_ifru.ifru_flags 153951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ifr_metric ifr_ifru.ifru_ivalue 154951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ifr_mtu ifr_ifru.ifru_mtu 155951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ifr_map ifr_ifru.ifru_map 156951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ifr_slave ifr_ifru.ifru_slave 157951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ifr_data ifr_ifru.ifru_data 158951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ifr_ifindex ifr_ifru.ifru_ivalue 159951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ifr_bandwidth ifr_ifru.ifru_ivalue 160951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ifr_qlen ifr_ifru.ifru_ivalue 161951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ifr_newname ifr_ifru.ifru_newname 162951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ifr_settings ifr_ifru.ifru_settings 163951a39d68df598db08dfced8b4707755864a0492Ying Wang 164951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct ifconf 165951a39d68df598db08dfced8b4707755864a0492Ying Wang{ 166951a39d68df598db08dfced8b4707755864a0492Ying Wang int ifc_len; 167951a39d68df598db08dfced8b4707755864a0492Ying Wang union 168951a39d68df598db08dfced8b4707755864a0492Ying Wang { 169951a39d68df598db08dfced8b4707755864a0492Ying Wang char __user *ifcu_buf; 170951a39d68df598db08dfced8b4707755864a0492Ying Wang struct ifreq __user *ifcu_req; 171951a39d68df598db08dfced8b4707755864a0492Ying Wang } ifc_ifcu; 172951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 173951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ifc_buf ifc_ifcu.ifcu_buf 174951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ifc_req ifc_ifcu.ifcu_req 175951a39d68df598db08dfced8b4707755864a0492Ying Wang 176951a39d68df598db08dfced8b4707755864a0492Ying Wang#endif 177