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