aboutsummaryrefslogtreecommitdiffstats
path: root/src/tbf.h
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2021-03-29 18:15:30 +0200
committerPau Espin Pedrol <pespin@sysmocom.de>2021-03-31 17:39:50 +0200
commit86580e1966b7272cad75c845607e45b8347cf758 (patch)
tree3b65144d5888c3c1eed7fbb5de9ee2c86bdfdcda /src/tbf.h
parentb5ae0811d1667e792fc3a4e550384791f4bca4c9 (diff)
pdch_ulc: Store TBF poll reason
This allows easily checking the initial reason to trigger the poll when either it is received or times out. Later on this reason can be transformed into an FSM event and sent to the related FSM. Related: OS#5020 Change-Id: Ie8fefd1f47ad674ce597a8065b15284088956bde
Diffstat (limited to 'src/tbf.h')
-rw-r--r--src/tbf.h17
1 files changed, 5 insertions, 12 deletions
diff --git a/src/tbf.h b/src/tbf.h
index 779bc263..83c1b707 100644
--- a/src/tbf.h
+++ b/src/tbf.h
@@ -46,6 +46,7 @@ extern "C" {
#include <osmocom/gsm/gsm48.h>
#include "coding_scheme.h"
+#include <pdch_ul_controller.h>
#ifdef __cplusplus
}
#endif
@@ -63,14 +64,6 @@ enum gprs_rlcmac_tbf_state {
GPRS_RLCMAC_RELEASING, /* releasing, wait to free TBI/USF */
};
-enum gprs_rlcmac_tbf_poll_type {
- GPRS_RLCMAC_POLL_UL_ASS,
- GPRS_RLCMAC_POLL_DL_ASS,
- GPRS_RLCMAC_POLL_UL_ACK,
- GPRS_RLCMAC_POLL_DL_ACK,
- GPRS_RLCMAC_POLL_CELL_CHG_CONTINUE,
-};
-
enum gprs_rlcmac_tbf_poll_state {
GPRS_RLCMAC_POLL_NONE = 0,
GPRS_RLCMAC_POLL_SCHED, /* a polling was scheduled */
@@ -208,8 +201,8 @@ bool tbf_is_tfi_assigned(const struct gprs_rlcmac_tbf *tbf);
uint8_t tbf_tfi(const struct gprs_rlcmac_tbf *tbf);
int tbf_assign_control_ts(struct gprs_rlcmac_tbf *tbf);
int tbf_check_polling(const struct gprs_rlcmac_tbf *tbf, uint32_t fn, uint8_t ts, uint32_t *poll_fn, unsigned int *rrbp);
-void tbf_set_polling(struct gprs_rlcmac_tbf *tbf, uint32_t new_poll_fn, uint8_t ts, enum gprs_rlcmac_tbf_poll_type t);
-void tbf_poll_timeout(struct gprs_rlcmac_tbf *tbf);
+void tbf_set_polling(struct gprs_rlcmac_tbf *tbf, uint32_t new_poll_fn, uint8_t ts, enum pdch_ulc_tbf_poll_reason t);
+void tbf_poll_timeout(struct gprs_rlcmac_tbf *tbf, enum pdch_ulc_tbf_poll_reason reason);
#ifdef __cplusplus
}
#endif
@@ -267,8 +260,8 @@ struct gprs_rlcmac_tbf {
int check_polling(uint32_t fn, uint8_t ts,
uint32_t *poll_fn, unsigned int *rrbp) const;
- void set_polling(uint32_t poll_fn, uint8_t ts, enum gprs_rlcmac_tbf_poll_type t);
- void poll_timeout();
+ void set_polling(uint32_t poll_fn, uint8_t ts, enum pdch_ulc_tbf_poll_reason reason);
+ void poll_timeout(enum pdch_ulc_tbf_poll_reason reason);
/** tlli handling */
uint32_t tlli() const;