Hi Alexander,
I may just have broken your patch-set accidentially by converting
mncc_names to value_string, sorry for that :/
Regarding your patch, I have to disagree about several topics:
On Wed, Nov 25, 2015 at 03:31:04PM -0500, Alexander Chemeris wrote:
-static struct mncc_names {
+struct name_value {
char *name;
int value;
-} mncc_names[] = {
+};
Is there a specific reason to introduce a new structure rather than use
struct value_string from libosmocore, which is used all over the Osmo*
code for this kind of name-value mapping? All code should use that
infrastructure, and the occasional separate implementation should bec
converted to value_string.
+static struct name_value mncc_locations[] = {
+ {"GSM48_CAUSE_LOC_USER", 0x00},
1) The cause values and cause locations are GSM 04.08, not MNCC
specific. As such, they belong into libosmogsm, not OsmoNITB. Also,
they shouldn't be called 'mncc_locations' if in fact they are GSM
04.08 locations.
2) Also, rather than introducing magic numbers, the defnitions from
<osmocmo/gsm/protocol/gsm_04_08.h> should be used, making the above an
struct value_string gsm48_cause_loc_names[] = {
{ GSM48_CAUSE_LOC_USER, "GSM48_CAUSE_LOC_USER" },
3) And finally, the string should be more user-readable than the cryptic
#define/enum value, i.e.
struct value_string gsm48_cause_loc_names[] = {
{ GSM48_CAUSE_LOC_USER, "User" },
Regards,
Harald
--
- Harald Welte <laforge(a)gnumonks.org>
http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)