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