diff options
Diffstat (limited to 'src/gprs_rlcmac.h')
-rw-r--r-- | src/gprs_rlcmac.h | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/gprs_rlcmac.h b/src/gprs_rlcmac.h index eb651c61..d18c516e 100644 --- a/src/gprs_rlcmac.h +++ b/src/gprs_rlcmac.h @@ -52,6 +52,8 @@ struct gprs_rlcmac_tbf { uint8_t rlc_data[LLC_MAX_LEN]; uint16_t data_index; uint8_t bsn; + uint8_t trx, ts, tsc; + uint16_t arfcn, ta; struct osmo_timer_list timer; unsigned int T; /* Txxxx number */ @@ -66,13 +68,13 @@ extern struct llist_head gprs_rlcmac_tbfs; int tfi_alloc(); -struct gprs_rlcmac_tbf *tbf_alloc(uint8_t tfi); +struct gprs_rlcmac_tbf *tbf_alloc(uint8_t tfi, uint8_t trx, uint8_t ts); -static struct gprs_rlcmac_tbf *tbf_by_tfi(uint8_t tfi); +struct gprs_rlcmac_tbf *tbf_by_tfi(uint8_t tfi); -static struct gprs_rlcmac_tbf *tbf_by_tlli(uint8_t tlli); +struct gprs_rlcmac_tbf *tbf_by_tlli(uint8_t tlli); -static void tbf_free(struct gprs_rlcmac_tbf *tbf); +void tbf_free(struct gprs_rlcmac_tbf *tbf); /* TS 44.060 Section 10.4.7 Table 10.4.7.1: Payload Type field */ enum gprs_rlcmac_block_type { @@ -92,7 +94,10 @@ int gprs_rlcmac_rcv_control_block(bitvec *rlc_block); void gprs_rlcmac_rcv_block(bitvec *rlc_block); -int gprs_rlcmac_rcv_rach(uint8_t ra, uint32_t Fn, uint16_t ta); +void gprs_rlcmac_rcv_rts_block(uint8_t trx, uint8_t ts, uint16_t arfcn, + uint32_t fn, uint8_t block_nr); + +int gprs_rlcmac_rcv_rach(uint8_t ra, uint32_t Fn, int16_t qta); void gprs_rlcmac_tx_dl_data_block(uint32_t tlli, uint8_t tfi, uint8_t *pdu, int start_index, int end_index, uint8_t bsn, uint8_t fbi); |