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