summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* gsm0480: Add USSD format functions to libosmocoreHolger Hans Peter Freyther2010-09-304-2/+204
| | | | | | These routines come from OpenBSC, the msgb_wrap_* functions belong to Mike Haben, the rest is mine. The msgb allocation is compatible to the GSM48 allocation in OpenBSC.
* gsm48: Fix gsm48_encode_called - Set no extension bitSylvain Munaut2010-09-201-1/+2
| | | | | | | | The highest bit must be set as "No extension byte" marker, so that the next byte is considered to be the BCD number and not some more control stuff Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* gsm0808: Fix the TLV definition of CIC and Service HandoverHolger Hans Peter Freyther2010-09-201-2/+2
| | | | | | | The nat code stumbled over the CIC bug as it was detecting timeslot 0x1 as a new CIC and we were patching the data outside the actual packet... The TLV parser needs some better size checking too.
* Make sure we don't user std{err,in,out} if they don't exist.Sylvain Munaut2010-09-172-4/+8
| | | | | | This is required for target build in libosmocore Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* protocol/gsm_04_08: Fix cr field position in gsm48_cip_mode_cmdSylvain Munaut2010-09-171-2/+2
| | | | | | Thanks to Dieter for pointing this out. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* vty: Add functions to access index and nodeHolger Hans Peter Freyther2010-09-142-0/+11
| | | | | | It is easier to call these two functions from bindings than wrapping the vty structure and figuring out the alignment of the enum on all different ABIs.
* vty: Use the copyright string from the app_info.Holger Hans Peter Freyther2010-09-111-3/+6
|
* vty: Link osmovty to osmocore as it is using the symbolsHolger Hans Peter Freyther2010-09-112-1/+2
| | | | | Use SUBDIRS to build src first and the src/vty. We will need to find the right way add the dependencies.
* vty: Everything <= CONFIG_NODE is not a child of configHolger Hans Peter Freyther2010-09-041-2/+2
| | | | | | | The method should be renamed to is child of config node as it was comparing if vty->node > CONFIG_NODE. This is fixing an assert in go_to_parent as we tried to find a parent for the CONFIG_NODE.
* Add handover and frequency redefiniton message headersAndreas Eversberg2010-09-011-0/+19
| | | | | This simply add some TS 04.08 related structures for frequency redefinition and handover.
* plugin: Blind build fix for OSX...Holger Hans Peter Freyther2010-08-311-0/+1
| | | | According to a internet search PATH_MAX is in limits.h on OSX.
* vty: Make the talloc ctx extern void* to avoid duplicate symbolsHolger Hans Peter Freyther2010-08-311-1/+1
|
* vty: Handle nodes part of the lib in the lib, for the rest call the callbackHolger Hans Peter Freyther2010-08-261-5/+7
|
* vty: Add a new callback to let code decide if it is a config node or notHolger Hans Peter Freyther2010-08-262-0/+5
|
* vty: Move the assumption of the config nodes into a functionHolger Hans Peter Freyther2010-08-261-3/+9
| | | | | | Move the assumption that something is a child of the CONFIG_NODE into a new function. The next step will be to use something else for that.
* add header file for osmo_daemonize()Harald Welte2010-08-252-1/+7
|
* Add helper function 'osmo_daemonize()' to convert process into daemonHarald Welte2010-08-252-1/+72
|
* logging: add missing include file changes for last commit (logfile)Harald Welte2010-08-251-0/+5
|
* logging: add log target logging into text file and log target destroy functionHarald Welte2010-08-251-0/+50
|
* logging: rename tgt_stdout to tgt_fileHarald Welte2010-08-252-6/+6
|
* add debian packaging related informationHarald Welte2010-08-2416-0/+178
| | | | | Using the debian directory in this commit, it is possible to generate libosmocore and libosmocore-dev packages (dpkgs).
* bsc_fd: Add a build option to be able to debug fd list corruptionHolger Hans Peter Freyther2010-08-062-0/+23
| | | | | | | bsc_register_fd on an already registered fd can corrupt the list in a heavy way and make the select end in an infinite loop, this code will workaround the issue and provide a way to set a breakpoint at the right position in the code.
* gsm0808: Add some more TLV definitions coming from the cellmgr_ngHolger Hans Peter Freyther2010-08-041-0/+2
|
* Import gsm48_decode_freq_list() from osmocom-bb/layer23Harald Welte2010-08-042-0/+445
| | | | This will enable us to use this function from OpenBSC / ipaccess-config
* vty: Forward delcare the logging command.Holger Hans Peter Freyther2010-08-041-0/+2
|
* logging: Make sure we don't use "end of color" code if colors are turned offHarald Welte2010-07-301-1/+2
|
* add new hexdump_nospc() functionHarald Welte2010-07-302-2/+13
|
* move hexdump() from logging.c to utils.cHarald Welte2010-07-305-20/+21
|
* Import 'hexparse' function from OpenBSCHarald Welte2010-07-302-0/+29
|
* core/msgb: Use the new osmo_panic call to handle errorsSylvain Munaut2010-07-251-4/+2
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* core: Add some generic panic handlingSylvain Munaut2010-07-255-2/+95
| | | | | | | | This also includes an option for a minimal 'infinite loop' type panic that could be required for embedded target that don't have abort() or fprintf() Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* build: Use AS_HELP_STRING macro to format the ./configure --help betterSylvain Munaut2010-07-251-4/+16
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* osmocore: Add utility function rsl_chan_nr_str to RSLSylvain Munaut2010-07-252-0/+29
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* msgb: Avoid warnings that the string might contain %s or such..Holger Hans Peter Freyther2010-07-231-1/+1
|
* gsm0808: Why should there be a lchan in the parameter...Holger Hans Peter Freyther2010-07-232-2/+2
|
* gsm0808: Import unaligned mem access fix from on-waves/bsc-masterHolger Hans Peter Freyther2010-07-232-5/+10
|
* gsm_utils: Move the gsm_7bit_alphabet into the impl and make it staticHolger Hans Peter Freyther2010-07-232-28/+27
|
* msgb: Check for available headroom/tailroom and abort() if we violate itHarald Welte2010-07-221-4/+31
|
* gsm_04_12.h: Add beginning of structs for SMS CBHolger Hans Peter Freyther2010-07-212-1/+33
| | | | | I am trying to understand the RSL and GSM 04.12 spec to implement CBS for OpenBSC...
* 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-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: