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