1 /* Copyright (C) 1996-2022 Free Software Foundation, Inc. 2 This file is part of the GNU C Library. 3 4 The GNU C Library is free software; you can redistribute it and/or 5 modify it under the terms of the GNU Lesser General Public 6 License as published by the Free Software Foundation; either 7 version 2.1 of the License, or (at your option) any later version. 8 9 The GNU C Library is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 Lesser General Public License for more details. 13 14 You should have received a copy of the GNU Lesser General Public 15 License along with the GNU C Library; if not, see 16 <https://www.gnu.org/licenses/>. */ 17 18 #ifndef _SYS_IOCTL_H 19 # error "Never use <bits/ioctls.h> directly; include <sys/ioctl.h> instead." 20 #endif 21 22 /* Use the definitions from the kernel header files. */ 23 #include <asm/ioctls.h> 24 25 /* Routing table calls. */ 26 #define SIOCADDRT 0x890B /* add routing table entry */ 27 #define SIOCDELRT 0x890C /* delete routing table entry */ 28 #define SIOCRTMSG 0x890D /* call to routing system */ 29 30 /* Socket configuration controls. */ 31 #define SIOCGIFNAME 0x8910 /* get iface name */ 32 #define SIOCSIFLINK 0x8911 /* set iface channel */ 33 #define SIOCGIFCONF 0x8912 /* get iface list */ 34 #define SIOCGIFFLAGS 0x8913 /* get flags */ 35 #define SIOCSIFFLAGS 0x8914 /* set flags */ 36 #define SIOCGIFADDR 0x8915 /* get PA address */ 37 #define SIOCSIFADDR 0x8916 /* set PA address */ 38 #define SIOCGIFDSTADDR 0x8917 /* get remote PA address */ 39 #define SIOCSIFDSTADDR 0x8918 /* set remote PA address */ 40 #define SIOCGIFBRDADDR 0x8919 /* get broadcast PA address */ 41 #define SIOCSIFBRDADDR 0x891a /* set broadcast PA address */ 42 #define SIOCGIFNETMASK 0x891b /* get network PA mask */ 43 #define SIOCSIFNETMASK 0x891c /* set network PA mask */ 44 #define SIOCGIFMETRIC 0x891d /* get metric */ 45 #define SIOCSIFMETRIC 0x891e /* set metric */ 46 #define SIOCGIFMEM 0x891f /* get memory address (BSD) */ 47 #define SIOCSIFMEM 0x8920 /* set memory address (BSD) */ 48 #define SIOCGIFMTU 0x8921 /* get MTU size */ 49 #define SIOCSIFMTU 0x8922 /* set MTU size */ 50 #define SIOCSIFNAME 0x8923 /* set interface name */ 51 #define SIOCSIFHWADDR 0x8924 /* set hardware address */ 52 #define SIOCGIFENCAP 0x8925 /* get/set encapsulations */ 53 #define SIOCSIFENCAP 0x8926 54 #define SIOCGIFHWADDR 0x8927 /* Get hardware address */ 55 #define SIOCGIFSLAVE 0x8929 /* Driver slaving support */ 56 #define SIOCSIFSLAVE 0x8930 57 #define SIOCADDMULTI 0x8931 /* Multicast address lists */ 58 #define SIOCDELMULTI 0x8932 59 #define SIOCGIFINDEX 0x8933 /* name -> if_index mapping */ 60 #define SIOGIFINDEX SIOCGIFINDEX /* misprint compatibility :-) */ 61 #define SIOCSIFPFLAGS 0x8934 /* set/get extended flags set */ 62 #define SIOCGIFPFLAGS 0x8935 63 #define SIOCDIFADDR 0x8936 /* delete PA address */ 64 #define SIOCSIFHWBROADCAST 0x8937 /* set hardware broadcast addr */ 65 #define SIOCGIFCOUNT 0x8938 /* get number of devices */ 66 67 #define SIOCGIFBR 0x8940 /* Bridging support */ 68 #define SIOCSIFBR 0x8941 /* Set bridging options */ 69 70 #define SIOCGIFTXQLEN 0x8942 /* Get the tx queue length */ 71 #define SIOCSIFTXQLEN 0x8943 /* Set the tx queue length */ 72 73 74 /* ARP cache control calls. */ 75 /* 0x8950 - 0x8952 * obsolete calls, don't re-use */ 76 #define SIOCDARP 0x8953 /* delete ARP table entry */ 77 #define SIOCGARP 0x8954 /* get ARP table entry */ 78 #define SIOCSARP 0x8955 /* set ARP table entry */ 79 80 /* RARP cache control calls. */ 81 #define SIOCDRARP 0x8960 /* delete RARP table entry */ 82 #define SIOCGRARP 0x8961 /* get RARP table entry */ 83 #define SIOCSRARP 0x8962 /* set RARP table entry */ 84 85 /* Driver configuration calls */ 86 87 #define SIOCGIFMAP 0x8970 /* Get device parameters */ 88 #define SIOCSIFMAP 0x8971 /* Set device parameters */ 89 90 /* DLCI configuration calls */ 91 92 #define SIOCADDDLCI 0x8980 /* Create new DLCI device */ 93 #define SIOCDELDLCI 0x8981 /* Delete DLCI device */ 94 95 /* Device private ioctl calls. */ 96 97 /* These 16 ioctls are available to devices via the do_ioctl() device 98 vector. Each device should include this file and redefine these 99 names as their own. Because these are device dependent it is a good 100 idea _NOT_ to issue them to random objects and hope. */ 101 102 #define SIOCDEVPRIVATE 0x89F0 /* to 89FF */ 103 104 /* 105 * These 16 ioctl calls are protocol private 106 */ 107 108 #define SIOCPROTOPRIVATE 0x89E0 /* to 89EF */ 109