--- include/atalk/atp.h.orig	Fri Oct 22 03:52:54 1993
+++ include/atalk/atp.h	Thu Nov 18 15:59:42 1999
@@ -47,9 +47,9 @@
  |----------------|
 */
 struct atphdr {
-    u_char	atphd_ctrlinfo;	/* control information */
-    u_char	atphd_bitmap;   /* bitmap or sequence number */
-    u_short	atphd_tid;	/* transaction id. */
+    u_int8_t	atphd_ctrlinfo;	/* control information */
+    u_int8_t	atphd_bitmap;   /* bitmap or sequence number */
+    u_int16_t	atphd_tid;	/* transaction id. */
 };
 
 /* ATP protocol parameters
@@ -70,7 +70,7 @@
 #define ATP_TRIES_INFINITE	-1	/* for atp_sreq, etc */
 
 struct atpxobuf {
-    u_short		atpxo_tid;
+    u_int16_t		atpxo_tid;
     struct timeval	atpxo_tv;
     int			atpxo_reltime;
     struct atpbuf	*atpxo_packet[8];
@@ -89,16 +89,16 @@
 struct atp_handle {
     int			atph_socket;		/* ddp socket */
     struct sockaddr_at	atph_saddr;		/* address */
-    u_short		atph_tid;		/* last tid used */
-    u_short		atph_rtid;		/* last received (rreq) */
-    u_char		atph_rxo;		/* XO flag from last rreq */
+    u_int16_t		atph_tid;		/* last tid used */
+    u_int16_t		atph_rtid;		/* last received (rreq) */
+    u_int8_t		atph_rxo;		/* XO flag from last rreq */
     int			atph_rreltime;		/* release time (secs) */
     struct atpbuf	*atph_sent;		/* packets we send (XO) */
     struct atpbuf	*atph_queue;		/* queue of pending packets */
     int			atph_reqtries;		/* retry count for request */
     int			atph_reqto;		/* retry timeout for request */
     int			atph_rrespcount;	/* expected # of responses */
-    u_char		atph_rbitmap;		/* bitmap for request */
+    u_int8_t		atph_rbitmap;		/* bitmap for request */
     struct atpbuf	*atph_reqpkt;		/* last request packet */
     struct timeval	atph_reqtv;		/* when we last sent request */
     struct atpbuf	*atph_resppkt[8];	/* response to request */
@@ -152,7 +152,7 @@
 #define atp_sresiov	atp_data.sresdata.atpd_iov
 #define atp_sresiovcnt	atp_data.sresdata.atpd_iovcnt
     } atp_data;
-    u_char		atp_bitmap;	/* response buffer bitmap */
+    u_int8_t		atp_bitmap;	/* response buffer bitmap */
 };
 
 
@@ -175,6 +175,7 @@
 #endif
 
 struct atpbuf	*alloc_buf();
+int		free_buf();
 ATP		atp_open();
 int		atp_close();
 int		atp_sreq();
@@ -182,3 +183,9 @@
 int		atp_rsel();
 int		atp_rreq();
 int		atp_sresp();
+int		recv_atp();
+
+void		build_req_packet();
+void		build_resp_packet();
+
+int		at_addr_eq();
