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