--- 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();