Home | History | Annotate | Line # | Download | only in common
linux_sockio.h revision 1.18.12.1
      1  1.18.12.1      yamt /*	$NetBSD: linux_sockio.h,v 1.18.12.1 2013/01/23 00:06:02 yamt 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.18.12.1      yamt struct linux_ifconf {
     80  1.18.12.1      yamt         int ifc_len;
     81  1.18.12.1      yamt 	union {
     82  1.18.12.1      yamt 		char *ifcu_buf;
     83  1.18.12.1      yamt 		struct linux_ifreq *ifcu_req;
     84  1.18.12.1      yamt 	} ifc_ifcu;
     85  1.18.12.1      yamt };
     86  1.18.12.1      yamt 
     87  1.18.12.1      yamt #define ifc_buf ifc_ifcu.ifcu_buf
     88  1.18.12.1      yamt #define ifc_req ifc_ifcu.ifcu_req
     89  1.18.12.1      yamt 
     90        1.7  christos #endif /* !_LINUX_SOCKIO_H */
     91