aboutsummaryrefslogtreecommitdiffstats
path: root/src/gprs_rlcmac.h
diff options
context:
space:
mode:
authorIvan Kluchnikov <kluchnikovi@gmail.com>2012-06-26 16:54:22 +0400
committerIvan Kluchnikov <kluchnikovi@gmail.com>2012-06-26 16:54:22 +0400
commitcf7b3a529fe35e1cac38baa1cdcb9e88899fc694 (patch)
tree30f8362f16cbe7c3ac69c9f168c462d54073b5ff /src/gprs_rlcmac.h
parent477e79e67e82f315d71721b67a07e0aed540b460 (diff)
parent7d7cf54f39b9136749d47336576688ce150be49d (diff)
Merge branch 'jolly'
Merged jolly branch with master, fixed conflicts.
Diffstat (limited to 'src/gprs_rlcmac.h')
-rw-r--r--src/gprs_rlcmac.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/gprs_rlcmac.h b/src/gprs_rlcmac.h
index 7f9e3d7d..60afbbdd 100644
--- a/src/gprs_rlcmac.h
+++ b/src/gprs_rlcmac.h
@@ -76,6 +76,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 */
@@ -96,6 +98,8 @@ enum gprs_rlcmac_block_type {
extern struct llist_head gprs_rlcmac_tbfs;
+int select_pdch(uint8_t *_trx, uint8_t *_ts);
+
int tfi_alloc();
static struct gprs_rlcmac_tbf *tbf_by_tfi(uint8_t tfi, gprs_rlcmac_tbf_direction dir);
@@ -110,7 +114,7 @@ int tbf_add_llc_pdu(struct gprs_rlcmac_tbf *tbf, uint8_t *data, uint16_t llc_pdu
struct gprs_rlcmac_tbf *tbf_alloc(gprs_rlcmac_tbf_direction dir, uint32_t tlli = 0);
-int tbf_ul_establish(struct gprs_rlcmac_tbf *tbf, uint8_t ra, uint32_t Fn, uint16_t ta);
+int tbf_ul_establish(struct gprs_rlcmac_tbf *tbf, uint8_t ra, uint32_t Fn, uint16_t qta);
int tbf_dl_establish(struct gprs_rlcmac_tbf *tbf, uint8_t *imsi = NULL);
@@ -126,7 +130,7 @@ static void tbf_timer_start(struct gprs_rlcmac_tbf *tbf, unsigned int T, unsigne
static void tbf_gsm_timer_start(struct gprs_rlcmac_tbf *tbf, unsigned int fT, int frames);
-int write_immediate_assignment(bitvec * dest, uint8_t downlink, uint8_t ra, uint32_t fn, uint8_t ta, uint8_t tfi, uint32_t tlli = 0);
+int write_immediate_assignment(bitvec * dest, uint8_t downlink, uint8_t ra, uint32_t fn, uint8_t ta, uint16_t arfcn, uint8_t ts, uint8_t tsc, uint8_t tfi, uint32_t tlli = 0);
void gprs_rlcmac_tx_ul_ack(uint8_t tfi, uint32_t tlli, RlcMacUplinkDataBlock_t * ul_data_block);
@@ -138,7 +142,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);
int gprs_rlcmac_tx_llc_pdus(struct gprs_rlcmac_tbf *tbf);