diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2010-07-12 09:11:00 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2010-07-12 09:11:00 +0200 |
commit | 014cb8725cd4ef58e6ef4be830a58bbf59d4aa03 (patch) | |
tree | 767063d55bbc55d2afd1e52eedf8a5fdc73feb99 /src | |
parent | cd2a74bd43883e98c6a4f54bbf43a1915c83d483 (diff) |
Added new IE definitions to gsm_04_08.h of libosmocore.
Also added RR and MM TLV tables to gsm48.c
[import from accidential commit to osmocom-bb.git]
Diffstat (limited to 'src')
-rw-r--r-- | src/gsm48.c | 64 |
1 files changed, 63 insertions, 1 deletions
diff --git a/src/gsm48.c b/src/gsm48.c index d957aef6..756a1825 100644 --- a/src/gsm48.c +++ b/src/gsm48.c @@ -75,6 +75,68 @@ const struct tlv_definition gsm48_att_tlvdef = { }, }; +/* RR elements */ +const struct tlv_definition gsm48_rr_att_tlvdef = { + .def = { + /* NOTE: Don't add IE 17 = MOBILE_ID here, it already used. */ + [GSM48_IE_VGCS_TARGET] = { TLV_TYPE_TLV }, + [GSM48_IE_FRQSHORT_AFTER] = { TLV_TYPE_FIXED, 9 }, + [GSM48_IE_MUL_RATE_CFG] = { TLV_TYPE_TLV }, + [GSM48_IE_FREQ_L_AFTER] = { TLV_TYPE_TLV }, + [GSM48_IE_MSLOT_DESC] = { TLV_TYPE_TLV }, + [GSM48_IE_CHANMODE_2] = { TLV_TYPE_TV }, + [GSM48_IE_FRQSHORT_BEFORE] = { TLV_TYPE_FIXED, 9 }, + [GSM48_IE_CHANMODE_3] = { TLV_TYPE_TV }, + [GSM48_IE_CHANMODE_4] = { TLV_TYPE_TV }, + [GSM48_IE_CHANMODE_5] = { TLV_TYPE_TV }, + [GSM48_IE_CHANMODE_6] = { TLV_TYPE_TV }, + [GSM48_IE_CHANMODE_7] = { TLV_TYPE_TV }, + [GSM48_IE_CHANMODE_8] = { TLV_TYPE_TV }, + [GSM48_IE_FREQ_L_BEFORE] = { TLV_TYPE_TLV }, + [GSM48_IE_CH_DESC_1_BEFORE] = { TLV_TYPE_FIXED, 3 }, + [GSM48_IE_CH_DESC_2_BEFORE] = { TLV_TYPE_FIXED, 3 }, + [GSM48_IE_F_CH_SEQ_BEFORE] = { TLV_TYPE_FIXED, 9 }, + [GSM48_IE_CLASSMARK3] = { TLV_TYPE_TLV }, + [GSM48_IE_MA_BEFORE] = { TLV_TYPE_TLV }, + [GSM48_IE_RR_PACKET_UL] = { TLV_TYPE_TLV }, + [GSM48_IE_RR_PACKET_DL] = { TLV_TYPE_TLV }, + [GSM48_IE_CELL_CH_DESC] = { TLV_TYPE_FIXED, 16 }, + [GSM48_IE_CHANMODE_1] = { TLV_TYPE_TV }, + [GSM48_IE_CHDES_2_AFTER] = { TLV_TYPE_FIXED, 3 }, + [GSM48_IE_MODE_SEC_CH] = { TLV_TYPE_TV }, + [GSM48_IE_F_CH_SEQ_AFTER] = { TLV_TYPE_FIXED, 9 }, + [GSM48_IE_MA_AFTER] = { TLV_TYPE_TLV }, + [GSM48_IE_BA_RANGE] = { TLV_TYPE_TLV }, + [GSM48_IE_GROUP_CHDES] = { TLV_TYPE_TLV }, + [GSM48_IE_BA_LIST_PREF] = { TLV_TYPE_TLV }, + [GSM48_IE_MOB_OVSERV_DIF] = { TLV_TYPE_TLV }, + [GSM48_IE_REALTIME_DIFF] = { TLV_TYPE_TLV }, + [GSM48_IE_START_TIME] = { TLV_TYPE_FIXED, 2 }, + [GSM48_IE_TIMING_ADVANCE] = { TLV_TYPE_TV }, + [GSM48_IE_GROUP_CIP_SEQ] = { TLV_TYPE_SINGLE_TV }, + [GSM48_IE_CIP_MODE_SET] = { TLV_TYPE_SINGLE_TV }, + [GSM48_IE_GPRS_RESUMPT] = { TLV_TYPE_SINGLE_TV }, + [GSM48_IE_SYNC_IND] = { TLV_TYPE_SINGLE_TV }, + }, +}; + +/* MM elements */ +const struct tlv_definition gsm48_mm_att_tlvdef = { + .def = { + [GSM48_IE_MOBILE_ID] = { TLV_TYPE_TLV }, + [GSM48_IE_NAME_LONG] = { TLV_TYPE_TLV }, + [GSM48_IE_NAME_SHORT] = { TLV_TYPE_TLV }, + [GSM48_IE_UTC] = { TLV_TYPE_TV }, + [GSM48_IE_NET_TIME_TZ] = { TLV_TYPE_FIXED, 7 }, + [GSM48_IE_LSA_IDENT] = { TLV_TYPE_TLV }, + + [GSM48_IE_LOCATION_AREA] = { TLV_TYPE_FIXED, 5 }, + [GSM48_IE_PRIORITY_LEV] = { TLV_TYPE_SINGLE_TV }, + [GSM48_IE_FOLLOW_ON_PROC] = { TLV_TYPE_T }, + [GSM48_IE_CTS_PERMISSION] = { TLV_TYPE_T }, + }, +}; + static const struct value_string rr_cause_names[] = { { GSM48_RR_CAUSE_NORMAL, "Normal event" }, { GSM48_RR_CAUSE_ABNORMAL_UNSPEC, "Abnormal release, unspecified" }, @@ -97,7 +159,7 @@ static const struct value_string rr_cause_names[] = { }; /* FIXME: convert to value_string */ -static const char *cc_state_names[33] = { +static const char *cc_state_names[32] = { "NULL", "INITIATED", "MM_CONNECTION_PEND", |