sockio.h revision 300060
11541Srgrimes/*- 21541Srgrimes * Copyright (c) 1982, 1986, 1990, 1993, 1994 31541Srgrimes * The Regents of the University of California. All rights reserved. 41541Srgrimes * 51541Srgrimes * Redistribution and use in source and binary forms, with or without 61541Srgrimes * modification, are permitted provided that the following conditions 71541Srgrimes * are met: 81541Srgrimes * 1. Redistributions of source code must retain the above copyright 91541Srgrimes * notice, this list of conditions and the following disclaimer. 101541Srgrimes * 2. Redistributions in binary form must reproduce the above copyright 111541Srgrimes * notice, this list of conditions and the following disclaimer in the 121541Srgrimes * documentation and/or other materials provided with the distribution. 131541Srgrimes * 4. Neither the name of the University nor the names of its contributors 141541Srgrimes * may be used to endorse or promote products derived from this software 151541Srgrimes * without specific prior written permission. 161541Srgrimes * 171541Srgrimes * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 181541Srgrimes * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 191541Srgrimes * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 201541Srgrimes * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 211541Srgrimes * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 221541Srgrimes * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 231541Srgrimes * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 241541Srgrimes * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 251541Srgrimes * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 261541Srgrimes * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 271541Srgrimes * SUCH DAMAGE. 281541Srgrimes * 291541Srgrimes * @(#)sockio.h 8.1 (Berkeley) 3/28/94 3050477Speter * $FreeBSD: stable/10/sys/sys/sockio.h 300060 2016-05-17 15:18:01Z pfg $ 311541Srgrimes */ 321541Srgrimes 3385154Sru#ifndef _SYS_SOCKIO_H_ 341541Srgrimes#define _SYS_SOCKIO_H_ 351541Srgrimes 361541Srgrimes#include <sys/ioccom.h> 371541Srgrimes 381541Srgrimes/* Socket ioctl's. */ 391541Srgrimes#define SIOCSHIWAT _IOW('s', 0, int) /* set high watermark */ 401541Srgrimes#define SIOCGHIWAT _IOR('s', 1, int) /* get high watermark */ 411541Srgrimes#define SIOCSLOWAT _IOW('s', 2, int) /* set low watermark */ 421541Srgrimes#define SIOCGLOWAT _IOR('s', 3, int) /* get low watermark */ 431541Srgrimes#define SIOCATMARK _IOR('s', 7, int) /* at oob mark? */ 441541Srgrimes#define SIOCSPGRP _IOW('s', 8, int) /* set process group */ 451541Srgrimes#define SIOCGPGRP _IOR('s', 9, int) /* get process group */ 461541Srgrimes 47264299Sglebius/* SIOCADDRT _IOW('r', 10, struct ortentry) 4.3BSD */ 48264299Sglebius/* SIOCDELRT _IOW('r', 11, struct ortentry) 4.3BSD */ 4918466Sbde#define SIOCGETVIFCNT _IOWR('r', 15, struct sioc_vif_req)/* get vif pkt cnt */ 5018466Sbde#define SIOCGETSGCNT _IOWR('r', 16, struct sioc_sg_req) /* get s,g pkt cnt */ 511541Srgrimes 521541Srgrimes#define SIOCSIFADDR _IOW('i', 12, struct ifreq) /* set ifnet address */ 531541Srgrimes#define OSIOCGIFADDR _IOWR('i', 13, struct ifreq) /* get ifnet address */ 541541Srgrimes#define SIOCGIFADDR _IOWR('i', 33, struct ifreq) /* get ifnet address */ 551541Srgrimes#define SIOCSIFDSTADDR _IOW('i', 14, struct ifreq) /* set p-p address */ 561541Srgrimes#define OSIOCGIFDSTADDR _IOWR('i', 15, struct ifreq) /* get p-p address */ 571541Srgrimes#define SIOCGIFDSTADDR _IOWR('i', 34, struct ifreq) /* get p-p address */ 581541Srgrimes#define SIOCSIFFLAGS _IOW('i', 16, struct ifreq) /* set ifnet flags */ 591541Srgrimes#define SIOCGIFFLAGS _IOWR('i', 17, struct ifreq) /* get ifnet flags */ 601541Srgrimes#define OSIOCGIFBRDADDR _IOWR('i', 18, struct ifreq) /* get broadcast addr */ 611541Srgrimes#define SIOCGIFBRDADDR _IOWR('i', 35, struct ifreq) /* get broadcast addr */ 621541Srgrimes#define SIOCSIFBRDADDR _IOW('i', 19, struct ifreq) /* set broadcast addr */ 631541Srgrimes#define OSIOCGIFCONF _IOWR('i', 20, struct ifconf) /* get ifnet list */ 641541Srgrimes#define SIOCGIFCONF _IOWR('i', 36, struct ifconf) /* get ifnet list */ 651541Srgrimes#define OSIOCGIFNETMASK _IOWR('i', 21, struct ifreq) /* get net addr mask */ 661541Srgrimes#define SIOCGIFNETMASK _IOWR('i', 37, struct ifreq) /* get net addr mask */ 671541Srgrimes#define SIOCSIFNETMASK _IOW('i', 22, struct ifreq) /* set net addr mask */ 681541Srgrimes#define SIOCGIFMETRIC _IOWR('i', 23, struct ifreq) /* get IF metric */ 691541Srgrimes#define SIOCSIFMETRIC _IOW('i', 24, struct ifreq) /* set IF metric */ 701541Srgrimes#define SIOCDIFADDR _IOW('i', 25, struct ifreq) /* delete IF addr */ 71228768Sglebius#define OSIOCAIFADDR _IOW('i', 26, struct oifaliasreq)/* add/chg IF alias */ 7283625Sjlemon#define SIOCALIFADDR _IOW('i', 27, struct if_laddrreq) /* add IF addr */ 7352904Sshin#define SIOCGLIFADDR _IOWR('i', 28, struct if_laddrreq) /* get IF addr */ 7483625Sjlemon#define SIOCDLIFADDR _IOW('i', 29, struct if_laddrreq) /* delete IF addr */ 7583625Sjlemon#define SIOCSIFCAP _IOW('i', 30, struct ifreq) /* set IF features */ 7683625Sjlemon#define SIOCGIFCAP _IOWR('i', 31, struct ifreq) /* get IF features */ 7785079Sjlemon#define SIOCGIFINDEX _IOWR('i', 32, struct ifreq) /* get IF index */ 7890000Srwatson#define SIOCGIFMAC _IOWR('i', 38, struct ifreq) /* get IF MAC label */ 7990475Srwatson#define SIOCSIFMAC _IOW('i', 39, struct ifreq) /* set IF MAC label */ 80125411Sbrooks#define SIOCSIFNAME _IOW('i', 40, struct ifreq) /* set IF name */ 81203052Sdelphij#define SIOCSIFDESCR _IOW('i', 41, struct ifreq) /* set ifnet descr */ 82203052Sdelphij#define SIOCGIFDESCR _IOWR('i', 42, struct ifreq) /* get ifnet descr */ 83228768Sglebius#define SIOCAIFADDR _IOW('i', 43, struct ifaliasreq)/* add/chg IF alias */ 8452904Sshin 851541Srgrimes#define SIOCADDMULTI _IOW('i', 49, struct ifreq) /* add m'cast addr */ 861541Srgrimes#define SIOCDELMULTI _IOW('i', 50, struct ifreq) /* del m'cast addr */ 8718466Sbde#define SIOCGIFMTU _IOWR('i', 51, struct ifreq) /* get IF mtu */ 8818466Sbde#define SIOCSIFMTU _IOW('i', 52, struct ifreq) /* set IF mtu */ 8918466Sbde#define SIOCGIFPHYS _IOWR('i', 53, struct ifreq) /* get IF wire */ 9018466Sbde#define SIOCSIFPHYS _IOW('i', 54, struct ifreq) /* set IF wire */ 9125432Speter#define SIOCSIFMEDIA _IOWR('i', 55, struct ifreq) /* set net media */ 9225432Speter#define SIOCGIFMEDIA _IOWR('i', 56, struct ifmediareq) /* get net media */ 9352904Sshin 9485126Sdes#define SIOCSIFGENERIC _IOW('i', 57, struct ifreq) /* generic IF set op */ 9585126Sdes#define SIOCGIFGENERIC _IOWR('i', 58, struct ifreq) /* generic IF get op */ 9685126Sdes 9785126Sdes#define SIOCGIFSTATUS _IOWR('i', 59, struct ifstat) /* get IF status */ 9885126Sdes#define SIOCSIFLLADDR _IOW('i', 60, struct ifreq) /* set linklevel addr */ 99286810Smelifaro#define SIOCGI2C _IOWR('i', 61, struct ifreq) /* get I2C data */ 10085126Sdes 101300060Spfg#define SIOCSIFPHYADDR _IOW('i', 70, struct ifaliasreq) /* set gif address */ 10252904Sshin#define SIOCGIFPSRCADDR _IOWR('i', 71, struct ifreq) /* get gif psrc addr */ 10352904Sshin#define SIOCGIFPDSTADDR _IOWR('i', 72, struct ifreq) /* get gif pdst addr */ 10462587Sitojun#define SIOCDIFPHYADDR _IOW('i', 73, struct ifreq) /* delete gif addrs */ 10578064Sume#define SIOCSLIFPHYADDR _IOW('i', 74, struct if_laddrreq) /* set gif addrs */ 10678064Sume#define SIOCGLIFPHYADDR _IOWR('i', 75, struct if_laddrreq) /* get gif addrs */ 10762587Sitojun 10885154Sru#define SIOCGPRIVATE_0 _IOWR('i', 80, struct ifreq) /* device private 0 */ 10985154Sru#define SIOCGPRIVATE_1 _IOWR('i', 81, struct ifreq) /* device private 1 */ 1101541Srgrimes 111194251Sjamie#define SIOCSIFVNET _IOWR('i', 90, struct ifreq) /* move IF jail/vnet */ 112194251Sjamie#define SIOCSIFRVNET _IOWR('i', 91, struct ifreq) /* reclaim vnet IF */ 113194251Sjamie 114223735Sbz#define SIOCGIFFIB _IOWR('i', 92, struct ifreq) /* get IF fib */ 115223735Sbz#define SIOCSIFFIB _IOW('i', 93, struct ifreq) /* set IF fib */ 116223735Sbz 117284074Sae#define SIOCGTUNFIB _IOWR('i', 94, struct ifreq) /* get tunnel fib */ 118284074Sae#define SIOCSTUNFIB _IOW('i', 95, struct ifreq) /* set tunnel fib */ 119284074Sae 120146986Sthompsa#define SIOCSDRVSPEC _IOW('i', 123, struct ifdrv) /* set driver-specific 121146986Sthompsa parameters */ 122146986Sthompsa#define SIOCGDRVSPEC _IOWR('i', 123, struct ifdrv) /* get driver-specific 123146986Sthompsa parameters */ 124146986Sthompsa 12585154Sru#define SIOCIFCREATE _IOWR('i', 122, struct ifreq) /* create clone if */ 126160195Ssam#define SIOCIFCREATE2 _IOWR('i', 124, struct ifreq) /* create clone if */ 12785154Sru#define SIOCIFDESTROY _IOW('i', 121, struct ifreq) /* destroy clone if */ 12885154Sru#define SIOCIFGCLONERS _IOWR('i', 120, struct if_clonereq) /* get cloners */ 12979103Sbrooks 130159781Smlaier#define SIOCAIFGROUP _IOW('i', 135, struct ifgroupreq) /* add an ifgroup */ 131159781Smlaier#define SIOCGIFGROUP _IOWR('i', 136, struct ifgroupreq) /* get ifgroups */ 132159781Smlaier#define SIOCDIFGROUP _IOW('i', 137, struct ifgroupreq) /* delete ifgroup */ 133159781Smlaier#define SIOCGIFGMEMB _IOWR('i', 138, struct ifgroupreq) /* get members */ 134283758Serj#define SIOCGIFXMEDIA _IOWR('i', 139, struct ifmediareq) /* get net xmedia */ 135159781Smlaier 1361541Srgrimes#endif /* !_SYS_SOCKIO_H_ */ 137