summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* tests: don't hardcode length values of expected encoding gsm_7bit_encode:Nico Golde2010-07-212-15/+16
| | | | | | | | | make sure to return the number of actually written bytes gsm_7bit_decode: calculate length of resulting septets from input length before decoding The input length to gsm_7bit_decode reflects the number of encoded bytes to be decoded. As the decoding is done on the input in septetes we need to take this into account and recalculate the length.
* gsm_7bit_decode: Handle the case of the last charachter being an escapeHolger Hans Peter Freyther2010-07-201-1/+1
| | | | | If i + 1 == length and it is an escape charachter we would try to read rtext[length] which is one after the field we have allocated.
* tests: Separate encoding/decoding test to verify them independlyHolger Hans Peter Freyther2010-07-201-17/+78
| | | | | | Use the current test result as test data for future regression testing. The encode function appears to add too many zeros to the text.
* * rewrite GSM 7bit default encoding/decoding based on a lookup table as the ↵Nico Golde2010-07-203-21/+123
| | | | previous code produced wrong encodings for certain characters.
* Added crc16 from linux kernel.Ingo Albrecht2010-07-154-2/+98
|
* [VTY] add support for numeric ranges with negative numbersAndreas Eversberg2010-07-131-31/+67
| | | | This enables us to do something like <-128-127> as a numeric range.
* [RSL] split rsl_rll_push_l3() L3 LV pushign and rsl_rll_push_hdr()Harald Welte2010-07-133-10/+40
| | | | | This allows us to generate RSLms messages that have some non-standard IEs between the RSL/RLL common header and the L3 INFO IE.
* Add 3-digit MNC support to gsm48_generate_lai()Andreas Eversberg2010-07-121-7/+7
|
* Added new IE definitions to gsm_04_08.h of libosmocore.Andreas Eversberg2010-07-123-21/+554
| | | | | | Also added RR and MM TLV tables to gsm48.c [import from accidential commit to osmocom-bb.git]
* Added single octet TV (type + value) to libosmocore.Andreas Eversberg2010-07-122-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In case of a single octet, the upper nibble is the type, the lower nibble carries the value. [import from accidentially committed changes to osmocom-bb.git] diff --git a/src/shared/libosmocore/include/osmocore/tlv.h b/src/shared/libosmocore/include/osmocore/tlv.h index c733dbc..4cfce87 100644 --- a/src/shared/libosmocore/include/osmocore/tlv.h +++ b/src/shared/libosmocore/include/osmocore/tlv.h @@ -212,6 +212,7 @@ enum tlv_type { TLV_TYPE_TLV, TLV_TYPE_TL16V, TLV_TYPE_TvLV, + TLV_TYPE_SINGLE_TV }; struct tlv_def { diff --git a/src/shared/libosmocore/src/tlv_parser.c b/src/shared/libosmocore/src/tlv_parser.c index 407e57a..bbef7a9 100644 --- a/src/shared/libosmocore/src/tlv_parser.c +++ b/src/shared/libosmocore/src/tlv_parser.c @@ -36,6 +36,14 @@ int tlv_parse_one(uint8_t *o_tag, uint16_t *o_len, const uint8_t **o_val, tag = *buf; *o_tag = tag; + /* single octet TV IE */ + if (def->def[tag & 0xf0].type == TLV_TYPE_SINGLE_TV) { + *o_tag = tag & 0xf0; + *o_val = buf; + *o_len = 1; + return 1; + } + /* FIXME: use tables for knwon IEI */ switch (def->def[tag].type) { case TLV_TYPE_T:
* gsm_utils: Fix typo in gsm band nameSylvain Munaut2010-07-041-1/+1
| | | | | | thanks to horizon for noticing :p Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* GPRS: Add 'input' generator functions for GPRS cipher algorithmHarald Welte2010-06-302-0/+20
|
* Add support for plugins (and specifically GPRS encryption plugins)Harald Welte2010-06-309-3/+222
|
* [gsmtap] add new gsmtap_makemsg() functionHarald Welte2010-06-292-8/+28
| | | | | This generates a gsmtap message without actually enqueueing to a bsc_select style queue.
* Add gsmtap utility functions to libosmocoreHarald Welte2010-06-294-2/+203
| | | | This is imported from OsmocomBB/Layer23
* Fix typo in configure script regarding --disable-vtyHarald Welte2010-06-251-1/+1
|
* [RSL] Added special RSL message types for mobile sideAndreas Eversberg2010-06-251-0/+4
| | | | | | - suspension DL - resume DL - re-establish DL
* [gsm48] fix typo in struct gsm48_req_refAndreas Eversberg2010-06-251-1/+1
|
* [GSM 04.08] add more RR IEIsHarald Welte2010-06-151-0/+9
|
* gsm48: Add authentication response messageSylvain Munaut2010-06-101-0/+5
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* gsm_utils: Add a fn to test A5(x) support given a classmark2Sylvain Munaut2010-06-091-0/+12
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* vty: Mark app info strings as const char*.Holger Hans Peter Freyther2010-06-081-3/+3
|
* Merge remote branch 'origin/master'Harald Welte2010-06-013-42/+22
|\
| * add new new gprs_tmsi2tlli() functionHarald Welte2010-06-012-1/+20
| |
| * [VTY] Remove all application specific VTY node definitions from enumHarald Welte2010-05-311-41/+2
| |
* | add configure option '--disable-vty' to prevent building libosmovtyHarald Welte2010-05-293-0/+10
|/
* [VTY] Introduce "struct vty_app_info" for vty_init() functionHarald Welte2010-05-254-19/+22
|
* rename log_info to osmo_log_info to avoid namespace clash with appHarald Welte2010-05-252-17/+17
|
* fix typo resultin in dist/distcheck problemHarald Welte2010-05-251-1/+1
|
* Add pkgconfig for libosmovtyHarald Welte2010-05-253-1/+13
|
* make sure we actually install the vty headersHarald Welte2010-05-251-2/+4
|
* Create libosmovty as library from OpenBSC VTY functionsHarald Welte2010-05-2520-2/+6893
|
* rate_ctr: Make the struct rate_ctr_group_desc members constHolger Hans Peter Freyther2010-05-231-4/+4
|
* Added some "get"-functions to bitvec of libosmocore.Andreas.Eversberg2010-05-192-0/+59
| | | | | - Getting Low or High value from current postion - Getting unsigned interger from current postion
* gsm0808: Add API to wrap a GSM48 msg with a BSSMAP/DTAP msg.Holger Hans Peter Freyther2010-05-162-0/+10
|
* gsm48: Add paging response headerHolger Hans Peter Freyther2010-05-151-0/+9
|
* gsm0808: Add TLV entries for types used by the Compl Layer3 InformationHolger Hans Peter Freyther2010-05-141-0/+3
|
* [rate_ctr] always 'overflow' in next larger inetrval when interval endsHarald Welte2010-05-131-0/+6
| | | | | | | | | | | If a second ends, we add the number of events in that just-ended second to the number of events in the currently running minute. The same happens at the end of a minute: We add the number of events in that just-ended minute into the number of events of the still-running hour, etc. This gives a much more meaningful numbers and we don't end up with "12 events per second, but 0 events per minute" kind of situations anymore.
* [rate_ctr] Rename group_prefix_fmt to group_name_prefixHarald Welte2010-05-131-2/+2
|
* rate_counters: Remove group-name-sprintf-with-idx stringHarald Welte2010-05-132-5/+1
|
* rate_ctr: Store the numeric index as part of 'rate_ctr_group'Harald Welte2010-05-132-0/+2
|
* Add new 'rate counter' implementation to libosmocoreHarald Welte2010-05-134-2/+207
| | | | | | | | | | | A 'rate counter' is a counter that counts events but also keeps track of the rate of events (per second, minute, hour and day). 'rate counters' are generally abstracted in 'rate counter groups', which are instances of a 'rate counter group description'. This way we can have e.g. a description describing what kind of counters a BTS (or TRX) has - and we can then create one instance of that group for every BTS or TRX that exists.
* logging: add log_vty_{level,category}_string()Harald Welte2010-05-112-0/+50
|
* logging: introuduce log_level_str() to obtain the name of a log levelHarald Welte2010-05-112-0/+6
|
* msgb: initialize cb[] to zero during msgb_reset()Harald Welte2010-05-011-0/+2
|
* Import gsm48_construct_ra() from openbscHarald Welte2010-05-012-0/+26
|
* gsm48.h: Prevent accidental re-inclusion of same header fileHarald Welte2010-05-011-0/+1
|
* import gsm48_parse_ra() and gprs_tlli_type() from openbscHarald Welte2010-05-015-1/+67
|
* Add missing file.Holger Hans Peter Freyther2010-05-011-1/+1
|
* msgb: introduce msgb->cb (the control buffer)Harald Welte2010-04-301-0/+4
|