Annotation of sys/dev/pci/if_lmc_types.h, Revision 1.1
1.1 ! nbrk 1: /* $OpenBSD: if_lmc_types.h,v 1.5 2005/11/14 14:56:02 mickey Exp $ */
! 2: /* $NetBSD: if_lmc_types.h,v 1.2 1999/03/25 04:09:33 explorer Exp $ */
! 3:
! 4: /*-
! 5: * Copyright (c) 1997-1999 LAN Media Corporation (LMC)
! 6: * All rights reserved. www.lanmedia.com
! 7: *
! 8: * This code is written by Michael Graff <graff@vix.com> for LMC.
! 9: * The code is derived from permitted modifications to software created
! 10: * by Matt Thomas (matt@3am-software.com).
! 11: *
! 12: * Redistribution and use in source and binary forms, with or without
! 13: * modification, are permitted provided that the following conditions
! 14: * are met:
! 15: * 1. Redistributions of source code must retain the above copyright
! 16: * notice, this list of conditions and the following disclaimer.
! 17: * 2. Redistributions in binary form must reproduce the above
! 18: * copyright notice, this list of conditions and the following disclaimer
! 19: * in the documentation and/or other materials provided with the
! 20: * distribution.
! 21: * 3. All marketing or advertising materials mentioning features or
! 22: * use of this software must display the following acknowledgement:
! 23: * This product includes software developed by LAN Media Corporation
! 24: * and its contributors.
! 25: * 4. Neither the name of LAN Media Corporation nor the names of its
! 26: * contributors may be used to endorse or promote products derived
! 27: * from this software without specific prior written permission.
! 28: *
! 29: * THIS SOFTWARE IS PROVIDED BY LAN MEDIA CORPORATION AND CONTRIBUTORS
! 30: * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
! 31: * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
! 32: * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
! 33: * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
! 34: * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
! 35: * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
! 36: * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
! 37: * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
! 38: * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
! 39: * THE POSSIBILITY OF SUCH DAMAGE.
! 40: */
! 41:
! 42: #ifndef LMC_TYPES_H
! 43: #define LMC_TYPES_H
! 44:
! 45: #if defined(_KERNEL)
! 46:
! 47: /*
! 48: * LMC has weird endianness issues, so we can't use the tulip_desc_t.
! 49: */
! 50: typedef struct {
! 51: u_int32_t d_status;
! 52: u_int32_t d_ctl;
! 53: u_int32_t d_addr1;
! 54: u_int32_t d_addr2;
! 55: } lmc_desc_t;
! 56:
! 57: #define LMC_CTL_FLGS(x) (((x)>>22)&0x3ff)
! 58: #define LMC_CTL_LEN2(x) (((x)>>11)&0x7ff)
! 59: #define LMC_CTL_LEN1(x) ((x)&0x7ff)
! 60: #define LMC_CTL(f,l1,l2) ((((f)&0x3ff)<<22)|(((l2)&0x7ff)<<11)|((l1)&0x7ff))
! 61:
! 62: typedef bus_size_t lmc_csrptr_t;
! 63:
! 64: #define lmc_intrfunc_t int
! 65:
! 66: typedef struct lmc___softc lmc_softc_t;
! 67: typedef struct lmc___media lmc_media_t;
! 68: typedef struct lmc_ringinfo lmc_ringinfo_t;
! 69:
! 70: #endif /* _KERNEL */
! 71:
! 72: typedef struct lmc___ctl lmc_ctl_t;
! 73:
! 74: #endif /* LMC_TYPES_H */
CVSweb