closer to a working imp driver
[unix-history] / usr / src / sys / deprecated / netimp / if_imphost.h
CommitLineData
a2cd4df7 1/* if_imphost.h 4.2 82/02/12 */
81776a4f
SL
2
3/*
4 * Host structure used with IMP's.
5 * Used to hold outgoing packets which
6 * would exceed allowed RFNM count.
7 *
8 * These structures are packed into
9 * mbuf's and kept as small as possible.
10 */
11struct host {
12 struct mbuf *h_q; /* holding queue */
13 struct in_addr h_addr; /* host's address */
14 u_short h_status; /* host status */
15 u_char h_rfnm; /* # outstanding rfnm's */
16 u_char h_refcnt; /* reference count */
17};
18
19#define HOSTS_DOWN 0 /* host believed down */
20#define HOSTS_UP 128 /* host up */
21
22/*
23 * Host structures, as seen inside an mbuf.
24 * Hashing on the host address is used to
25 * select an index into the first mbuf. Collisions
26 * are then resolved by searching successive
27 * mbuf's at the same index. Reclamation is done
28 * automatically at the time a structure is free'd.
29 */
30#define HPMBUF ((MLEN - sizeof(int)) / sizeof(struct host))
31#define HOSTHASH(a) ((a.s_addr) % HPMBUF)
32
33struct hmbuf {
34 int hm_count; /* # of struct's in use */
35 struct host hm_hosts[HPMBUF]; /* data structures proper */
36};
37
38#ifdef KERNEL
a2cd4df7
BJ
39struct host *hostlookup();
40struct host *hostenter();
81776a4f 41#endif