#ifdef ATP_DECLARE
struct atp_trans *atp_trans_free_list = NULL; /* free transactions */
struct atp_rcb *atp_rcb_free_list = NULL; /* free rcbs */
#ifdef ATP_DECLARE
struct atp_trans *atp_trans_free_list = NULL; /* free transactions */
struct atp_rcb *atp_rcb_free_list = NULL; /* free rcbs */
#else
extern struct atp_trans *atp_trans_free_list; /* free transactions */
extern struct atp_rcb *atp_rcb_free_list; /* free rcbs */
extern struct atp_state *atp_free_list; /* free atp states */
#else
extern struct atp_trans *atp_trans_free_list; /* free transactions */
extern struct atp_rcb *atp_rcb_free_list; /* free rcbs */
extern struct atp_state *atp_free_list; /* free atp states */
extern struct atp_trans_qhead atp_trans_abort; /* aborting trans list */
extern void atp_req_timeout();
extern struct atp_trans_qhead atp_trans_abort; /* aborting trans list */
extern void atp_req_timeout();
void atp_untimout(void (*func)(), struct atp_trans *);
int atp_tid(struct atp_state *);
void atp_untimout(void (*func)(), struct atp_trans *);
int atp_tid(struct atp_state *);