186d7f5d3SJohn Marino /* 286d7f5d3SJohn Marino * Copyright (c) 1999 M. Warner Losh <imp@village.org> 386d7f5d3SJohn Marino * All rights reserved. 486d7f5d3SJohn Marino * 586d7f5d3SJohn Marino * Redistribution and use in source and binary forms, with or without 686d7f5d3SJohn Marino * modification, are permitted provided that the following conditions 786d7f5d3SJohn Marino * are met: 886d7f5d3SJohn Marino * 1. Redistributions of source code must retain the above copyright 986d7f5d3SJohn Marino * notice, this list of conditions and the following disclaimer. 1086d7f5d3SJohn Marino * 2. Redistributions in binary form must reproduce the above copyright 1186d7f5d3SJohn Marino * notice, this list of conditions and the following disclaimer in the 1286d7f5d3SJohn Marino * documentation and/or other materials provided with the distribution. 1386d7f5d3SJohn Marino * 1486d7f5d3SJohn Marino * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 1586d7f5d3SJohn Marino * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 1686d7f5d3SJohn Marino * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 1786d7f5d3SJohn Marino * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 1886d7f5d3SJohn Marino * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 1986d7f5d3SJohn Marino * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 2086d7f5d3SJohn Marino * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 2186d7f5d3SJohn Marino * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 2286d7f5d3SJohn Marino * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 2386d7f5d3SJohn Marino * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 2486d7f5d3SJohn Marino * 2586d7f5d3SJohn Marino * $FreeBSD: src/sys/dev/sn/if_snvar.h,v 1.2 2000/01/22 17:24:16 hosokawa Exp $ 2686d7f5d3SJohn Marino * $DragonFly: src/sys/dev/netif/sn/if_snvar.h,v 1.2 2003/06/17 04:28:29 dillon Exp $ 2786d7f5d3SJohn Marino */ 2886d7f5d3SJohn Marino 2986d7f5d3SJohn Marino #ifndef _IF_SNVAR_H 3086d7f5d3SJohn Marino #define _IF_SNVAR_H 3186d7f5d3SJohn Marino 3286d7f5d3SJohn Marino #include <net/if_arp.h> 3386d7f5d3SJohn Marino 3486d7f5d3SJohn Marino /* 3586d7f5d3SJohn Marino * Ethernet software status per interface. The first element MUST 3686d7f5d3SJohn Marino * be the arpcom struct since the address of the arpcom struct is 3786d7f5d3SJohn Marino * used as a backdoor to obtain the address of this whole structure 3886d7f5d3SJohn Marino * in many cases. 3986d7f5d3SJohn Marino */ 4086d7f5d3SJohn Marino struct sn_softc { 4186d7f5d3SJohn Marino struct arpcom arpcom; /* Ethernet common part */ 4286d7f5d3SJohn Marino short sn_io_addr; /* i/o bus address (BASE) */ 4386d7f5d3SJohn Marino int pages_wanted; /* Size of outstanding MMU ALLOC */ 4486d7f5d3SJohn Marino int intr_mask; /* Most recently set interrupt mask */ 4586d7f5d3SJohn Marino device_t dev; 4686d7f5d3SJohn Marino void *intrhand; 4786d7f5d3SJohn Marino struct resource *irq_res; 4886d7f5d3SJohn Marino int irq_rid; 4986d7f5d3SJohn Marino struct resource *port_res; 5086d7f5d3SJohn Marino int port_rid; 5186d7f5d3SJohn Marino int pccard_enaddr; /* MAC address in pccard CIS tupple */ 5286d7f5d3SJohn Marino }; 5386d7f5d3SJohn Marino 5486d7f5d3SJohn Marino int sn_probe(device_t, int); 5586d7f5d3SJohn Marino int sn_attach(device_t); 5686d7f5d3SJohn Marino void sn_intr(void *); 5786d7f5d3SJohn Marino 5886d7f5d3SJohn Marino int sn_activate(device_t); 5986d7f5d3SJohn Marino void sn_deactivate(device_t); 6086d7f5d3SJohn Marino 6186d7f5d3SJohn Marino #endif /* _IF_SNVAR_H */ 62