1*2c497c00Skarels /**************************************************************************/
2*2c497c00Skarels /*           structures internal to the HMP implementation                */
3*2c497c00Skarels /**************************************************************************/
4*2c497c00Skarels 
5*2c497c00Skarels struct hmp_hdr		/* HMP packet header */
6*2c497c00Skarels {
7*2c497c00Skarels     u_char hh_systyp;	/* system type */
8*2c497c00Skarels     u_char hh_msgtyp;	/* message type */
9*2c497c00Skarels     u_char hh_port;	/* application port # */
10*2c497c00Skarels     u_char hh_ctlflg;	/* control flag */
11*2c497c00Skarels     u_short hh_seq;	/* sequence # */
12*2c497c00Skarels     u_short hh_passwd;	/* remote/local passwd */
13*2c497c00Skarels     u_short hh_cksum;	/* checksum */
14*2c497c00Skarels };
15*2c497c00Skarels 
16*2c497c00Skarels #define HMPIPHDR (sizeof(struct ip)+sizeof(struct hmp_hdr))
17*2c497c00Skarels 
18*2c497c00Skarels struct hmpcb 		/* HMP pcb */
19*2c497c00Skarels {
20*2c497c00Skarels     struct inpcb *hp_inpcb;	/* pointer to inpcb */
21*2c497c00Skarels     u_char hp_flags;		/* flags */
22*2c497c00Skarels     u_char hp_lsystyp;		/* local system type */
23*2c497c00Skarels     u_char hp_rsystyp;		/* remote system type */
24*2c497c00Skarels     u_char hp_lmsgtyp;		/* local message type */
25*2c497c00Skarels     u_char hp_rmsgtyp;		/* remote message type */
26*2c497c00Skarels     u_char hp_ctlflg;		/* control flags */
27*2c497c00Skarels     u_short hp_lseq;		/* local sequence number */
28*2c497c00Skarels     u_short hp_rseq;		/* remote sequence number */
29*2c497c00Skarels     u_short hp_lpasswd;		/* local password */
30*2c497c00Skarels     u_short hp_rpasswd;		/* remote password */
31*2c497c00Skarels };
32*2c497c00Skarels 
33*2c497c00Skarels struct hmp_stat
34*2c497c00Skarels {
35*2c497c00Skarels     struct in_stat h_in;
36*2c497c00Skarels #define h_total		h_in.in_total
37*2c497c00Skarels #define h_badsum	h_in.in_badsum
38*2c497c00Skarels #define h_tooshort	h_in.in_tooshort
39*2c497c00Skarels #define h_drops		h_in.in_drops
40*2c497c00Skarels };
41*2c497c00Skarels 
42*2c497c00Skarels #define intohmpcb(i)	((struct hmpcb *) ((i)->inp_ppcb))
43*2c497c00Skarels 
44*2c497c00Skarels #ifdef KERNEL
45*2c497c00Skarels extern struct inpcb hmp;
46*2c497c00Skarels #endif
47