<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>