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
ifuba
defined in line
36; used 34 times
Defined macros
Usage of this include