<p>laforge <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/libosmocore/+/14471">View Change</a></p><div style="white-space:pre-wrap">Approvals:
Jenkins Builder: Verified
laforge: Looks good to me, approved
</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Add Cell Broadcast related definitions from 3GPP TS 23.041<br><br>Change-Id: I1e2c62cb9047648907c91b99f764f6caba8f4493<br>---<br>M include/Makefile.am<br>A include/osmocom/gsm/protocol/gsm_23_041.h<br>2 files changed, 90 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/Makefile.am b/include/Makefile.am</span><br><span>index 7835fab..a82d6ac 100644</span><br><span>--- a/include/Makefile.am</span><br><span>+++ b/include/Makefile.am</span><br><span>@@ -123,6 +123,7 @@</span><br><span> osmocom/gsm/protocol/gsm_09_02.h \</span><br><span> osmocom/gsm/protocol/gsm_12_21.h \</span><br><span> osmocom/gsm/protocol/gsm_23_003.h \</span><br><span style="color: hsl(120, 100%, 40%);">+ osmocom/gsm/protocol/gsm_23_041.h \</span><br><span> osmocom/gsm/protocol/gsm_29_118.h \</span><br><span> osmocom/gsm/protocol/gsm_44_318.h \</span><br><span> osmocom/gsm/protocol/gsm_48_049.h \</span><br><span>diff --git a/include/osmocom/gsm/protocol/gsm_23_041.h b/include/osmocom/gsm/protocol/gsm_23_041.h</span><br><span>new file mode 100644</span><br><span>index 0000000..c75c088</span><br><span>--- /dev/null</span><br><span>+++ b/include/osmocom/gsm/protocol/gsm_23_041.h</span><br><span>@@ -0,0 +1,89 @@</span><br><span style="color: hsl(120, 100%, 40%);">+#pragma once</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* Section 9.4.1.2: GSM Message Format */</span><br><span style="color: hsl(120, 100%, 40%);">+struct gsm23041_msg_param_gsm {</span><br><span style="color: hsl(120, 100%, 40%);">+ uint16_t serial_nr;</span><br><span style="color: hsl(120, 100%, 40%);">+ uint16_t message_id;</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t dcs;</span><br><span style="color: hsl(120, 100%, 40%);">+ struct {</span><br><span style="color: hsl(120, 100%, 40%);">+#if OSMO_IS_LITTLE_ENDIAN</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t num_pages:4,</span><br><span style="color: hsl(120, 100%, 40%);">+ page_nr:4;</span><br><span style="color: hsl(120, 100%, 40%);">+#else</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t page_nr:4,</span><br><span style="color: hsl(120, 100%, 40%);">+ num_pages:4;</span><br><span style="color: hsl(120, 100%, 40%);">+#endif</span><br><span style="color: hsl(120, 100%, 40%);">+ } page_param;</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t content[0];</span><br><span style="color: hsl(120, 100%, 40%);">+} __attribute__ ((packed));</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* Section 9.4.1.2.2 Message Identifier */</span><br><span style="color: hsl(120, 100%, 40%);">+enum {</span><br><span style="color: hsl(120, 100%, 40%);">+ /* 0 - 999: Allocated by GSM AD.26 */</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_LCS_EOTD_ASSIST = 1000,</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_LCS_DGPS_CORRECTION = 1001,</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_LCS_GPS_EPHEM_CLOCK = 1002,</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_LCS_GPS_ALMANAC_OTHER = 1003,</span><br><span style="color: hsl(120, 100%, 40%);">+ /* 1004 - 4095: RFU */</span><br><span style="color: hsl(120, 100%, 40%);">+ /* 4096 - 4223: clear text SIM data download */</span><br><span style="color: hsl(120, 100%, 40%);">+ /* 4224 - 4351: secured SIM data download */</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_ETWS_EARTHQUAKE = 4352,</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_ETWS_TSUNAMI = 4353,</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_ETWS_EARTHQUAKE_TSUNAMI = 4354,</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_ETWS_TEST = 4355,</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_ETWS_OTHER = 4356,</span><br><span style="color: hsl(120, 100%, 40%);">+ /* 4357 - 4359: ETWS RFU */</span><br><span style="color: hsl(120, 100%, 40%);">+ /* 4360 - 4369: RFU */</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_CMAS_PRESIDENTIAL = 4370,</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_CMAS_EXTREME_IMMEDIATE_OBSERVED = 4371,</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_CMAS_EXTREME_IMMEDIATE_LIKELY = 4372,</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_CMAS_EXTREME_EXPECTED_OBSERVED = 4373,</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_CMAS_EXTREME_EXPECTED_LIKELY = 4374,</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_CMAS_SEVERE_IMMEDIATE_OBSERVED = 4375,</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_CMAS_SEVERE_IMMEDIATE_LIKELY = 4376,</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_CMAS_SEVERE_EXPECTED_OBSERVED = 4377,</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_CMAS_SEVERE_EXPECTED_LIKELY = 4378,</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_CMAS_AMBER = 4379,</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_CMAS_MONTHLY_TEST = 4380,</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_CMAS_EXERCISE = 4381,</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_CMAS_OPERATOR_DEFINED = 4382,</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_CMAS_PRESIDENTIAL_ADDL = 4383,</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_CMAS_EXTREME_IMMEDIATE_OBSERVED_ADDL = 4384,</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_CMAS_EXTREME_IMMEDIATE_LIKELY_ADDL = 4385,</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_CMAS_EXTREME_EXPECTED_OBSERVED_ADDL = 4386,</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_CMAS_EXTREME_EXPECTED_LIKELY_ADDL = 4387,</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_CMAS_SEVERE_IMMEDIATE_OBSERVED_ADDL = 4388,</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_CMAS_SEVERE_IMMEDIATE_LIKELY_ADDL = 4389,</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_CMAS_SEVERE_EXPECTED_OBSERVED_ADDL = 4390,</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_CMAS_SEVERE_EXPECTED_LIKELY_ADDL = 4391,</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_CMAS_AMBER_ADDL = 4392,</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_CMAS_MONTHLY_TEST_ADDL = 4393,</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_CMAS_EXERCISE_ADDL = 4394,</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_CMAS_OPERATOR_DEFINED_ADDL = 4395,</span><br><span style="color: hsl(120, 100%, 40%);">+ /* 4396 - 4399: RFU CMAS / EU-Alert */</span><br><span style="color: hsl(120, 100%, 40%);">+ /* 4400 - 6399: RFU PWS */</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_EU_INFO_LOCAL_LANG = 6400,</span><br><span style="color: hsl(120, 100%, 40%);">+ /* 6491 - 40959: RFU */</span><br><span style="color: hsl(120, 100%, 40%);">+ /* 40960 - 45055: PLMN operator specific range */</span><br><span style="color: hsl(120, 100%, 40%);">+ /* 45056 - 61439: PLMN operator specific range RFU */</span><br><span style="color: hsl(120, 100%, 40%);">+ /* 61440 - 65534: PLMN operator specific range */</span><br><span style="color: hsl(120, 100%, 40%);">+ CBS_MSGID_RESERVED = 65535</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* Section 9.4.1.3.2 ETWS Primary Notification Message Parameter */</span><br><span style="color: hsl(120, 100%, 40%);">+struct gsm23041_etws_primary_gsm {</span><br><span style="color: hsl(120, 100%, 40%);">+ uint16_t serial_nr;</span><br><span style="color: hsl(120, 100%, 40%);">+ uint16_t message_id;</span><br><span style="color: hsl(120, 100%, 40%);">+ uint16_t warning_type;</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t warning_sec_info[50];</span><br><span style="color: hsl(120, 100%, 40%);">+} __attribute__ ((packed));</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* Section 9.4.2.2 UMTS Message Parameter */</span><br><span style="color: hsl(120, 100%, 40%);">+struct gsm23041_msg_param_umts {</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t msg_type; /* as per TS 25.324 */</span><br><span style="color: hsl(120, 100%, 40%);">+ uint16_t message_id;</span><br><span style="color: hsl(120, 100%, 40%);">+ uint16_t serial_nr;</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t dcs;</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t content[0];</span><br><span style="color: hsl(120, 100%, 40%);">+} __attribute__ ((packed));</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/libosmocore/+/14471">change 14471</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/libosmocore/+/14471"/><meta itemprop="name" content="View Change"/></div></div>
<div style="display:none"> Gerrit-Project: libosmocore </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I1e2c62cb9047648907c91b99f764f6caba8f4493 </div>
<div style="display:none"> Gerrit-Change-Number: 14471 </div>
<div style="display:none"> Gerrit-PatchSet: 5 </div>
<div style="display:none"> Gerrit-Owner: laforge <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-CC: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>