X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/1c79356b52d46aa6b508fb032f5ae709b1f2897b..9bccf70c0258c7cac2dcb80011b2a964d884c552:/bsd/netat/atp.h?ds=sidebyside diff --git a/bsd/netat/atp.h b/bsd/netat/atp.h index 72dd34ae0..6eb0af457 100644 --- a/bsd/netat/atp.h +++ b/bsd/netat/atp.h @@ -46,6 +46,7 @@ #ifndef _NETAT_ATP_H_ #define _NETAT_ATP_H_ +#include /* ATP function codes */ @@ -184,7 +185,7 @@ typedef struct { #define ATP_GETREQUEST 3 #ifdef KERNEL - +#ifdef __APPLE_API_PRIVATE /* @@ -319,8 +320,9 @@ struct atp_trans { #define TRANS_TIMEOUT 0 /* waiting for a reply */ #define TRANS_REQUEST 1 /* waiting to send a request */ #define TRANS_RELEASE 2 /* waiting to send a release */ -#define TRANS_DONE 3 /* done - waiting for poll to complete */ +#define TRANS_DONE 3 /* done - waiting for poll to complete */ #define TRANS_FAILED 4 /* done - waiting for poll to report failure */ +#define TRANS_ABORTING 5 /* waiting on atp_trans_abort list for thread to wakeup */ /* * reply control block (local context at repling end) @@ -401,17 +403,20 @@ struct atp_state { #ifdef ATP_DECLARE struct atp_trans *atp_trans_free_list = NULL; /* free transactions */ -struct atp_rcb *atp_rcb_free_list = NULL; /* free rcbs */ -static struct atp_state *atp_free_list = NULL; /* free atp states */ -static struct atp_rcb atp_rcb_data[NATP_RCB]; -static struct atp_state atp_state_data[NATP_STATE]; +struct atp_rcb *atp_rcb_free_list = NULL; /* free rcbs */ +struct atp_state *atp_free_list = NULL; /* free atp states */ +struct atp_trans_qhead atp_trans_abort; /* aborted trans list */ +struct atp_rcb* atp_rcb_data = NULL; +struct atp_state* atp_state_data=NULL; + #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_rcb atp_rcb_data[]; -extern struct atp_state atp_state_data[]; +extern struct atp_rcb *atp_rcb_free_list; /* free rcbs */ +extern struct atp_state *atp_free_list; /* free atp states */ +extern struct atp_rcb* atp_rcb_data; +extern struct atp_state* atp_state_data; +extern struct atp_trans_qhead atp_trans_abort; /* aborting trans list */ extern void atp_req_timeout(); extern void atp_rcb_timer(); @@ -451,5 +456,6 @@ void atp_timout(void (*func)(), struct atp_trans *, int); void atp_untimout(void (*func)(), struct atp_trans *); int atp_tid(struct atp_state *); +#endif /* __APPLE_API_PRIVATE */ #endif /* KERNEL */ #endif /* _NETAT_ATP_H_ */