sockio.h revision 2b24ab6b3865caeede9eeb9db6b83e1d89dcd1ea
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
/* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */
/* All Rights Reserved */
/*
* University Copyright- Copyright (c) 1982, 1986, 1988
* The Regents of the University of California
* All Rights Reserved
*
* University Acknowledgment- Portions of this document are derived from
* software developed by the University of California, Berkeley, and its
* contributors.
*/
#ifndef _SYS_SOCKIO_H
#define _SYS_SOCKIO_H
/*
* General socket ioctl definitions.
*/
#ifdef __cplusplus
extern "C" {
#endif
/* socket i/o controls */
/*
* SIOCADDRT and SIOCDELRT ioctls need to be defined using _IOWN macro to
* make them datamodel independent.
*/
/* For multicast routing. These might change in future release */
/* get vif pkt count */
/* get s,g pkt count */
/* get s,g pkt count */
/*
* Obsolete interface ioctls using struct ifreq that are supported
* for compatibility. New interface ioctls use struct lifreq.
*/
/*
* Needs to be defined using _IOWRN macro to make it datamodel independent.
* Argument is a struct ifconf.
*/
/* from 4.3BSD */
/* STREAMS based socket emulation */
/* in x25if */
/* in x25if */
/* kernel */
/* SLIP request */
/* kernel */
/*
* New interface ioctls that use the struct lifreq. Can be used for
* both IPv4 and IPv6.
*/
/*
* Needs to be defined using _IOWRN macro to make it datamodel independent.
* Argument is a struct lifconf.
*/
/* local address and */
/* autoconf */
/* local address and */
/* autoconf */
/*
* Address querying ioctls.
*/
/* My address? */
/* Address on-link? */
/* In this site? */
/* 147 and 148 were SIOC*TUNPARAM ioctls. Feel free to re-use. */
/*
* 153 can be reused (was consolidation-private SIOCLIFFAILOVER).
*/
/*
* IP Multipathing ioctls.
*/
/*
* Leave 158 - 160 unused; used to be SIOC*IFARP ioctls.
* However, 161 can be reused (was consolidation-private SIOCSLIFOINDEX).
*/
/*
* IOCTLS which provide an interface to the IPv6 address selection policy.
*/
/*
* IOCTL for retrieving sorting info for a list of destination addrs.
* Use the _IOWRN macro to make it datamodel independent. Argument
* is a struct dstinfo.
*/
/*
* Extended IOCTLS for manipulating ARP cache entries.
*/
/*
* IOCTL private to sockfs.
*/
/*
* IOCTLs for getting and setting zone associated with an interface, and
* unplumbing interfaces associated with a given zone.
*/
/*
* IOCTLS for handling SCTP options.
*/
/*
* IOCTLs for getting and setting the source address that is used for packets
* going out on the given interface.
*/
/*
* IOCTL used to get all the interfaces that use the the specified interfaces'
* source address
*/
/*
* IOCTLs for source specific multicast; get or set a socket's
* source filter for a particular multicast group. Argument is
* a struct group_filter. Defined in RFC 3678.
*/
/*
* IPv4-specific versions of the above; get or set a socket's source
* filter for a particular multicast group, for PF_INET sockets only.
* Argument is a struct ip_msfilter.
*/
/*
* 182 can be reused (was consolidation-private SIOCSIPMPFAILBACK).
*/
#ifdef __cplusplus
}
#endif
#endif /* _SYS_SOCKIO_H */