Home | History | Annotate | Line # | Download | only in common
linux_sockio.h revision 1.19
      1  1.19  christos /*	$NetBSD: linux_sockio.h,v 1.19 2013/01/11 19:01:36 christos Exp $	*/
      2   1.6       erh 
      3   1.6       erh /*-
      4   1.8      fvdl  * Copyright (c) 1995, 1998 The NetBSD Foundation, Inc.
      5   1.6       erh  * All rights reserved.
      6   1.6       erh  *
      7   1.6       erh  * This code is derived from software contributed to The NetBSD Foundation
      8   1.8      fvdl  * by Frank van der Linden and Eric Haszlakiewicz.
      9   1.6       erh  *
     10   1.6       erh  * Redistribution and use in source and binary forms, with or without
     11   1.6       erh  * modification, are permitted provided that the following conditions
     12   1.6       erh  * are met:
     13   1.6       erh  * 1. Redistributions of source code must retain the above copyright
     14   1.6       erh  *    notice, this list of conditions and the following disclaimer.
     15   1.6       erh  * 2. Redistributions in binary form must reproduce the above copyright
     16   1.6       erh  *    notice, this list of conditions and the following disclaimer in the
     17   1.6       erh  *    documentation and/or other materials provided with the distribution.
     18   1.6       erh  *
     19   1.6       erh  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
     20   1.6       erh  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
     21   1.6       erh  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     22   1.6       erh  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
     23   1.6       erh  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     24   1.6       erh  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     25   1.6       erh  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     26   1.6       erh  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     27   1.6       erh  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     28   1.6       erh  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     29   1.6       erh  * POSSIBILITY OF SUCH DAMAGE.
     30   1.1      fvdl  */
     31   1.1      fvdl 
     32   1.7  christos #ifndef _LINUX_SOCKIO_H
     33   1.7  christos #define _LINUX_SOCKIO_H
     34   1.2      fvdl 
     35  1.17     joerg #define	LINUX_SIOCGIFNAME	_LINUX_IO(0x89, 0x10)
     36   1.6       erh #define	LINUX_SIOCGIFCONF	_LINUX_IO(0x89, 0x12)
     37   1.6       erh #define	LINUX_SIOCGIFFLAGS	_LINUX_IO(0x89, 0x13)
     38  1.10      fvdl #define	LINUX_SIOCSIFFLAGS	_LINUX_IO(0x89, 0x14)
     39   1.6       erh #define	LINUX_SIOCGIFADDR	_LINUX_IO(0x89, 0x15)
     40  1.11      fvdl #define	LINUX_SIOCSIFADDR	_LINUX_IO(0x89, 0x16)
     41   1.6       erh #define	LINUX_SIOCGIFDSTADDR	_LINUX_IO(0x89, 0x17)
     42   1.6       erh #define	LINUX_SIOCGIFBRDADDR	_LINUX_IO(0x89, 0x19)
     43   1.6       erh #define	LINUX_SIOCGIFNETMASK	_LINUX_IO(0x89, 0x1b)
     44  1.18       dsl #define	LINUX_SIOCGIFMTU	_LINUX_IO(0x89, 0x21)
     45   1.6       erh #define LINUX_SIOCADDMULTI	_LINUX_IO(0x89, 0x31)
     46   1.6       erh #define LINUX_SIOCDELMULTI	_LINUX_IO(0x89, 0x32)
     47   1.9       jtk #define LINUX_SIOCGIFHWADDR	_LINUX_IO(0x89, 0x27)
     48  1.13      fvdl #define LINUX_SIOCDEVPRIVATE	_LINUX_IO(0x89, 0xf0)
     49  1.14      fvdl #define LINUX_SIOCGIFBR		_LINUX_IO(0x89, 0x40)
     50  1.14      fvdl #define LINUX_SIOCSIFBR		_LINUX_IO(0x89, 0x41)
     51   1.2      fvdl 
     52  1.16     njoly #define LINUX_IFNAMSIZ	16
     53  1.16     njoly 
     54  1.16     njoly struct linux_ifmap {
     55  1.16     njoly 	unsigned long mem_start;
     56  1.16     njoly 	unsigned long mem_end;
     57  1.16     njoly 	unsigned short base_addr;
     58  1.16     njoly 	unsigned char irq;
     59  1.16     njoly 	unsigned char dma;
     60  1.16     njoly 	unsigned char port;
     61  1.16     njoly };
     62  1.16     njoly 
     63  1.16     njoly struct linux_ifreq {
     64  1.16     njoly 	union {
     65  1.16     njoly 		char ifrn_name[LINUX_IFNAMSIZ];	/* if name, e.g. "en0" */
     66  1.16     njoly 	} ifr_ifrn;
     67  1.16     njoly 	union {
     68  1.16     njoly 		struct osockaddr ifru_addr;
     69  1.16     njoly 		struct osockaddr ifru_hwaddr;
     70  1.16     njoly 		struct linux_ifmap ifru_map;
     71  1.17     joerg 		int ifru_ifindex;
     72  1.16     njoly 	} ifr_ifru;
     73  1.16     njoly #define ifr_name	ifr_ifrn.ifrn_name	/* interface name       */
     74  1.16     njoly #define ifr_addr	ifr_ifru.ifru_addr	/* address              */
     75  1.16     njoly #define ifr_hwaddr	ifr_ifru.ifru_hwaddr	/* MAC address          */
     76  1.16     njoly #define ifr_map		ifr_ifru.ifru_map	/* device map           */
     77  1.16     njoly };
     78  1.16     njoly 
     79  1.19  christos struct linux_ifconf {
     80  1.19  christos         int ifc_len;
     81  1.19  christos 	union {
     82  1.19  christos 		char *ifcu_buf;
     83  1.19  christos 		struct linux_ifreq *ifcu_req;
     84  1.19  christos 	} ifc_ifcu;
     85  1.19  christos };
     86  1.19  christos 
     87  1.19  christos #define ifc_buf ifc_ifcu.ifcu_buf
     88  1.19  christos #define ifc_req ifc_ifcu.ifcu_req
     89  1.19  christos 
     90   1.7  christos #endif /* !_LINUX_SOCKIO_H */
     91