netdevice.h 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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. #include <linux/if.h>
  29. #include <linux/if_ether.h>
  30. #include <linux/if_packet.h>
  31. #include <linux/if_link.h>
  32. #define MAX_ADDR_LEN 32 /* Largest hardware address length */
  33. /* Initial net device group. All devices belong to group 0 by default. */
  34. #define INIT_NETDEV_GROUP 0
  35. /* interface name assignment types (sysfs name_assign_type attribute) */
  36. #define NET_NAME_UNKNOWN 0 /* unknown origin (not exposed to userspace) */
  37. #define NET_NAME_ENUM 1 /* enumerated by kernel */
  38. #define NET_NAME_PREDICTABLE 2 /* predictably named by the kernel */
  39. #define NET_NAME_USER 3 /* provided by user-space */
  40. #define NET_NAME_RENAMED 4 /* renamed by user-space */
  41. /* Media selection options. */
  42. enum {
  43. IF_PORT_UNKNOWN = 0,
  44. IF_PORT_10BASE2,
  45. IF_PORT_10BASET,
  46. IF_PORT_AUI,
  47. IF_PORT_100BASET,
  48. IF_PORT_100BASETX,
  49. IF_PORT_100BASEFX
  50. };
  51. /* hardware address assignment types */
  52. #define NET_ADDR_PERM 0 /* address is permanent (default) */
  53. #define NET_ADDR_RANDOM 1 /* address is generated randomly */
  54. #define NET_ADDR_STOLEN 2 /* address is stolen from other device */
  55. #define NET_ADDR_SET 3 /* address is set using
  56. * dev_set_mac_address() */
  57. #endif /* _UAPI_LINUX_NETDEVICE_H */