summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/osmocom/gsm/protocol/gsm_04_08.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/osmocom/gsm/protocol/gsm_04_08.h b/include/osmocom/gsm/protocol/gsm_04_08.h
index e442c7f9..7efd7e87 100644
--- a/include/osmocom/gsm/protocol/gsm_04_08.h
+++ b/include/osmocom/gsm/protocol/gsm_04_08.h
@@ -947,6 +947,16 @@ static inline uint8_t gsm48_hdr_trans_id(const struct gsm48_hdr *hdr)
return (hdr->proto_discr & 0xf0) >> 4;
}
+/*! \brief Check if TA is valid according to 3GPP TS 44.018 ยง 10.5.2.40
+ * \param[in] ta Timing Advance value
+ * \returns true if ta is valid, false otherwise
+ * Note: Rules for GSM400 band are ignored as it's not implemented in practice.
+ */
+static inline bool gsm48_ta_is_valid(uint8_t ta)
+{
+ return (ta < 64);
+}
+
static inline uint8_t gsm48_hdr_trans_id_flip_ti(const struct gsm48_hdr *hdr)
{
return gsm48_hdr_trans_id(hdr) ^ 0x08;