Extend L1SAP PH-DATA with presence information
diff mbox

Message ID 1456135406-24049-1-git-send-email-msuraev@sysmocom.de
State Accepted
Headers show

Commit Message

Max Feb. 22, 2016, 10:03 a.m. UTC
From: Max <msuraev@sysmocom.de>

Previously the presence of header and data blocks were communicated
in-band which decreases code readability and makes it unnecessary hard
to add support for new hardware.

Note: OsmoBTS have to be modified to take advantage of extended
ph_data_param structure.
---
 TODO-RELEASE                |  1 +
 include/osmocom/gsm/l1sap.h | 11 +++++++++++
 2 files changed, 12 insertions(+)

Patch
diff mbox

diff --git a/TODO-RELEASE b/TODO-RELEASE
index edf1099..0939336 100644
--- a/TODO-RELEASE
+++ b/TODO-RELEASE
@@ -1,2 +1,3 @@ 
 #library	what		description / commit summary line
 libosmocore	change major	external talloc dependency / internal talloc removal
+libosmocore	change major	size of ph_data_param struct changed / Extend L1SAP PH-DATA with presence information
\ No newline at end of file
diff --git a/include/osmocom/gsm/l1sap.h b/include/osmocom/gsm/l1sap.h
index 9f3fe98..1af8ba8 100644
--- a/include/osmocom/gsm/l1sap.h
+++ b/include/osmocom/gsm/l1sap.h
@@ -25,6 +25,16 @@  enum osmo_mph_info_type {
 	PRIM_INFO_DEACT_CIPH,	/*!< \brief Deactivation of ciphering */
 };
 
+/*! \brief PH-DATA presence information */
+enum osmo_ph_pres_info_type {
+	PRES_INFO_INVALID = 0,	/*!< \brief Data is invalid */
+	PRES_INFO_HEADER  = 1,	/*!< \brief Only header is present and valid */
+	PRES_INFO_FIRST   = 3,	/*!< \brief First half of data + header are valid (2nd half may be present but invalid) */
+	PRES_INFO_SECOND  = 5,	/*!< \brief Second half of data + header are valid (1st halfmay be present but invalid) */
+	PRES_INFO_BOTH    = 7,	/*!< \brief Both parts + header are present and valid */
+	PRES_INFO_UNKNOWN
+};
+
 /*! \brief for PH-RANDOM_ACCESS.req */
 struct ph_rach_req_param {
 	uint8_t ra;		/*!< \brief Random Access */
@@ -48,6 +58,7 @@  struct ph_data_param {
 	uint8_t chan_nr;	/*!< \brief Channel Number (Like RSL) */
 	uint32_t fn;		/*!< \brief GSM Frame Number */
 	int8_t rssi;		/*!< \brief RSSI of receivedindication */
+	enum osmo_ph_pres_info_type pdch_presence_info; /*!< \brief Info regarding presence/validity of header and data parts */
 };
 
 /*! \brief for TCH.{req,ind} | TCH-RTS.ind */