Change in libosmocore[master]: gsm_08_58.h: Introduce struct abis_rsl_link_id

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Harald Welte gerrit-no-reply at lists.osmocom.org
Wed Oct 10 20:43:25 UTC 2018


Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/11302 )

Change subject: gsm_08_58.h: Introduce struct abis_rsl_link_id
......................................................................

gsm_08_58.h: Introduce struct abis_rsl_link_id

It will allow to make code handling link_id values more easier to read
and less prone to errors.
union is used to be able to get the full octet in
case we need to pass it somewhere else or encode it.

An extra union is used in struct abis_rsl_common_hdr to allow using fields
directly while keeping API compatibility.

Change-Id: Ibd75a493bcfdf46c028ea466867d0c0d83d46343
---
M include/osmocom/gsm/protocol/gsm_08_58.h
1 file changed, 24 insertions(+), 1 deletion(-)

Approvals:
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/include/osmocom/gsm/protocol/gsm_08_58.h b/include/osmocom/gsm/protocol/gsm_08_58.h
index e5ff464..c7a7d8a 100644
--- a/include/osmocom/gsm/protocol/gsm_08_58.h
+++ b/include/osmocom/gsm/protocol/gsm_08_58.h
@@ -25,10 +25,30 @@
 
 #include <stdint.h>
 
+#include <osmocom/core/endian.h>
+
 /*! \addtogroup rsl
  *  @{
  * \file gsm_08_58.h */
 
+/* Link Identifier 9.3.2 */
+union abis_rsl_link_id {
+#if OSMO_IS_BIG_ENDIAN
+		uint8_t cbits:2,
+			na:1,
+			reserved:2;
+			sapi:3;
+#elif OSMO_IS_LITTLE_ENDIAN
+		uint8_t sapi:3,
+			reserved:2,
+			na:1,
+			cbits:2;
+#endif
+		uint8_t link_id;
+} __attribute__ ((packed));
+#define ABIS_RSL_LINK_ID_CBITS_FACCH_SDCCH 0x00
+#define ABIS_RSL_LINK_ID_CBITS_SACCH 0x01
+
 /*! RSL common header */
 struct abis_rsl_common_hdr {
 	uint8_t	msg_discr;	/*!< message discriminator (ABIS_RSL_MDISC_*) */
@@ -42,7 +62,10 @@
 	uint8_t	ie_chan;	/*!< \ref RSL_IE_CHAN_NR (tag) */
 	uint8_t	chan_nr;	/*!< RSL channel number (value) */
 	uint8_t	ie_link_id;	/*!< \ref RSL_IE_LINK_IDENT (tag) */
-	uint8_t	link_id;	/*!< RSL link identifier (value) */
+	union {
+		uint8_t	link_id; /* API backward compat */
+		union abis_rsl_link_id link_id_fields; /*!< RSL link identifier (value) */
+	};
 	uint8_t	data[0];	/*!< message payload data */
 } __attribute__ ((packed));
 

-- 
To view, visit https://gerrit.osmocom.org/11302
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: Ibd75a493bcfdf46c028ea466867d0c0d83d46343
Gerrit-Change-Number: 11302
Gerrit-PatchSet: 3
Gerrit-Owner: Pau Espin Pedrol <pespin at sysmocom.de>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder (1000002)
Gerrit-Reviewer: Pau Espin Pedrol <pespin at sysmocom.de>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20181010/422fd829/attachment.htm>


More information about the gerrit-log mailing list