- decl_lck_mtx_data(, input_lck);
- lck_grp_t *lck_grp; /* lock group (for lock stats) */
- u_int32_t input_waiting; /* DLIL condition of thread */
- u_int32_t wtot; /* # of wakeup requests */
- char input_name[DLIL_THREADNAME_LEN]; /* name storage */
- struct ifnet *ifp; /* pointer to interface */
- class_queue_t rcvq_pkts; /* queue of pkts */
- struct ifnet_stat_increment_param stats; /* incremental statistics */
+ decl_lck_mtx_data(, dlth_lock);
+ class_queue_t dlth_pkts; /* queue of pkts */
+ struct ifnet *dlth_ifp; /* pointer to interface */
+ struct ifnet_stat_increment_param dlth_stats; /* incremental stats */
+ uint32_t dlth_flags; /* thread flags (see below) */
+ uint32_t dlth_wtot; /* # of wakeup requests */
+
+ /* strategy (sync or async) */
+ errno_t (*dlth_strategy)(struct dlil_threading_info *,
+ struct ifnet *, struct mbuf *, struct mbuf *,
+ const struct ifnet_stat_increment_param *, boolean_t,
+ struct thread *);
+