haiku/headers/posix/sys/sockio.h
Axel Dörfler 2b1c0755dd * Renamed the proprietary SIOC_* ioctls to B_SOCKET_* - no reason to pollute
global name space, and have ugly identifiers for nothing :-)
* Added a flags field to struct ifaliasreq. Added flags to mark an alias that
  is currently being configured, or has been automatically configured.
  Those flags aren't used yet, but they will replace IFF_CONFIGURING and
  friends.
* Implemented deleting addresses only from interfaces via ifconfig.
* Added more command aliases for delete to ifconfig ("del", and "delete", for
  more consistency with route).
* Fixed control_routes() to only release a reference to an address if it
  actually got one before.
* If an interface address is deleted, its routes are now removed as well.
* InterfaceAddress now holds a reference to its interface as planned.
* Implemented removing interfaces. Works quite nicely.
* When downing an interface, all of its routes are now removed. When upping
  it again, at least the default routes are added.
* datalink.cpp's get_interface_name_or_index() leaked a reference to the
  interface found.
* SIOCAIFADDR would also leak a reference when new addresses were added.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37872 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-03 15:51:54 +00:00

82 lines
3.2 KiB
C

/*
* 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 */