netdevice.h (2268B)
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. */ 49enum { 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 */