haiku/headers/posix/sys/sockio.h

82 lines
3.2 KiB
C
Raw Normal View History

/*
* Reworked the complete stack to allow more than one address per network interface - this caused quite a number of changes. * Network interfaces, and its addresses are now reference counted (not yet complete, though, InterfaceAddresses need to hold references to their interface as well). * There are two known regressions of this commit that I will fix later: - you cannot remove interfaces anymore - IPv4 multicast was broken anyway, but now it's disabled, too. * Moved a device_interfaces.cpp|h out of interfaces.cpp. * The datalink layer chain is now instantiated per domain per interface, not just per interface anymore. * When a buffer reaches the network layer, it has no known interface yet, ie. the ipv4|6|whatever modules need to set this manually. * Added more debug output, and some new debugger commands, the control option is now printed in clear text. * Added hash_address() function to the address modules. Added "const" to set_to_defaults() where needed. * Fixed net_buffer's restore header functions offset use as reported by Atis. * Improved buffer dump output, use the domain module to print the address if available. * Moved net_buffer::type into the union, as it's not needed by the upper layers anymore. * Moved IPv6 specific code from {add|remove}_default_route() to where it belongs, but disabled it for the time being. * Completely discarded useless ipv4_datagram module. * Added ping6 to the build. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37794 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-28 21:38:23 +04:00
* Copyright 2002-2010, Haiku Inc. All Rights Reserved.
* Distributed under the terms of the MIT License.
*/
#ifndef _SYS_SOCKIO_H
#define _SYS_SOCKIO_H
/*! Socket I/O control codes, usually via struct ifreq, most of them should
be compatible with the BSDs.
*/
#define SIOCADDRT 8900 /* add route */
#define SIOCDELRT 8901 /* delete route */
#define SIOCSIFADDR 8902 /* set interface address */
#define SIOCGIFADDR 8903 /* get interface address */
#define SIOCSIFDSTADDR 8904 /* set point-to-point address */
#define SIOCGIFDSTADDR 8905 /* get point-to-point address */
#define SIOCSIFFLAGS 8906 /* set interface flags */
#define SIOCGIFFLAGS 8907 /* get interface flags */
#define SIOCGIFBRDADDR 8908 /* get broadcast address */
#define SIOCSIFBRDADDR 8909 /* set broadcast address */
#define SIOCGIFCOUNT 8910 /* count interfaces */
#define SIOCGIFCONF 8911 /* get interface list */
#define SIOCGIFINDEX 8912 /* interface name -> index */
#define SIOCGIFNAME 8913 /* interface index -> name */
#define SIOCGIFNETMASK 8914 /* get net address mask */
#define SIOCSIFNETMASK 8915 /* set net address mask */
#define SIOCGIFMETRIC 8916 /* get interface metric */
#define SIOCSIFMETRIC 8917 /* set interface metric */
#define SIOCDIFADDR 8918 /* delete interface address */
#define SIOCAIFADDR 8919
/* configure interface alias, ifaliasreq */
#define SIOCADDMULTI 8920 /* add multicast address */
#define SIOCDELMULTI 8921 /* delete multicast address */
#define SIOCGIFMTU 8922 /* get interface MTU */
#define SIOCSIFMTU 8923 /* set interface MTU */
#define SIOCSIFMEDIA 8924 /* set net media */
#define SIOCGIFMEDIA 8925 /* get net media */
#define SIOCGRTSIZE 8926 /* get route table size */
#define SIOCGRTTABLE 8927 /* get route table */
#define SIOCGETRT 8928
/* get route information for destination */
#define SIOCGIFSTATS 8929 /* get interface stats */
#define SIOCGIFTYPE 8931 /* get interface type */
#define SIOCSPACKETCAP 8932
/* Start capturing packets on an interface */
#define SIOCCPACKETCAP 8933
/* Stop capturing packets on an interface */
#define SIOCSHIWAT 8934 /* set high watermark */
#define SIOCGHIWAT 8935 /* get high watermark */
#define SIOCSLOWAT 8936 /* set low watermark */
#define SIOCGLOWAT 8937 /* get low watermark */
#define SIOCATMARK 8938 /* at out-of-band mark? */
#define SIOCSPGRP 8939 /* set process group */
#define SIOCGPGRP 8940 /* get process group */
#define SIOCGPRIVATE_0 8941 /* device private 0 */
#define SIOCGPRIVATE_1 8942 /* device private 1 */
#define SIOCSDRVSPEC 8943 /* set driver-specific parameters */
#define SIOCGDRVSPEC 8944 /* get driver-specific parameters */
#define SIOCSIFGENERIC 8945 /* generic IF set op */
#define SIOCGIFGENERIC 8946 /* generic IF get op */
/* Haiku specific extensions */
#define B_SOCKET_REMOVE_ALIAS 8918 /* synonym for SIOCDIFADDR */
#define B_SOCKET_ADD_ALIAS 8919 /* synonym for SIOCAIFADDR */
#define B_SOCKET_SET_ALIAS 8947 /* set interface alias, ifaliasreq */
#define B_SOCKET_GET_ALIAS 8948 /* get interface alias, ifaliasreq */
#define B_SOCKET_COUNT_ALIASES 8949 /* count interface aliases */
#define SIOCEND 9000 /* SIOCEND >= highest SIOC* */
#endif /* _SYS_SOCKIO_H */