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