BBN-V6/h/rawnet.h
#ifdef RMI
#define RAWDEV ((253<<8)|0) /* (-3, 0) device of /dev/net/rawmsg */
#define NCPLOMSG (72*16) /* one of these is assigned to */
#define RAWLOMSG 0 /* LOMSG by rawopen */
int LOMSG; /* LOMSG and HIMSG define the range of msgs useable */
#define HIMSG ((255*16)+15) /* for raw messages, i.e., not used by ncp */
#define ELSEMSG ((255*16)+15) /* if open, gets anything no others do */
#define RAWTSIZE 16 /* number of raw msgs open at once */
#define ROPENFLAGS (n_open|n_raw) /* flags for rawskt */
#define MAXMSG (1008 + impllen) /* 1006 data + leader + 2 length word */
#define RAWPAD 4 /* MAXMSG + RAWPAD may be read when MAXMSG written */
struct rawparams {
int z_mode; /* 0, 1, or 2 as in mode on standard file opens */
long z_host; /* zero means anyhost */
int z_lomsg; /* low end of range */
int z_himsg; /* high end: if zero, set equal to lomsg */
};
#define UNSIGN int
struct rawskt { /* goes over all inode completely if MSG is defined otherwise
* i_addr[0] */
#ifdef MSG
int unused[5]; /* these are not used by the net
* software. Should be tampered
* with only with care since they
* include fields that are
* referenced as inode fields. */
int INS_cnt; /* unused */
int *itab_p; /* pointer to itab, used by await */
#endif
int v_conent; /* unused */
int v_bsize; /* unused */
UNSIGN v_flags; /* always ROPENFLAGS (see also net.h) */
int v_msgs; /* unused */
int v_bytes; /* left to transfer in current message */
int v_msgq; /* message que */
UNSIGN v_qtotal; /* bytes in msgq */
UNSIGN v_hiwat; /* unused */
char *v_proc; /* process currently (last) using socket */
};
struct rawentry {
long y_host; /* host number */
int y_lomsg; /* low end of msgrange */
int y_himsg; /* high end */
int y_rawskt; /* read or write rawskt of msg */
} r_rawtab[RAWTSIZE], w_rawtab[RAWTSIZE]; /* read and write raw tables */
/* points to rawtab entry of read msg (ELSEMSG) which gets */
struct rawentry *elseentry; /* all messages not claimed by other msgs */
long ZERO0L; /* fake a long constant zero (initialized in rawmain.c) */
#endif