1: /*
   2:  * Copyright (c) 1986 Regents of the University of California.
   3:  * All rights reserved.  The Berkeley software License Agreement
   4:  * specifies the terms and conditions for redistribution.
   5:  *
   6:  *	@(#)if_uba.h	1.2 (2.11BSD GTE) 12/24/92
   7:  */
   8: 
   9: /*
  10:  * Structure and routine definitions
  11:  * for UNIBUS network interfaces.
  12:  */
  13: 
  14: #define IF_MAXNUBAMR    10
  15: /*
  16:  * Each interface has one of these structures giving information
  17:  * about UNIBUS resources held by the interface.
  18:  *
  19:  * We hold IF_NUBAMR map registers for datagram data, starting
  20:  * at ifr_mr.  Map register ifr_mr[-1] maps the local network header
  21:  * ending on the page boundary.  Bdp's are reserved for read and for
  22:  * write, given by ifr_bdp.  The prototype of the map register for
  23:  * read and for write is saved in ifr_proto.
  24:  *
  25:  * When write transfers are not full pages on page boundaries we just
  26:  * copy the data into the pages mapped on the UNIBUS and start the
  27:  * transfer.  If a write transfer is of a (1024 byte) page on a page
  28:  * boundary, we swap in UNIBUS pte's to reference the pages, and then
  29:  * remap the initial pages (from ifu_wmap) when the transfer completes.
  30:  *
  31:  * When read transfers give whole pages of data to be input, we
  32:  * allocate page frames from a network page list and trade them
  33:  * with the pages already containing the data, mapping the allocated
  34:  * pages to replace the input pages for the next UNIBUS data input.
  35:  */
  36: struct  ifuba {
  37:     short   ifu_hlen;           /* local net header length */
  38:     struct ifrw {
  39:         u_int   ifrw_click;             /* MMU click address */
  40:         u_long  ifrw_info;              /* value from ubaalloc */
  41:     } ifu_r, ifu_w;
  42:     short   ifu_flags;
  43:     struct  mbuf *ifu_xtofree;      /* pages being dma'd out */
  44: };
  45: 
  46: #ifdef SUPERVISOR
  47: struct  mbuf *if_rubaget();
  48: #endif
  49: #if defined(KERNEL) && defined(INET)
  50: #define ubarelse(a,b)
  51: #define useracc(a,c,m)      (1)
  52: ubadr_t uballoc(), ubmalloc();
  53: #endif

Defined struct's

ifrw defined in line 38; used 14 times

Defined macros

IF_MAXNUBAMR defined in line 14; never used
ubarelse defined in line 50; never used
useracc defined in line 51; used 1 times

Usage of this include

Last modified: 1992-12-25
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 86
Valid CSS Valid XHTML 1.0 Strict