OSSL_TIME_MS
#define OSSL_TIME_US (OSSL_TIME_MS / 1000)
#define ossl_ms2time(ms) ossl_ticks2time((ms) * OSSL_TIME_MS)
#define ossl_time2ms(t) (ossl_time2ticks(t) / OSSL_TIME_MS)
#define K_GRANULARITY (1 * OSSL_TIME_MS)
{ TX_ACK_TIME_OP_PKT, (advance) * OSSL_TIME_MS, (pn), (num_pn), NULL },
{ TX_ACK_TIME_OP_ACK, (advance) * OSSL_TIME_MS, (pn), (num_pn), NULL },
RX_OPK_PKT, (advance) * OSSL_TIME_MS, (pn), (num_pn), \
RX_OPK_CHECK_UNPROC, (advance) * OSSL_TIME_MS, (pn), (num_pn), \
RX_OPK_CHECK_PROC, (advance) * OSSL_TIME_MS, (pn), (num_pn), \
RX_OPK_CHECK_STATE, (advance) * OSSL_TIME_MS, 0, 0, \
RX_OPK_CHECK_ACKS, (advance) * OSSL_TIME_MS, 0, 0, \
RX_OPK_CHECK_ACKS, (advance) * OSSL_TIME_MS, 0, 0, \
RX_OPK_TX, (advance) * OSSL_TIME_MS, (pn), 1, \
RX_OPK_RX_ACK, (advance) * OSSL_TIME_MS, (pn), (num_pn), \
RX_OP_STEP_TIME(1000 * OSSL_TIME_MS)
RX_OP_RETIRE(0, 20, 50 * OSSL_TIME_MS, 0)
RX_OP_STEP_TIME(201 * OSSL_TIME_MS)
RX_OP_RETIRE(0, INIT_WINDOW_SIZE - 60, 50 * OSSL_TIME_MS, 0)
RX_OP_STEP_TIME(201 * OSSL_TIME_MS)
RX_OP_RETIRE(0, INIT_WINDOW_SIZE, 50 * OSSL_TIME_MS, 0)
RX_OP_STEP_TIME(199 * OSSL_TIME_MS)
RX_OP_RETIRE(0, INIT_WINDOW_SIZE, 50 * OSSL_TIME_MS, 0)
RX_OP_STEP_TIME(250 * OSSL_TIME_MS)
RX_OP_STEP_TIME(1000 * OSSL_TIME_MS)
RX_OP_RETIRE(0, 10, 50 * OSSL_TIME_MS, 0)
RX_OP_RETIRE(1, 42, 50 * OSSL_TIME_MS, 0)
RX_OP_STEP_TIME(1000 * OSSL_TIME_MS)
RX_OP_RETIRE(0, INIT_S_WINDOW_SIZE - 10, 50 * OSSL_TIME_MS, 0)
return ossl_time_multiply(ossl_ticks2time(OSSL_TIME_MS), counter);
ossl_ticks2time(OSSL_TIME_MS))))
{ OSSL_TIME_MS },