linux/include/uapi/linux/netdevice.h
<<
>>
Prefs
   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 */
  67