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