xref: /haiku/headers/posix/sys/sockio.h (revision 25a7b01d15612846f332751841da3579db313082)
1 /*
2  * Copyright 2002-2012 Haiku, Inc. All Rights Reserved.
3  * Distributed under the terms of the MIT License.
4  */
5 #ifndef _SYS_SOCKIO_H
6 #define _SYS_SOCKIO_H
7 
8 
9 /*! Socket I/O control codes, usually via struct ifreq, most of them should
10 	be compatible with the BSDs.
11 */
12 
13 
14 #define SIOCADDRT				8900	/* add route */
15 #define SIOCDELRT				8901	/* delete route */
16 #define SIOCSIFADDR				8902	/* set interface address */
17 #define SIOCGIFADDR				8903	/* get interface address */
18 #define SIOCSIFDSTADDR			8904	/* set point-to-point address */
19 #define SIOCGIFDSTADDR			8905	/* get point-to-point address */
20 #define SIOCSIFFLAGS			8906	/* set interface flags */
21 #define SIOCGIFFLAGS			8907	/* get interface flags */
22 #define SIOCGIFBRDADDR			8908	/* get broadcast address */
23 #define SIOCSIFBRDADDR			8909	/* set broadcast address */
24 #define SIOCGIFCOUNT			8910	/* count interfaces */
25 #define SIOCGIFCONF				8911	/* get interface list */
26 #define SIOCGIFINDEX			8912	/* interface name -> index */
27 #define SIOCGIFNAME				8913	/* interface index -> name */
28 #define SIOCGIFNETMASK			8914	/* get net address mask */
29 #define SIOCSIFNETMASK			8915	/* set net address mask */
30 #define SIOCGIFMETRIC			8916	/* get interface metric */
31 #define SIOCSIFMETRIC			8917	/* set interface metric */
32 #define SIOCDIFADDR				8918	/* delete interface address */
33 #define SIOCAIFADDR				8919
34 	/* configure interface alias, ifaliasreq */
35 #define SIOCADDMULTI			8920	/* add multicast address */
36 #define SIOCDELMULTI			8921	/* delete multicast address */
37 #define SIOCGIFMTU				8922	/* get interface MTU */
38 #define SIOCSIFMTU				8923	/* set interface MTU */
39 #define SIOCSIFMEDIA			8924	/* set net media */
40 #define SIOCGIFMEDIA			8925	/* get net media */
41 
42 #define SIOCGRTSIZE				8926	/* get route table size */
43 #define SIOCGRTTABLE			8927	/* get route table */
44 #define SIOCGETRT				8928
45 	/* get route information for destination */
46 
47 #define SIOCGIFSTATS			8929	/* get interface stats */
48 #define SIOCGIFTYPE				8931	/* get interface type */
49 
50 #define SIOCSPACKETCAP			8932
51 	/* Start capturing packets on an interface */
52 #define SIOCCPACKETCAP			8933
53 	/* Stop capturing packets on an interface */
54 
55 #define SIOCSHIWAT				8934	/* set high watermark */
56 #define SIOCGHIWAT				8935	/* get high watermark */
57 #define SIOCSLOWAT				8936	/* set low watermark */
58 #define SIOCGLOWAT				8937	/* get low watermark */
59 #define SIOCATMARK				8938	/* at out-of-band mark? */
60 #define SIOCSPGRP				8939	/* set process group */
61 #define SIOCGPGRP				8940	/* get process group */
62 
63 #define SIOCGPRIVATE_0			8941	/* device private 0 */
64 #define SIOCGPRIVATE_1			8942	/* device private 1 */
65 #define SIOCSDRVSPEC			8943	/* set driver-specific parameters */
66 #define SIOCGDRVSPEC			8944	/* get driver-specific parameters */
67 
68 #define SIOCSIFGENERIC			8945	/* generic IF set op */
69 #define SIOCGIFGENERIC			8946	/* generic IF get op */
70 
71 /* Haiku specific extensions */
72 #define B_SOCKET_REMOVE_ALIAS	8918	/* synonym for SIOCDIFADDR */
73 #define B_SOCKET_ADD_ALIAS		8919	/* synonym for SIOCAIFADDR */
74 #define B_SOCKET_SET_ALIAS		8947	/* set interface alias, ifaliasreq */
75 #define B_SOCKET_GET_ALIAS		8948	/* get interface alias, ifaliasreq */
76 #define B_SOCKET_COUNT_ALIASES	8949	/* count interface aliases */
77 
78 #define SIOCEND					9000	/* SIOCEND >= highest SIOC* */
79 
80 
81 #endif	/* _SYS_SOCKIO_H */
82