The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/dev/hfa/fore.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*
    2  *
    3  * ===================================
    4  * HARP  |  Host ATM Research Platform
    5  * ===================================
    6  *
    7  *
    8  * This Host ATM Research Platform ("HARP") file (the "Software") is
    9  * made available by Network Computing Services, Inc. ("NetworkCS")
   10  * "AS IS".  NetworkCS does not provide maintenance, improvements or
   11  * support of any kind.
   12  *
   13  * NETWORKCS MAKES NO WARRANTIES OR REPRESENTATIONS, EXPRESS OR IMPLIED,
   14  * INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
   15  * AND FITNESS FOR A PARTICULAR PURPOSE, AS TO ANY ELEMENT OF THE
   16  * SOFTWARE OR ANY SUPPORT PROVIDED IN CONNECTION WITH THIS SOFTWARE.
   17  * In no event shall NetworkCS be responsible for any damages, including
   18  * but not limited to consequential damages, arising from or relating to
   19  * any use of the Software or related support.
   20  *
   21  * Copyright 1994-1998 Network Computing Services, Inc.
   22  *
   23  * Copies of this Software may be made, however, the above copyright
   24  * notice must be reproduced on all copies.
   25  *
   26  *      @(#) $FreeBSD: releng/5.3/sys/dev/hfa/fore.h 78505 2001-06-20 17:09:14Z pirzyk $
   27  *
   28  */
   29 
   30 /*
   31  * FORE Systems 200-Series Adapter Support
   32  * ---------------------------------------
   33  *
   34  * Protocol and implementation definitions
   35  *
   36  */
   37 
   38 #ifndef _FORE_H
   39 #define _FORE_H
   40 
   41 #ifndef FORE_DEV_NAME
   42 #define FORE_DEV_NAME   "hfa"
   43 #endif
   44 
   45 #define FORE_MAX_UNITS  8       /* Maximum number of devices we support */
   46 #define FORE_MIN_UCODE  0x20300 /* Minimum microcode version we support */
   47 
   48 #define FORE_IFF_MTU    9188    /* Network interface MTU */
   49 #define FORE_MAX_VCC    1024    /* Maximum number of open VCCs */
   50 #define FORE_MAX_VPI    0       /* Maximum VPI value */
   51 #define FORE_MAX_VCI    1023    /* Maximum VCI value */
   52 #define FORE_DEF_RATE   0x00000000      /* Default rate control = disabled */
   53 
   54 #define XMIT_QUELEN     32      /* Length of transmit queue */
   55 #define RECV_QUELEN     32      /* Length of receive queue */
   56 #define CMD_QUELEN      8       /* Length of command queue */
   57 
   58 #define FORE_TIME_TICK  5       /* Watchdog timer tick (seconds) */
   59 #define FORE_WATCHDOG   3       /* Device watchdog timeout (ticks) */
   60 #define FORE_RECV_RETRY 3       /* Wait for receive queue entry retry count */
   61 #define FORE_RECV_DELAY 10      /* Wait for receive queue entry delay (usec) */
   62 
   63 
   64 /*
   65  * Receive Buffer strategies
   66  */
   67 #define BUF_MIN_VCC     4       /* Minimum for buffer supply calculations */
   68 
   69 #define BUF_DATA_ALIGN  4       /* Fore-required data alignment */
   70 
   71 /*
   72  * Strategy 1 Small - mbuf
   73  * Strategy 1 Large - cluster mbuf
   74  *
   75  * XXX buffer controls - the RECV_MAX_SEGS calculation comes out wrong
   76  * using the true buffer size values if the CP really only does full-cell
   77  * filling of a particular buffer - we must clarify this...it also appears
   78  * the minimum buffer size is 64, even if the CP can only fit in 1 cell.
   79  */
   80 #define SIZEOF_Buf_handle       16      /* XXX sizeof(Buf_handle) */
   81 
   82 #undef m_ext
   83 typedef struct m_ext    M_ext;
   84 #define m_ext           M_dat.MH.MH_dat.MH_ext
   85 #define BUF1_SM_HOFF    (sizeof(struct m_hdr))  /* Buffer-to-handle offset */
   86 #define BUF1_SM_HDR     (sizeof(struct m_hdr) + sizeof(struct pkthdr))
   87 #define BUF1_SM_LEN     (MHLEN)
   88 #define BUF1_LG_HOFF    (sizeof(struct m_hdr) + sizeof(struct pkthdr) \
   89                             + sizeof(M_ext))    /* Buffer-to-handle offset */
   90 /*
   91  * BUF1_SM_DOFF - CP data offset into buffer data space
   92  * BUF1_SM_SIZE - Buffer size
   93  *
   94  * These should be defined as follows, but we need compile-time constants:
   95  *
   96  *      #define BUF1_SM_DOFF (roundup(BUF1_SM_HOFF + SIZEOF_Buf_handle, 
   97  *                      BUF_DATA_ALIGN) - BUF1_SM_HDR)
   98  *      #define BUF1_SM_SIZE    MAX(BUF1_SM_LEN - BUF1_SM_DOFF, 64)
   99  *
  100  */
  101 #define BUF1_SM_DOFF    (SIZEOF_Buf_handle)
  102 #define BUF1_SM_SIZE    (BUF1_SM_LEN - BUF1_SM_DOFF)
  103 
  104 #define BUF1_SM_QUELEN  16      /* Entries in supply queue */
  105 #define BUF1_SM_CPPOOL  256     /* Buffers in CP-resident pool */
  106 #define BUF1_SM_ENTSIZE 8       /* Buffers in each supply queue entry */
  107 
  108 #define BUF1_LG_DOFF    0       /* CP data offset into mbuf data space */
  109 #define BUF1_LG_SIZE    MCLBYTES        /* Buffer size */
  110 #define BUF1_LG_QUELEN  16      /* Entries in supply queue */
  111 #define BUF1_LG_CPPOOL  512     /* Buffers in CP-resident pool */
  112 #define BUF1_LG_ENTSIZE 8       /* Buffers in each supply queue entry */
  113 
  114 #endif  /* _FORE_H */

Cache object: 7eb14ee1fe24eb9738a046bb6ee91112


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.