clocksource: Provide a generic mult/shift factor calculation
[firefly-linux-kernel-4.4.55.git] / include / linux / sockios.h
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  *
10  * Authors:     Ross Biro
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
25 #define SIOCOUTQ        TIOCOUTQ
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 #define SIOCKILLADDR    0x8939          /* kill sockets with this local addr */
69
70 #define SIOCGIFBR       0x8940          /* Bridging support             */
71 #define SIOCSIFBR       0x8941          /* Set bridging options         */
72
73 #define SIOCGIFTXQLEN   0x8942          /* Get the tx queue length      */
74 #define SIOCSIFTXQLEN   0x8943          /* Set the tx queue length      */
75
76 /* SIOCGIFDIVERT was:   0x8944          Frame diversion support */
77 /* SIOCSIFDIVERT was:   0x8945          Set frame diversion options */
78
79 #define SIOCETHTOOL     0x8946          /* Ethtool interface            */
80
81 #define SIOCGMIIPHY     0x8947          /* Get address of MII PHY in use. */
82 #define SIOCGMIIREG     0x8948          /* Read MII PHY register.       */
83 #define SIOCSMIIREG     0x8949          /* Write MII PHY register.      */
84
85 #define SIOCWANDEV      0x894A          /* get/set netdev parameters    */
86
87 /* ARP cache control calls. */
88                     /*  0x8950 - 0x8952  * obsolete calls, don't re-use */
89 #define SIOCDARP        0x8953          /* delete ARP table entry       */
90 #define SIOCGARP        0x8954          /* get ARP table entry          */
91 #define SIOCSARP        0x8955          /* set ARP table entry          */
92
93 /* RARP cache control calls. */
94 #define SIOCDRARP       0x8960          /* delete RARP table entry      */
95 #define SIOCGRARP       0x8961          /* get RARP table entry         */
96 #define SIOCSRARP       0x8962          /* set RARP table entry         */
97
98 /* Driver configuration calls */
99
100 #define SIOCGIFMAP      0x8970          /* Get device parameters        */
101 #define SIOCSIFMAP      0x8971          /* Set device parameters        */
102
103 /* DLCI configuration calls */
104
105 #define SIOCADDDLCI     0x8980          /* Create new DLCI device       */
106 #define SIOCDELDLCI     0x8981          /* Delete DLCI device           */
107
108 #define SIOCGIFVLAN     0x8982          /* 802.1Q VLAN support          */
109 #define SIOCSIFVLAN     0x8983          /* Set 802.1Q VLAN options      */
110
111 /* bonding calls */
112
113 #define SIOCBONDENSLAVE 0x8990          /* enslave a device to the bond */
114 #define SIOCBONDRELEASE 0x8991          /* release a slave from the bond*/
115 #define SIOCBONDSETHWADDR      0x8992   /* set the hw addr of the bond  */
116 #define SIOCBONDSLAVEINFOQUERY 0x8993   /* rtn info about slave state   */
117 #define SIOCBONDINFOQUERY      0x8994   /* rtn info about bond state    */
118 #define SIOCBONDCHANGEACTIVE   0x8995   /* update to a new active slave */
119                         
120 /* bridge calls */
121 #define SIOCBRADDBR     0x89a0          /* create new bridge device     */
122 #define SIOCBRDELBR     0x89a1          /* remove bridge device         */
123 #define SIOCBRADDIF     0x89a2          /* add interface to bridge      */
124 #define SIOCBRDELIF     0x89a3          /* remove interface from bridge */
125
126 /* hardware time stamping: parameters in linux/net_tstamp.h */
127 #define SIOCSHWTSTAMP   0x89b0
128
129 /* Device private ioctl calls */
130
131 /*
132  *      These 16 ioctls are available to devices via the do_ioctl() device
133  *      vector. Each device should include this file and redefine these names
134  *      as their own. Because these are device dependent it is a good idea
135  *      _NOT_ to issue them to random objects and hope.
136  *
137  *      THESE IOCTLS ARE _DEPRECATED_ AND WILL DISAPPEAR IN 2.5.X -DaveM
138  */
139  
140 #define SIOCDEVPRIVATE  0x89F0  /* to 89FF */
141
142 /*
143  *      These 16 ioctl calls are protocol private
144  */
145  
146 #define SIOCPROTOPRIVATE 0x89E0 /* to 89EF */
147 #endif  /* _LINUX_SOCKIOS_H */