/* Definitions for interface ioctls Copyright (C) 2000, 2007 Free Software Foundation, Inc. This file is part of the GNU Hurd. The GNU Hurd is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. The GNU Hurd is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with the GNU Hurd; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #include #ifdef IIOCTL_IMPORTS IIOCTL_IMPORTS #endif INTR_INTERFACE /* Ioctl class `i'; the subsystem is derived from calculations in . */ subsystem iioctl 112000; /* XXX */ import ; /* XXX */ /* This is the first arg for a struct ifreq_something as specified by the definition of _IOT_ifreq_something in . */ type ifname_t = array[16] of char; /* IFNAMSIZ is 16. */ /* This is the second arg of struct ifreq as specified by the definition of _IOT_ifreq in . */ type sockaddr_t = struct[16] of char; /* sizeof(struct sockaddr) is 16. */ skip; skip; skip; skip; /* 0 1 2 3 unused */ skip; skip; skip; skip; /* 4 5 6 7 unused */ skip; skip; skip; skip; /* 8 9 10 11 unused */ /* 12 SIOCSIFADDR */ routine iioctl_siocsifaddr ( reqport: io_t; ifnam: ifname_t; addr: sockaddr_t); skip; /* 13 unused */ /* 14 SIOCSIFDSTADDR */ routine iioctl_siocsifdstaddr ( reqport: io_t; ifnam: ifname_t; dstaddr: sockaddr_t); skip; /* 15 unused */ /* 16 SIOCSIFFLAGS */ routine iioctl_siocsifflags ( reqport: io_t; ifnam: ifname_t; flags: short); /* 17 SIOCGIFFLAGS */ routine iioctl_siocgifflags ( reqport: io_t; inout ifnam: ifname_t; inout flags: short); skip; /* 18 unused */ /* 19 SIOCSIFBRDADDR */ routine iioctl_siocsifbrdaddr ( reqport: io_t; ifnam: ifname_t; brdaddr: sockaddr_t); skip; skip; /* 20 21 unused */ /* 22 SIOCSIFNETMASK */ routine iioctl_siocsifnetmask ( reqport: io_t; ifnam: ifname_t; netmask: sockaddr_t); /* 23 SIOCGIFMETRIC */ routine iioctl_siocgifmetric ( reqport: io_t; inout ifnam: ifname_t; inout metric: int); /* 24 SIOCSIFMETRIC */ routine iioctl_siocsifmetric ( reqport: io_t; ifnam: ifname_t; metric: int); /* 25 SIOCDIFADDR */ routine iioctl_siocdifaddr ( reqport: io_t; ifnam: ifname_t; addr: sockaddr_t); skip; skip; skip; skip; /* 26 27 28 29 unused */ skip; skip; skip; /* 30 31 32 unused */ /* 33 SIOCGIFADDR */ routine iioctl_siocgifaddr ( reqport: io_t; inout ifnam: ifname_t; inout addr: sockaddr_t); /* 34 SIOCGIFDSTADDR */ routine iioctl_siocgifdstaddr ( reqport: io_t; inout ifnam: ifname_t; inout dstaddr: sockaddr_t); /* 35 SIOCGIFBRDADDR */ routine iioctl_siocgifbrdaddr ( reqport: io_t; inout ifnam: ifname_t; inout brdaddr: sockaddr_t); skip; /* 36 SIOCGIFCONF -- implemented in C library */ /* 37 SIOCGIFNETMASK */ routine iioctl_siocgifnetmask ( reqport: io_t; inout ifnam: ifname_t; inout netmask: sockaddr_t); skip; /* 38 SIOCGARP -- Not implemented yet */ routine iioctl_siocgifhwaddr ( reqport: io_t; inout ifnam: ifname_t; inout netmask: sockaddr_t); skip; skip; /* 40, 41 unused */ skip; skip; skip; skip; /* 42, 43, 44, 45 unused */ skip; skip; skip; skip; /* 46, 47, 48, 49 unused */ skip; /* 50 unused */ /* 51 SIOCGIFMTU */ routine iioctl_siocgifmtu ( reqport: io_t; inout ifnam: ifname_t; inout mtu: int); /* 52 SIOCSIFMTU */ routine iioctl_siocsifmtu ( reqport: io_t; ifnam: ifname_t; mtu: int); skip; skip; skip; skip; /* 53, 54, 55, 56 unused */ skip; skip; skip; skip; /* 57, 58, 59, 60 unused */ skip; skip; skip; skip; /* 61, 62, 63, 64 unused */ skip; skip; skip; skip; /* 65, 66, 67, 68 unused */ skip; skip; skip; skip; /* 69, 70, 71, 72 unused */ skip; skip; skip; skip; /* 73, 74, 75, 76 unused */ skip; skip; skip; skip; /* 77, 78, 79, 80 unused */ skip; skip; skip; skip; /* 81, 82, 83, 84 unused */ skip; skip; skip; skip; /* 85, 86, 87, 88 unused */ skip; /* 89 unused */ /* 90 SIOCGIFINDEX */ routine iioctl_siocgifindex ( reqport: io_t; inout ifnam: ifname_t; inout index: int); /* 91 SIOCGIFNAME */ routine iioctl_siocgifname ( reqport: io_t; inout ifnam: ifname_t; inout index: int);