<p>Max has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/12564">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">MNCC: move messages into public header and convert to enum<br><br>Change-Id: Ie808b42871d3847b6b47964d9b0504b3c51c2fd0<br>---<br>M include/osmocom/gsm/mncc.h<br>M src/gsm/mncc.c<br>2 files changed, 78 insertions(+), 78 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/64/12564/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmocom/gsm/mncc.h b/include/osmocom/gsm/mncc.h</span><br><span>index 7e7d12c..0513fb2 100644</span><br><span>--- a/include/osmocom/gsm/mncc.h</span><br><span>+++ b/include/osmocom/gsm/mncc.h</span><br><span>@@ -8,6 +8,83 @@</span><br><span> #define GSM_MAX_SSVERSION      128</span><br><span> #define GSM_MAX_USERUSER       128</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+#define MNCC_SOCK_VERSION     5</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+enum osmo_mncc_msg {</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_SETUP_REQ          = 0x0101,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_SETUP_IND          = 0x0102,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_SETUP_RSP          = 0x0103,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_SETUP_CNF          = 0x0104,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_SETUP_COMPL_REQ    = 0x0105,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_SETUP_COMPL_IND    = 0x0106,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_CALL_CONF_IND      = 0x0107,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_CALL_PROC_REQ      = 0x0108,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_PROGRESS_REQ       = 0x0109,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_ALERT_REQ          = 0x010a,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_ALERT_IND          = 0x010b,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_NOTIFY_REQ         = 0x010c,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_NOTIFY_IND         = 0x010d,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_DISC_REQ           = 0x010e,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_DISC_IND           = 0x010f,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_REL_REQ            = 0x0110,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_REL_IND            = 0x0111,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_REL_CNF            = 0x0112,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_FACILITY_REQ       = 0x0113,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_FACILITY_IND       = 0x0114,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_START_DTMF_IND     = 0x0115,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_START_DTMF_RSP     = 0x0116,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_START_DTMF_REJ     = 0x0117,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_STOP_DTMF_IND      = 0x0118,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_STOP_DTMF_RSP      = 0x0119,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_MODIFY_REQ         = 0x011a,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_MODIFY_IND         = 0x011b,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_MODIFY_RSP         = 0x011c,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_MODIFY_CNF         = 0x011d,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_MODIFY_REJ         = 0x011e,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_HOLD_IND           = 0x011f,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_HOLD_CNF           = 0x0120,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_HOLD_REJ           = 0x0121,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_RETRIEVE_IND       = 0x0122,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_RETRIEVE_CNF       = 0x0123,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_RETRIEVE_REJ       = 0x0124,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_USERINFO_REQ       = 0x0125,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_USERINFO_IND       = 0x0126,</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   /* MNCC_REJ_* is perfomed via MNCC_REL_* */</span><br><span style="color: hsl(120, 100%, 40%);">+   MNCC_REJ_REQ            = 0x0127,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_REJ_IND            = 0x0128,</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   MNCC_BRIDGE             = 0x0200,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_FRAME_RECV         = 0x0201,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_FRAME_DROP         = 0x0202,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_LCHAN_MODIFY       = 0x0203,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_RTP_CREATE         = 0x0204,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_RTP_CONNECT        = 0x0205,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_RTP_FREE           = 0x0206,</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   MNCC_SOCKET_HELLO       = 0x0400,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_F_BEARER_CAP       = 0x0001,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_F_CALLED           = 0x0002,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_F_CALLING          = 0x0004,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_F_REDIRECTING      = 0x0008,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_F_CONNECTED        = 0x0010,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_F_CAUSE            = 0x0020,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_F_USERUSER         = 0x0040,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_F_PROGRESS         = 0x0080,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_F_EMERGENCY        = 0x0100,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_F_FACILITY         = 0x0200,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_F_SSVERSION        = 0x0400,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_F_CCCAP            = 0x0800,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_F_KEYPAD           = 0x1000,</span><br><span style="color: hsl(120, 100%, 40%);">+     MNCC_F_SIGNAL           = 0x2000,</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   GSM_TCHF_FRAME          = 0x0300,</span><br><span style="color: hsl(120, 100%, 40%);">+     GSM_TCHF_FRAME_EFR      = 0x0301,</span><br><span style="color: hsl(120, 100%, 40%);">+     GSM_TCHH_FRAME          = 0x0302,</span><br><span style="color: hsl(120, 100%, 40%);">+     GSM_TCH_FRAME_AMR       = 0x0303,</span><br><span style="color: hsl(120, 100%, 40%);">+     GSM_BAD_FRAME           = 0x03ff,</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /* Expanded fields from GSM TS 04.08, Table 10.5.102 */</span><br><span> struct gsm_mncc_bearer_cap {</span><br><span>   int             transfer;       /* Information Transfer Capability */</span><br><span>@@ -93,6 +170,6 @@</span><br><span>   _osmo_mncc_log(ss, level, __FILE__, __LINE__, prefix, msg, len);</span><br><span> </span><br><span> extern const struct value_string osmo_mncc_names[];</span><br><span style="color: hsl(0, 100%, 40%);">-static inline const char *osmo_mncc_name(uint32_t msg_type) {</span><br><span style="color: hsl(120, 100%, 40%);">+static inline const char *osmo_mncc_name(enum osmo_mncc_msg msg_type) {</span><br><span>    return get_value_string(osmo_mncc_names, msg_type);</span><br><span> }</span><br><span>diff --git a/src/gsm/mncc.c b/src/gsm/mncc.c</span><br><span>index 938cf9a..b8724d8 100644</span><br><span>--- a/src/gsm/mncc.c</span><br><span>+++ b/src/gsm/mncc.c</span><br><span>@@ -35,82 +35,6 @@</span><br><span> #include <osmocom/gsm/mncc.h></span><br><span> </span><br><span> /* FIXME FIXME FIXME FIXME FIXME START */</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_SETUP_REQ                0x0101</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_SETUP_IND            0x0102</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_SETUP_RSP            0x0103</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_SETUP_CNF            0x0104</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_SETUP_COMPL_REQ      0x0105</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_SETUP_COMPL_IND      0x0106</span><br><span style="color: hsl(0, 100%, 40%);">-/* MNCC_REJ_* is perfomed via MNCC_REL_* */</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_CALL_CONF_IND     0x0107</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_CALL_PROC_REQ        0x0108</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_PROGRESS_REQ 0x0109</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_ALERT_REQ            0x010a</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_ALERT_IND            0x010b</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_NOTIFY_REQ           0x010c</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_NOTIFY_IND           0x010d</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_DISC_REQ             0x010e</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_DISC_IND             0x010f</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_REL_REQ              0x0110</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_REL_IND              0x0111</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_REL_CNF              0x0112</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_FACILITY_REQ 0x0113</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_FACILITY_IND 0x0114</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_START_DTMF_IND       0x0115</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_START_DTMF_RSP       0x0116</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_START_DTMF_REJ       0x0117</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_STOP_DTMF_IND        0x0118</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_STOP_DTMF_RSP        0x0119</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_MODIFY_REQ           0x011a</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_MODIFY_IND           0x011b</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_MODIFY_RSP           0x011c</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_MODIFY_CNF           0x011d</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_MODIFY_REJ           0x011e</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_HOLD_IND             0x011f</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_HOLD_CNF             0x0120</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_HOLD_REJ             0x0121</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_RETRIEVE_IND 0x0122</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_RETRIEVE_CNF 0x0123</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_RETRIEVE_REJ 0x0124</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_USERINFO_REQ 0x0125</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_USERINFO_IND 0x0126</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_REJ_REQ              0x0127</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_REJ_IND              0x0128</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_BRIDGE               0x0200</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_FRAME_RECV           0x0201</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_FRAME_DROP           0x0202</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_LCHAN_MODIFY 0x0203</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_RTP_CREATE           0x0204</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_RTP_CONNECT  0x0205</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_RTP_FREE             0x0206</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-#define GSM_TCHF_FRAME            0x0300</span><br><span style="color: hsl(0, 100%, 40%);">-#define GSM_TCHF_FRAME_EFR        0x0301</span><br><span style="color: hsl(0, 100%, 40%);">-#define GSM_TCHH_FRAME            0x0302</span><br><span style="color: hsl(0, 100%, 40%);">-#define GSM_TCH_FRAME_AMR 0x0303</span><br><span style="color: hsl(0, 100%, 40%);">-#define GSM_BAD_FRAME             0x03ff</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_SOCKET_HELLO 0x0400</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-#define GSM_MAX_FACILITY  128</span><br><span style="color: hsl(0, 100%, 40%);">-#define GSM_MAX_SSVERSION    128</span><br><span style="color: hsl(0, 100%, 40%);">-#define GSM_MAX_USERUSER     128</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-#define      MNCC_F_BEARER_CAP       0x0001</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_F_CALLED             0x0002</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_F_CALLING            0x0004</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_F_REDIRECTING        0x0008</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_F_CONNECTED  0x0010</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_F_CAUSE              0x0020</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_F_USERUSER           0x0040</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_F_PROGRESS           0x0080</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_F_EMERGENCY  0x0100</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_F_FACILITY           0x0200</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_F_SSVERSION  0x0400</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_F_CCCAP              0x0800</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_F_KEYPAD             0x1000</span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_F_SIGNAL             0x2000</span><br><span> </span><br><span> struct gsm_mncc {</span><br><span>      /* context based information */</span><br><span>@@ -155,7 +79,6 @@</span><br><span>         unsigned char   data[0];</span><br><span> };</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-#define MNCC_SOCK_VERSION     5</span><br><span> struct gsm_mncc_hello {</span><br><span>         uint32_t        msg_type;</span><br><span>    uint32_t        version;</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/12564">change 12564</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/12564"/><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-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: Ie808b42871d3847b6b47964d9b0504b3c51c2fd0 </div>
<div style="display:none"> Gerrit-Change-Number: 12564 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Max <msuraev@sysmocom.de> </div>