BBN-Vax-TCP/include/netmap.h
/*
* basic types
*/
typedef unsigned short map_index; /* indices */
typedef unsigned short map_count; /* counts */
typedef unsigned short map_cap; /* capability */
/*
* the map header simply contains counts of the number
* of entries in each array that follows
*/
typedef struct {
map_count map_nnet; /* # network entries */
map_count map_nhost; /* # host entries */
map_count map_nchar; /* # name characters */
map_count map_ndial; /* # dial digits */
} map_head;
/*
* one entry for each network
*/
typedef struct {
map_index net_name; /* index to name(s) */
map_cap net_cap; /* network capabilities */
map_index net_next; /* search chain */
map_index net_host; /* index to host(s) */
map_count net_nhost; /* # hosts */
} net_ent;
/*
* one entry for each host
* sorted by network address (net,imp,hoi)
*/
typedef struct {
map_index host_name; /* index to name(s) */
netaddr host_addr; /* network address */
map_cap host_cap; /* host capabilities */
} host_ent;
/*
* name and dial digit buffers follow
* these are character arrays
* multiple names are kept in lists terminated by an empty string
*/
#ifdef LIBN
/*
* base pointers for in-core copy of map
*/
extern map_head *_netmap; /* -> network map header */
extern net_ent *_nettab; /* -> network table */
extern host_ent *_hosttab; /* -> host table */
extern char *_namebuf; /* -> name buffer */
extern char *_dialbuf; /* -> digit buffer */
/*
* local host table
*/
extern netaddr _lhosttab[]; /* local host addresses */
#define _LHOSTSIZ 16 /* max number */
extern unsigned _lhostcnt; /* actual number */
/*
* dial digit extension buffer
*/
extern char _dialext[]; /* dial digit buffer extension */
#define _DIALSIZ (4*(NETNAMSIZ+1)) /* size of buffer */
extern unsigned _dialcnt; /* # digits in buffer */
/*
* internal access functions
*/
extern net_ent *_nnetp(); /* network number to net pointer */
extern host_ent *_shostp(); /* name to host ent pointer */
extern host_ent *_ahostp(); /* network address to host pointer */
#endif LIBN