1 1.4 christos /* $NetBSD: linux32_sockio.h,v 1.4 2013/01/11 19:01:36 christos Exp $ */ 2 1.1 njoly 3 1.1 njoly /* 4 1.1 njoly * Copyright (c) 2008 Nicolas Joly 5 1.1 njoly * All rights reserved. 6 1.1 njoly * 7 1.1 njoly * Redistribution and use in source and binary forms, with or without 8 1.1 njoly * modification, are permitted provided that the following conditions 9 1.1 njoly * are met: 10 1.1 njoly * 1. Redistributions of source code must retain the above copyright 11 1.1 njoly * notice, this list of conditions and the following disclaimer. 12 1.1 njoly * 2. Redistributions in binary form must reproduce the above copyright 13 1.1 njoly * notice, this list of conditions and the following disclaimer in the 14 1.1 njoly * documentation and/or other materials provided with the distribution. 15 1.1 njoly * 16 1.1 njoly * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS 17 1.1 njoly * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 18 1.1 njoly * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19 1.1 njoly * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 20 1.1 njoly * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 21 1.1 njoly * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 22 1.1 njoly * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 23 1.1 njoly * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 24 1.1 njoly * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 25 1.1 njoly * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 26 1.1 njoly * POSSIBILITY OF SUCH DAMAGE. 27 1.1 njoly */ 28 1.1 njoly 29 1.1 njoly #ifndef _LINUX32_SOCKIO_H 30 1.1 njoly #define _LINUX32_SOCKIO_H 31 1.1 njoly 32 1.1 njoly #define LINUX32_IFNAMSIZ 16 33 1.1 njoly 34 1.1 njoly struct linux32_ifmap { 35 1.1 njoly netbsd32_u_long mem_start; 36 1.1 njoly netbsd32_u_long mem_end; 37 1.1 njoly unsigned short base_addr; 38 1.1 njoly unsigned char irq; 39 1.1 njoly unsigned char dma; 40 1.1 njoly unsigned char port; 41 1.1 njoly }; 42 1.1 njoly 43 1.1 njoly struct linux32_ifreq { 44 1.1 njoly union { 45 1.1 njoly char ifrn_name[LINUX32_IFNAMSIZ]; 46 1.1 njoly } ifr_ifrn; 47 1.1 njoly union { 48 1.2 njoly struct osockaddr ifru_addr; 49 1.1 njoly struct osockaddr ifru_hwaddr; 50 1.1 njoly struct linux32_ifmap ifru_map; 51 1.3 joerg int ifru_ifindex; 52 1.1 njoly } ifr_ifru; 53 1.1 njoly #define ifr_name ifr_ifrn.ifrn_name /* interface name */ 54 1.2 njoly #define ifr_addr ifr_ifru.ifru_addr /* address */ 55 1.1 njoly #define ifr_hwaddr ifr_ifru.ifru_hwaddr /* MAC address */ 56 1.1 njoly #define ifr_map ifr_ifru.ifru_map /* device map */ 57 1.1 njoly }; 58 1.1 njoly 59 1.4 christos struct linux32_ifconf { 60 1.4 christos int ifc_len; 61 1.4 christos union { 62 1.4 christos netbsd32_caddr_t ifcu_buf; 63 1.4 christos netbsd32_ifreq_tp_t ifcu_req; 64 1.4 christos } ifc_ifcu; 65 1.4 christos }; 66 1.4 christos 67 1.4 christos #define ifc_buf ifc_ifcu.ifcu_buf 68 1.4 christos #define ifc_req ifc_ifcu.ifcu_req 69 1.4 christos 70 1.1 njoly #endif /* !_LINUX32_SOCKIO_H */ 71