1*e2be04c7SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ 2607ca46eSDavid Howells /* 3607ca46eSDavid Howells * INET An implementation of the TCP/IP protocol suite for the LINUX 4607ca46eSDavid Howells * operating system. INET is implemented using the BSD Socket 5607ca46eSDavid Howells * interface as the means of communication with the user level. 6607ca46eSDavid Howells * 7607ca46eSDavid Howells * Definitions for the Interfaces handler. 8607ca46eSDavid Howells * 9607ca46eSDavid Howells * Version: @(#)dev.h 1.0.10 08/12/93 10607ca46eSDavid Howells * 11607ca46eSDavid Howells * Authors: Ross Biro 12607ca46eSDavid Howells * Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG> 13607ca46eSDavid Howells * Corey Minyard <wf-rch!minyard@relay.EU.net> 14607ca46eSDavid Howells * Donald J. Becker, <becker@cesdis.gsfc.nasa.gov> 15607ca46eSDavid Howells * Alan Cox, <alan@lxorguk.ukuu.org.uk> 16607ca46eSDavid Howells * Bjorn Ekwall. <bj0rn@blox.se> 17607ca46eSDavid Howells * Pekka Riikonen <priikone@poseidon.pspt.fi> 18607ca46eSDavid Howells * 19607ca46eSDavid Howells * This program is free software; you can redistribute it and/or 20607ca46eSDavid Howells * modify it under the terms of the GNU General Public License 21607ca46eSDavid Howells * as published by the Free Software Foundation; either version 22607ca46eSDavid Howells * 2 of the License, or (at your option) any later version. 23607ca46eSDavid Howells * 24607ca46eSDavid Howells * Moved to /usr/include/linux for NET3 25607ca46eSDavid Howells */ 26607ca46eSDavid Howells #ifndef _UAPI_LINUX_NETDEVICE_H 27607ca46eSDavid Howells #define _UAPI_LINUX_NETDEVICE_H 28607ca46eSDavid Howells 29607ca46eSDavid Howells #include <linux/if.h> 30607ca46eSDavid Howells #include <linux/if_ether.h> 31607ca46eSDavid Howells #include <linux/if_packet.h> 32607ca46eSDavid Howells #include <linux/if_link.h> 33607ca46eSDavid Howells 34607ca46eSDavid Howells 35607ca46eSDavid Howells #define MAX_ADDR_LEN 32 /* Largest hardware address length */ 36607ca46eSDavid Howells 37607ca46eSDavid Howells /* Initial net device group. All devices belong to group 0 by default. */ 38607ca46eSDavid Howells #define INIT_NETDEV_GROUP 0 39607ca46eSDavid Howells 40607ca46eSDavid Howells 41685343fcSTom Gundersen /* interface name assignment types (sysfs name_assign_type attribute) */ 42685343fcSTom Gundersen #define NET_NAME_UNKNOWN 0 /* unknown origin (not exposed to userspace) */ 43685343fcSTom Gundersen #define NET_NAME_ENUM 1 /* enumerated by kernel */ 44685343fcSTom Gundersen #define NET_NAME_PREDICTABLE 2 /* predictably named by the kernel */ 45685343fcSTom Gundersen #define NET_NAME_USER 3 /* provided by user-space */ 46685343fcSTom Gundersen #define NET_NAME_RENAMED 4 /* renamed by user-space */ 47607ca46eSDavid Howells 48607ca46eSDavid Howells /* Media selection options. */ 49607ca46eSDavid Howells enum { 50607ca46eSDavid Howells IF_PORT_UNKNOWN = 0, 51607ca46eSDavid Howells IF_PORT_10BASE2, 52607ca46eSDavid Howells IF_PORT_10BASET, 53607ca46eSDavid Howells IF_PORT_AUI, 54607ca46eSDavid Howells IF_PORT_100BASET, 55607ca46eSDavid Howells IF_PORT_100BASETX, 56607ca46eSDavid Howells IF_PORT_100BASEFX 57607ca46eSDavid Howells }; 58607ca46eSDavid Howells 59339e0223SFlorian Fainelli /* hardware address assignment types */ 60339e0223SFlorian Fainelli #define NET_ADDR_PERM 0 /* address is permanent (default) */ 61339e0223SFlorian Fainelli #define NET_ADDR_RANDOM 1 /* address is generated randomly */ 62339e0223SFlorian Fainelli #define NET_ADDR_STOLEN 2 /* address is stolen from other device */ 63339e0223SFlorian Fainelli #define NET_ADDR_SET 3 /* address is set using 64339e0223SFlorian Fainelli * dev_set_mac_address() */ 65607ca46eSDavid Howells 66607ca46eSDavid Howells #endif /* _UAPI_LINUX_NETDEVICE_H */ 67