~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/uapi/linux/sockios.h

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  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 of the socket-level I/O control calls.
  8  *
  9  * Version:     @(#)sockios.h   1.0.2   03/09/93
 10  *
 11  * Authors:     Ross Biro
 12  *              Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
 13  *
 14  *              This program is free software; you can redistribute it and/or
 15  *              modify it under the terms of the GNU General Public License
 16  *              as published by the Free Software Foundation; either version
 17  *              2 of the License, or (at your option) any later version.
 18  */
 19 #ifndef _LINUX_SOCKIOS_H
 20 #define _LINUX_SOCKIOS_H
 21 
 22 #include <asm/bitsperlong.h>
 23 #include <asm/sockios.h>
 24 
 25 /* Linux-specific socket ioctls */
 26 #define SIOCINQ         FIONREAD
 27 #define SIOCOUTQ        TIOCOUTQ        /* output queue size (not sent + not acked) */
 28 
 29 #define SOCK_IOC_TYPE   0x89
 30 
 31 /*
 32  * the timeval/timespec data structure layout is defined by libc,
 33  * so we need to cover both possible versions on 32-bit.
 34  */
 35 /* Get stamp (timeval) */
 36 #define SIOCGSTAMP_NEW   _IOR(SOCK_IOC_TYPE, 0x06, long long[2])
 37 /* Get stamp (timespec) */
 38 #define SIOCGSTAMPNS_NEW _IOR(SOCK_IOC_TYPE, 0x07, long long[2])
 39 
 40 #if __BITS_PER_LONG == 64 || (defined(__x86_64__) && defined(__ILP32__))
 41 /* on 64-bit and x32, avoid the ?: operator */
 42 #define SIOCGSTAMP      SIOCGSTAMP_OLD
 43 #define SIOCGSTAMPNS    SIOCGSTAMPNS_OLD
 44 #else
 45 #define SIOCGSTAMP      ((sizeof(struct timeval))  == 8 ? \
 46                          SIOCGSTAMP_OLD   : SIOCGSTAMP_NEW)
 47 #define SIOCGSTAMPNS    ((sizeof(struct timespec)) == 8 ? \
 48                          SIOCGSTAMPNS_OLD : SIOCGSTAMPNS_NEW)
 49 #endif
 50 
 51 /* Routing table calls. */
 52 #define SIOCADDRT       0x890B          /* add routing table entry      */
 53 #define SIOCDELRT       0x890C          /* delete routing table entry   */
 54 #define SIOCRTMSG       0x890D          /* unused                       */
 55 
 56 /* Socket configuration controls. */
 57 #define SIOCGIFNAME     0x8910          /* get iface name               */
 58 #define SIOCSIFLINK     0x8911          /* set iface channel            */
 59 #define SIOCGIFCONF     0x8912          /* get iface list               */
 60 #define SIOCGIFFLAGS    0x8913          /* get flags                    */
 61 #define SIOCSIFFLAGS    0x8914          /* set flags                    */
 62 #define SIOCGIFADDR     0x8915          /* get PA address               */
 63 #define SIOCSIFADDR     0x8916          /* set PA address               */
 64 #define SIOCGIFDSTADDR  0x8917          /* get remote PA address        */
 65 #define SIOCSIFDSTADDR  0x8918          /* set remote PA address        */
 66 #define SIOCGIFBRDADDR  0x8919          /* get broadcast PA address     */
 67 #define SIOCSIFBRDADDR  0x891a          /* set broadcast PA address     */
 68 #define SIOCGIFNETMASK  0x891b          /* get network PA mask          */
 69 #define SIOCSIFNETMASK  0x891c          /* set network PA mask          */
 70 #define SIOCGIFMETRIC   0x891d          /* get metric                   */
 71 #define SIOCSIFMETRIC   0x891e          /* set metric                   */
 72 #define SIOCGIFMEM      0x891f          /* get memory address (BSD)     */
 73 #define SIOCSIFMEM      0x8920          /* set memory address (BSD)     */
 74 #define SIOCGIFMTU      0x8921          /* get MTU size                 */
 75 #define SIOCSIFMTU      0x8922          /* set MTU size                 */
 76 #define SIOCSIFNAME     0x8923          /* set interface name */
 77 #define SIOCSIFHWADDR   0x8924          /* set hardware address         */
 78 #define SIOCGIFENCAP    0x8925          /* get/set encapsulations       */
 79 #define SIOCSIFENCAP    0x8926          
 80 #define SIOCGIFHWADDR   0x8927          /* Get hardware address         */
 81 #define SIOCGIFSLAVE    0x8929          /* Driver slaving support       */
 82 #define SIOCSIFSLAVE    0x8930
 83 #define SIOCADDMULTI    0x8931          /* Multicast address lists      */
 84 #define SIOCDELMULTI    0x8932
 85 #define SIOCGIFINDEX    0x8933          /* name -> if_index mapping     */
 86 #define SIOGIFINDEX     SIOCGIFINDEX    /* misprint compatibility :-)   */
 87 #define SIOCSIFPFLAGS   0x8934          /* set/get extended flags set   */
 88 #define SIOCGIFPFLAGS   0x8935
 89 #define SIOCDIFADDR     0x8936          /* delete PA address            */
 90 #define SIOCSIFHWBROADCAST      0x8937  /* set hardware broadcast addr  */
 91 #define SIOCGIFCOUNT    0x8938          /* get number of devices */
 92 
 93 #define SIOCGIFBR       0x8940          /* Bridging support             */
 94 #define SIOCSIFBR       0x8941          /* Set bridging options         */
 95 
 96 #define SIOCGIFTXQLEN   0x8942          /* Get the tx queue length      */
 97 #define SIOCSIFTXQLEN   0x8943          /* Set the tx queue length      */
 98 
 99 /* SIOCGIFDIVERT was:   0x8944          Frame diversion support */
100 /* SIOCSIFDIVERT was:   0x8945          Set frame diversion options */
101 
102 #define SIOCETHTOOL     0x8946          /* Ethtool interface            */
103 
104 #define SIOCGMIIPHY     0x8947          /* Get address of MII PHY in use. */
105 #define SIOCGMIIREG     0x8948          /* Read MII PHY register.       */
106 #define SIOCSMIIREG     0x8949          /* Write MII PHY register.      */
107 
108 #define SIOCWANDEV      0x894A          /* get/set netdev parameters    */
109 
110 #define SIOCOUTQNSD     0x894B          /* output queue size (not sent only) */
111 #define SIOCGSKNS       0x894C          /* get socket network namespace */
112 
113 /* ARP cache control calls. */
114                     /*  0x8950 - 0x8952  * obsolete calls, don't re-use */
115 #define SIOCDARP        0x8953          /* delete ARP table entry       */
116 #define SIOCGARP        0x8954          /* get ARP table entry          */
117 #define SIOCSARP        0x8955          /* set ARP table entry          */
118 
119 /* RARP cache control calls. */
120 #define SIOCDRARP       0x8960          /* delete RARP table entry      */
121 #define SIOCGRARP       0x8961          /* get RARP table entry         */
122 #define SIOCSRARP       0x8962          /* set RARP table entry         */
123 
124 /* Driver configuration calls */
125 
126 #define SIOCGIFMAP      0x8970          /* Get device parameters        */
127 #define SIOCSIFMAP      0x8971          /* Set device parameters        */
128 
129 /* DLCI configuration calls */
130 
131 #define SIOCADDDLCI     0x8980          /* Create new DLCI device       */
132 #define SIOCDELDLCI     0x8981          /* Delete DLCI device           */
133 
134 #define SIOCGIFVLAN     0x8982          /* 802.1Q VLAN support          */
135 #define SIOCSIFVLAN     0x8983          /* Set 802.1Q VLAN options      */
136 
137 /* bonding calls */
138 
139 #define SIOCBONDENSLAVE 0x8990          /* enslave a device to the bond */
140 #define SIOCBONDRELEASE 0x8991          /* release a slave from the bond*/
141 #define SIOCBONDSETHWADDR      0x8992   /* set the hw addr of the bond  */
142 #define SIOCBONDSLAVEINFOQUERY 0x8993   /* rtn info about slave state   */
143 #define SIOCBONDINFOQUERY      0x8994   /* rtn info about bond state    */
144 #define SIOCBONDCHANGEACTIVE   0x8995   /* update to a new active slave */
145                         
146 /* bridge calls */
147 #define SIOCBRADDBR     0x89a0          /* create new bridge device     */
148 #define SIOCBRDELBR     0x89a1          /* remove bridge device         */
149 #define SIOCBRADDIF     0x89a2          /* add interface to bridge      */
150 #define SIOCBRDELIF     0x89a3          /* remove interface from bridge */
151 
152 /* hardware time stamping: parameters in linux/net_tstamp.h */
153 #define SIOCSHWTSTAMP   0x89b0          /* set and get config           */
154 #define SIOCGHWTSTAMP   0x89b1          /* get config                   */
155 
156 /* Device private ioctl calls */
157 
158 /*
159  *      These 16 ioctls are available to devices via the do_ioctl() device
160  *      vector. Each device should include this file and redefine these names
161  *      as their own. Because these are device dependent it is a good idea
162  *      _NOT_ to issue them to random objects and hope.
163  *
164  *      THESE IOCTLS ARE _DEPRECATED_ AND WILL DISAPPEAR IN 2.5.X -DaveM
165  */
166  
167 #define SIOCDEVPRIVATE  0x89F0  /* to 89FF */
168 
169 /*
170  *      These 16 ioctl calls are protocol private
171  */
172  
173 #define SIOCPROTOPRIVATE 0x89E0 /* to 89EF */
174 #endif  /* _LINUX_SOCKIOS_H */
175 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php