Message ID | 1455905874-14883-1-git-send-email-msuraev@sysmocom.de |
---|---|
State | Superseded |
Headers | show |
> On 19 Feb 2016, at 19:17, msuraev@sysmocom.de wrote: > > good! > > +/*! \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 */ do you intend to use it as a bit mask or why the b101 and b111? > + PRES_INFO_UNKNOWN > +}; > + > /*! \brief for PH-RANDOM_ACCESS.req */ > struct ph_rach_req_param { > > + enum osmo_ph_pres_info_type pdch_presence_info; /*!< \brief Info regarding presence/validity of header and data parts */ > }; This might or might not change the size of the struct osmo_phsap_prim and then we have an ABI issue. For such cases we have created the TODO-RELEASE file to indicate that we need to bump the SOVERSION on the next release. holger
Good point, totally forgot about TODO-RELEASE. As for values - I've took them directly from off-list comment by Harald. I suspect there might be other places where hardcoded values are used. cheers, Max.
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 */
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: both OsmoBTS and OsmoPCU have to be modified to take advantage of extended ph_data_param structure. --- include/osmocom/gsm/l1sap.h | 11 +++++++++++ 1 file changed, 11 insertions(+)