NR_TXRX
(++(t_) < NR_TXRX ? (p_)->np_qfirst[(t_)] : (i_)))
int num_rings[NR_TXRX], tot_rings;
u_int i, want[NR_TXRX], revents = 0;
NM_SELINFO_T *si[NR_TXRX];
u_int n[NR_TXRX];
u_int np_qfirst[NR_TXRX],
np_qlast[NR_TXRX]; /* range of tx/rx rings to scan */
NM_SELINFO_T *np_si[NR_TXRX];
#define for_rx_tx(t) for ((t) = 0; (t) < NR_TXRX; (t)++)
uint32_t mon_pos[NR_TXRX]; /* index of this ring in the monitored ring array */
struct netmap_zmon_list zmon_list[NR_TXRX];
NM_SELINFO_T si[NR_TXRX]; /* global wait queues */
int si_users[NR_TXRX];
u_int i, len, n[NR_TXRX], ntot;