darwin-xnu/bsd/sys/sockio.h
<<
>>
Prefs
   1/*
   2 * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
   3 *
   4 * @APPLE_LICENSE_HEADER_START@
   5 * 
   6 * The contents of this file constitute Original Code as defined in and
   7 * are subject to the Apple Public Source License Version 1.1 (the
   8 * "License").  You may not use this file except in compliance with the
   9 * License.  Please obtain a copy of the License at
  10 * http://www.apple.com/publicsource and read it before using this file.
  11 * 
  12 * This Original Code and all software distributed under the License are
  13 * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  14 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  15 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  16 * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
  17 * License for the specific language governing rights and limitations
  18 * under the License.
  19 * 
  20 * @APPLE_LICENSE_HEADER_END@
  21 */
  22/* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */
  23/*-
  24 * Copyright (c) 1982, 1986, 1990, 1993, 1994
  25 *      The Regents of the University of California.  All rights reserved.
  26 *
  27 * Redistribution and use in source and binary forms, with or without
  28 * modification, are permitted provided that the following conditions
  29 * are met:
  30 * 1. Redistributions of source code must retain the above copyright
  31 *    notice, this list of conditions and the following disclaimer.
  32 * 2. Redistributions in binary form must reproduce the above copyright
  33 *    notice, this list of conditions and the following disclaimer in the
  34 *    documentation and/or other materials provided with the distribution.
  35 * 3. All advertising materials mentioning features or use of this software
  36 *    must display the following acknowledgement:
  37 *      This product includes software developed by the University of
  38 *      California, Berkeley and its contributors.
  39 * 4. Neither the name of the University nor the names of its contributors
  40 *    may be used to endorse or promote products derived from this software
  41 *    without specific prior written permission.
  42 *
  43 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  44 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  45 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  46 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  47 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  48 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  49 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  50 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  51 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  52 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  53 * SUCH DAMAGE.
  54 *
  55 *      @(#)sockio.h    8.1 (Berkeley) 3/28/94
  56 */
  57
  58#ifndef _SYS_SOCKIO_H_
  59#define _SYS_SOCKIO_H_
  60
  61#include <sys/appleapiopts.h>
  62
  63#include <sys/ioccom.h>
  64
  65/* Socket ioctl's. */
  66#define SIOCSHIWAT       _IOW('s',  0, int)             /* set high watermark */
  67#define SIOCGHIWAT       _IOR('s',  1, int)             /* get high watermark */
  68#define SIOCSLOWAT       _IOW('s',  2, int)             /* set low watermark */
  69#define SIOCGLOWAT       _IOR('s',  3, int)             /* get low watermark */
  70#define SIOCATMARK       _IOR('s',  7, int)             /* at oob mark? */
  71#define SIOCSPGRP        _IOW('s',  8, int)             /* set process group */
  72#define SIOCGPGRP        _IOR('s',  9, int)             /* get process group */
  73
  74#if 0
  75#define        SIOCADDRT        _IOW('r', 10, struct ortentry) /* add route */
  76#define        SIOCDELRT        _IOW('r', 11, struct ortentry) /* delete route */
  77#endif
  78
  79#define SIOCSIFADDR     _IOW('i', 12, struct ifreq)     /* set ifnet address */
  80#define OSIOCGIFADDR    _IOWR('i', 13, struct ifreq)    /* get ifnet address */
  81#define SIOCSIFDSTADDR   _IOW('i', 14, struct ifreq)    /* set p-p address */
  82#define OSIOCGIFDSTADDR _IOWR('i', 15, struct ifreq)    /* get p-p address */
  83#define SIOCSIFFLAGS     _IOW('i', 16, struct ifreq)    /* set ifnet flags */
  84#define SIOCGIFFLAGS    _IOWR('i', 17, struct ifreq)    /* get ifnet flags */
  85#define OSIOCGIFBRDADDR _IOWR('i', 18, struct ifreq)    /* get broadcast addr */
  86#define SIOCSIFBRDADDR   _IOW('i', 19, struct ifreq)    /* set broadcast addr */
  87#define OSIOCGIFCONF    _IOWR('i', 20, struct ifconf)   /* get ifnet list */
  88#define OSIOCGIFNETMASK _IOWR('i', 21, struct ifreq)    /* get net addr mask */
  89#define SIOCSIFNETMASK   _IOW('i', 22, struct ifreq)    /* set net addr mask */
  90#define SIOCGIFMETRIC   _IOWR('i', 23, struct ifreq)    /* get IF metric */
  91#define SIOCSIFMETRIC   _IOW('i', 24, struct ifreq)     /* set IF metric */
  92#define SIOCDIFADDR     _IOW('i', 25, struct ifreq)     /* delete IF addr */
  93#define SIOCAIFADDR     _IOW('i', 26, struct ifaliasreq)/* add/chg IF alias */
  94#define SIOCGETVIFCNT   _IOWR('r', 27, struct sioc_vif_req)/* get vif pkt cnt */
  95#define SIOCGETSGCNT    _IOWR('r', 28, struct sioc_sg_req) /* get s,g pkt cnt */
  96#define SIOCALIFADDR    _IOW('i', 29, struct if_laddrreq) /* add IF addr */
  97#define SIOCGLIFADDR    _IOWR('i', 30, struct if_laddrreq) /* get IF addr */   
  98#define SIOCDLIFADDR    _IOW('i', 31, struct if_laddrreq) /* delete IF addr */ 
  99
 100
 101#define SIOCGIFADDR     _IOWR('i', 33, struct ifreq)    /* get ifnet address */
 102#define SIOCGIFDSTADDR  _IOWR('i', 34, struct ifreq)    /* get p-p address */
 103#define SIOCGIFBRDADDR  _IOWR('i', 35, struct ifreq)    /* get broadcast addr */
 104#define SIOCGIFCONF     _IOWR('i', 36, struct ifconf)   /* get ifnet list */
 105#ifdef KERNEL_PRIVATE
 106#define SIOCGIFCONF64   _IOWR('i', 36, struct ifconf64) /* get ifnet list */
 107#endif KERNEL_PRIVATE
 108#define SIOCGIFNETMASK  _IOWR('i', 37, struct ifreq)    /* get net addr mask */
 109#define SIOCAUTOADDR    _IOWR('i', 38, struct ifreq)    /* autoconf address */
 110#define SIOCAUTONETMASK _IOW('i', 39, struct ifreq)     /* autoconf netmask */
 111#define SIOCARPIPLL             _IOWR('i', 40, struct ifreq)    /* arp for IPv4LL address */
 112
 113
 114#define SIOCADDMULTI     _IOW('i', 49, struct ifreq)    /* add m'cast addr */
 115#define SIOCDELMULTI     _IOW('i', 50, struct ifreq)    /* del m'cast addr */
 116#define SIOCGIFMTU      _IOWR('i', 51, struct ifreq)    /* get IF mtu */
 117#define SIOCSIFMTU       _IOW('i', 52, struct ifreq)    /* set IF mtu */
 118#define SIOCGIFPHYS     _IOWR('i', 53, struct ifreq)    /* get IF wire */
 119#define SIOCSIFPHYS      _IOW('i', 54, struct ifreq)    /* set IF wire */
 120#define SIOCSIFMEDIA    _IOWR('i', 55, struct ifreq)    /* set net media */
 121#define SIOCGIFMEDIA    _IOWR('i', 56, struct ifmediareq) /* get net media */
 122#ifdef KERNEL_PRIVATE
 123#define SIOCGIFMEDIA64  _IOWR('i', 56, struct ifmediareq64) /* get net media (64-bit) */
 124#endif KERNEL_PRIVATE
 125#define SIOCSIFGENERIC   _IOW('i', 57, struct ifreq)    /* generic IF set op */
 126#define SIOCGIFGENERIC  _IOWR('i', 58, struct ifreq)    /* generic IF get op */
 127#define SIOCRSLVMULTI   _IOWR('i', 59, struct rslvmulti_req)
 128
 129#define SIOCSIFLLADDR   _IOW('i', 60, struct ifreq)     /* set link level addr */
 130#define SIOCGIFSTATUS   _IOWR('i', 61, struct ifstat)   /* get IF status */
 131#define SIOCSIFPHYADDR   _IOW('i', 62, struct ifaliasreq) /* set gif addres */
 132#define SIOCGIFPSRCADDR _IOWR('i', 63, struct ifreq)    /* get gif psrc addr */
 133#define SIOCGIFPDSTADDR _IOWR('i', 64, struct ifreq)    /* get gif pdst addr */
 134#define SIOCDIFPHYADDR   _IOW('i', 65, struct ifreq)    /* delete gif addrs */
 135#define SIOCSLIFPHYADDR  _IOW('i', 66, struct if_laddrreq) /* set gif addrs */
 136#define SIOCGLIFPHYADDR _IOWR('i', 67, struct if_laddrreq) /* get gif addrs */
 137
 138#define SIOCGIFDEVMTU   _IOWR('i', 68, struct ifreq)    /* get if ifdevmtu */
 139#define SIOCSIFALTMTU    _IOW('i', 69, struct ifreq)    /* set if alternate mtu */
 140#define SIOCGIFALTMTU   _IOWR('i', 72, struct ifreq)    /* get if alternate mtu */
 141#define SIOCSIFBOND      _IOW('i', 70, struct ifreq)    /* set bond if config */
 142#define SIOCGIFBOND     _IOWR('i', 71, struct ifreq)    /* get bond if config */
 143#define SIOCIFCREATE    _IOWR('i', 120, struct ifreq)   /* create clone if */
 144#define SIOCIFDESTROY    _IOW('i', 121, struct ifreq)   /* destroy clone if */
 145#define SIOCSIFVLAN      _IOW('i', 126, struct ifreq)   /* set VLAN config */
 146#define SIOCGIFVLAN     _IOWR('i', 127, struct ifreq)   /* get VLAN config */
 147#define SIOCSETVLAN     SIOCSIFVLAN
 148#define SIOCGETVLAN     SIOCGIFVLAN
 149#ifdef KERNEL_PRIVATE
 150#define SIOCSIFDEVMTU    SIOCSIFALTMTU                  /* deprecated */
 151#endif KERNEL_PRIVATE
 152
 153#ifdef PRIVATE
 154#ifdef KERNEL
 155#define SIOCIFGCLONERS  _IOWR('i', 129, struct if_clonereq) /* get cloners */
 156#define SIOCIFGCLONERS64 _IOWR('i', 129, struct if_clonereq64) /* get cloners */
 157#endif KERNEL
 158
 159/* 
 160 * temporary control calls to attach/detach IP to/from an ethernet interface
 161 */
 162#define SIOCPROTOATTACH _IOWR('i', 80, struct ifreq)    /* attach proto to interface */
 163#define SIOCPROTODETACH _IOWR('i', 81, struct ifreq)    /* detach proto from interface */
 164#endif /* PRIVATE */
 165
 166#define SIOCGIFASYNCMAP _IOWR('i', 124, struct ifreq)   /* get ppp asyncmap */
 167#define SIOCSIFASYNCMAP _IOW('i', 125, struct ifreq)    /* set ppp asyncmap */
 168
 169
 170#ifdef PRIVATE
 171#define SIOCSETOT     _IOW('s', 128, int)             /* set socket for LibOT */
 172#endif /* PRIVATE */
 173
 174#endif /* !_SYS_SOCKIO_H_ */
 175
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.