summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* gsm_7bit_decode: rtext does not hold a null byte, reduce the sizeHolger Hans Peter Freyther2010-07-211-1/+1
| | | | | I have added the + 1 as I thought rtext will hold a terminating null byte but it will not.
* tests: don't hardcode length values of expected encoding gsm_7bit_encode:Nico Golde2010-07-211-4/+6
| | | | | | | | | 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.
* * rewrite GSM 7bit default encoding/decoding based on a lookup table as the ↵Nico Golde2010-07-201-20/+79
| | | | previous code produced wrong encodings for certain characters.
* Added crc16 from linux kernel.Ingo Albrecht2010-07-152-1/+63
|
* [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-131-10/+25
| | | | | 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-121-1/+63
| | | | | | 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-121-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-301-0/+14
|
* Add support for plugins (and specifically GPRS encryption plugins)Harald Welte2010-06-303-1/+154
|
* [gsmtap] add new gsmtap_makemsg() functionHarald Welte2010-06-291-8/+23
| | | | | This generates a gsmtap message without actually enqueueing to a bsc_select style queue.
* Add gsmtap utility functions to libosmocoreHarald Welte2010-06-292-1/+186
| | | | This is imported from OsmocomBB/Layer23
* Merge remote branch 'origin/master'Harald Welte2010-06-011-0/+17
|\
| * add new new gprs_tmsi2tlli() functionHarald Welte2010-06-011-0/+17
| |
* | add configure option '--disable-vty' to prevent building libosmovtyHarald Welte2010-05-291-0/+2
|/
* [VTY] Introduce "struct vty_app_info" for vty_init() functionHarald Welte2010-05-252-13/+12
|
* 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
|
* Create libosmovty as library from OpenBSC VTY functionsHarald Welte2010-05-2510-1/+6130
|
* Added some "get"-functions to bitvec of libosmocore.Andreas.Eversberg2010-05-191-0/+49
| | | | | - 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-161-0/+8
|
* 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_counters: Remove group-name-sprintf-with-idx stringHarald Welte2010-05-131-3/+0
|
* rate_ctr: Store the numeric index as part of 'rate_ctr_group'Harald Welte2010-05-131-0/+1
|
* Add new 'rate counter' implementation to libosmocoreHarald Welte2010-05-132-1/+125
| | | | | | | | | | | 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-111-0/+46
|
* logging: introuduce log_level_str() to obtain the name of a log levelHarald Welte2010-05-111-0/+5
|
* msgb: initialize cb[] to zero during msgb_reset()Harald Welte2010-05-011-0/+2
|
* Import gsm48_construct_ra() from openbscHarald Welte2010-05-011-0/+25
|
* import gsm48_parse_ra() and gprs_tlli_type() from openbscHarald Welte2010-05-012-0/+36
|
* msgb: remove smsh, llch, tlli and gmmhHarald Welte2010-04-301-1/+1
| | | | | This is a lot of GSM/GPRS specific stuff in struct msgb which we want to avoid. The 'control buffer' will replace them.
* remove the unneeded bts_link pointer from msgbHarald Welte2010-04-301-1/+0
|
* gsm 08.08: Fix some u_int8_t -> uint8_tSylvain Munaut2010-04-281-2/+2
| | | | | | | This breaks the ARM build in osmocom-bb. Besides uint??_t seems to be the preferred type in osmocore. (coming from stdint.h vs sys/types.h) Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* gsm0808: Port asiggnment_complete msg creation to libosmocore.Holger Hans Peter Freyther2010-04-171-0/+48
|
* gsm0808: Port cipher_complete to be part of libosmocore.Holger Hans Peter Freyther2010-04-171-0/+31
|
* gsm0808: Add the TLV definition for some of the 0808 IEsHolger Hans Peter Freyther2010-04-171-0/+28
|
* Add GSM0808 utilities to Osmocore.Holger Hans Peter Freyther2010-04-152-1/+189
| | | | The code is coming from the on-waves/bsc-master branch.
* select.c: Make the ugly hacker uglier...Holger Hans Peter Freyther2010-04-111-1/+2
| | | | | | | Right now I'm seeing crashes when removing a link and deleting it and I need this hack to make it not crash. We will have to understand if llist_for_each_entry_safe has a bug or if we are doing something bad with the list (anchors not properly initialized).
* remove references to u_int*_t and use uint*_t insteadHarald Welte2010-04-091-3/+4
|
* gsm48: introduce MM_CONNECTION_PEND stateAndreas Eversberg2010-04-091-2/+2
|
* gsm48-ie.c: Fix year in copyright messageHarald Welte2010-04-091-1/+1
|
* write_queue: Add callback for exceptions as well.Holger Hans Peter Freyther2010-04-081-0/+3
|
* import gsm48_mi_to_string() from OpenBSCHarald Welte2010-03-281-0/+43
|
* logging: only compile stderr target if we actualy have stderrHarald Welte2010-03-271-0/+8
|
* only include strings.h if it is actually preentHarald Welte2010-03-261-0/+5
|
* logging: fix default initialization of per-category loglevelsHarald Welte2010-03-261-2/+12
| | | | | | | Before this patch, there was a bug in the code caused by a memcpy from one data structure to another. unfortuantely the data structures were not the same, so we have to explicitly iterate over the array and assign the structure members manually.