1 /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ 2 /* 3 * INET An implementation of the TCP/IP protocol suite for the LINUX 4 * operating system. INET is implemented using the BSD Socket 5 * interface as the means of communication with the user level. 6 * 7 * Definitions for the Interfaces handler. 8 * 9 * Version: @(#)dev.h 1.0.10 08/12/93 10 * 11 * Authors: Ross Biro 12 * Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG> 13 * Corey Minyard <wf-rch!minyard@relay.EU.net> 14 * Donald J. Becker, <becker@cesdis.gsfc.nasa.gov> 15 * Alan Cox, <alan@lxorguk.ukuu.org.uk> 16 * Bjorn Ekwall. <bj0rn@blox.se> 17 * Pekka Riikonen <priikone@poseidon.pspt.fi> 18 * 19 * This program is free software; you can redistribute it and/or 20 * modify it under the terms of the GNU General Public License 21 * as published by the Free Software Foundation; either version 22 * 2 of the License, or (at your option) any later version. 23 * 24 * Moved to /usr/include/linux for NET3 25 */ 26 #ifndef _UAPI_LINUX_NETDEVICE_H 27 #define _UAPI_LINUX_NETDEVICE_H 28 29 #include <linux/if.h> 30 #include <linux/if_ether.h> 31 #include <linux/if_packet.h> 32 #include <linux/if_link.h> 33 34 35 #define MAX_ADDR_LEN 32 /* Largest hardware address length */ 36 37 /* Initial net device group. All devices belong to group 0 by default. */ 38 #define INIT_NETDEV_GROUP 0 39 40 41 /* interface name assignment types (sysfs name_assign_type attribute) */ 42 #define NET_NAME_UNKNOWN 0 /* unknown origin (not exposed to userspace) */ 43 #define NET_NAME_ENUM 1 /* enumerated by kernel */ 44 #define NET_NAME_PREDICTABLE 2 /* predictably named by the kernel */ 45 #define NET_NAME_USER 3 /* provided by user-space */ 46 #define NET_NAME_RENAMED 4 /* renamed by user-space */ 47 48 /* Media selection options. */ 49 enum { 50 IF_PORT_UNKNOWN = 0, 51 IF_PORT_10BASE2, 52 IF_PORT_10BASET, 53 IF_PORT_AUI, 54 IF_PORT_100BASET, 55 IF_PORT_100BASETX, 56 IF_PORT_100BASEFX 57 }; 58 59 /* hardware address assignment types */ 60 #define NET_ADDR_PERM 0 /* address is permanent (default) */ 61 #define NET_ADDR_RANDOM 1 /* address is generated randomly */ 62 #define NET_ADDR_STOLEN 2 /* address is stolen from other device */ 63 #define NET_ADDR_SET 3 /* address is set using 64 * dev_set_mac_address() */ 65 66 #endif /* _UAPI_LINUX_NETDEVICE_H */ 67