summaryrefslogtreecommitdiffstats
path: root/src/gsm
Commit message (Collapse)AuthorAgeFilesLines
* update LIBVERSION to reflect new API additionsHarald Welte2011-10-101-1/+1
|
* Added defines to use primitive/operation tuples in switch/case statementsAndreas Eversberg2011-10-101-58/+20
|
* LAPD: Moved timer handling into seperate functionsAndreas Eversberg2011-10-101-72/+87
|
* Split of LAPDm into a core part and a GSM specific partroot2011-10-103-1621/+2456
| | | | | | | | | | | | | | Instead of mixing together the GSM layer 1 interface and RSL interface with the implementation of LAPD, the core function of LAPD is now extracted from LAPDm. The core implementation is now in lapd_core.c and lapd_core.h respectively. The lapd_core.c implements exactly one datalink instance for one SAP. The surrounding implementation "lapdm.c" codes/decodes the layer 2 headers and handles multiplexing and datalink instances, as well as translates primitives from/to RSL layer. lapd_core.c can now be used for other LAPD implementations. (ISDN/ABIS)
* LAPDm: Fix encoding of RLL ERROR IEHarald Welte2011-09-031-1/+0
|
* gsm/gsm48_ie: Fix other range format decodingAndreas.Eversberg2011-09-021-66/+63
| | | | | | | | As it turns out, the other range were affected too, so Anreas wrote the fix for them as well. Written-by: Andreas.Eversberg <jolly@eversberg.eu> Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* RSL: add rsl_ipac_msg_name() for ipa specific RSL extension namesHarald Welte2011-09-021-0/+36
|
* gsm/gsm48_ie: Fix Range 256 format decodingSylvain Munaut2011-09-011-20/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From the mail: --- appended is another patch for fixing a bug in the calculation of the frequency lists. This time the patch is for the "Range 256 format". The problem is that the operand for the "smod" operation might be negative, in this case the simplified version won't work as expected. In the patch I introduced a separate function for "smod" which takes care of the sign. I have not yet checked if the other formats are also affected, this would be the case if the "smod" operand can be negative. There might be other solutions to fix the problem without the need for a separate function, however I have not thought further about it. A test vector is the following frequency list ("Range 256 format", first byte is the length): 09 8b 1c 83 8c 15 ef 02 2d 30 The correct ARFCNs are 569 571 576 578 586 608 712 715 719 The uncorrected version would instead return: 444 457 460 464 569 576 578 586 608 This means four ARFCNs are wrong which will cause problems if for example the frequency list contains the ARFCNs for hopping. ---- Written-by: Dieter Spaar <spaar@mirider.augusta.de> Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* doxygen: Add main page for all three librariesHarald Welte2011-08-301-0/+40
|
* doxygen: Add documentation for Abis OMLHarald Welte2011-08-171-4/+29
|
* RSL: add doxygen documentationHarald Welte2011-08-171-3/+27
|
* doxygen: Add documentation for LAPDm codeHarald Welte2011-08-171-4/+38
|
* doxygen: Add documentation about TLV parserHarald Welte2011-08-171-15/+25
|
* gsm/gsm48_ie: Fix frequency list decodingAndreas.Eversberg2011-07-301-1/+1
| | | | | Fix-by: Andreas.Eversberg <jolly@eversberg.eu> Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* sms: Fix style issues with the code, add spaces after keywordsHolger Hans Peter Freyther2011-07-241-5/+5
|
* sms: SMS where cropped (from VTY), concatenation of SMS where not possibleDennis Wehrle2011-07-241-29/+89
| | | | | | | | | | | | Additionally it wasn't possible to send concatenated sms from the vty. To send multiple sms, it is necessary to use padding bits and add a user_data_header. Therefore the gsm_7bit_encode function was splitted to gsm_7bit_encode and gsm_septets2octets. gsm_septets2octets: this is the old gsm_7bit_encode function + additional padding parameter Additionally the gsm_7bit_decode function was modified to take account for the user_data_header. With the new gsm_get_octet_len function you can get the octet length for a given septet length. I also added several sms tests.
* lapdm: fix memory leak due to unreachable codeHarald Welte2011-07-161-1/+0
| | | | detected by Smatch
* gsm 08.08: use ANSI function definition with (void)Harald Welte2011-07-161-1/+1
|
* tlv: Make tlv parser arrays 256 entries wide to prevent overflow on 0xffHarald Welte2011-07-161-1/+1
| | | | | | | If we encounter a tag with 0xFF, we overflow our existing tlv_parse array definitions. Warning: this breaks ABI
* gprs_cipher_core: Fix potential buffer overflowsHarald Welte2011-07-161-3/+3
| | | | detected by Smatch
* GSM 08.08: Fix generation of CIPHER MODE REJECTHarald Welte2011-07-121-1/+1
| | | | | The message has a total length of 4 octets, so don't allocate only 3 in the msgb.
* gsm 08.08: add value_strings and gsm0808_msg_name() functionHarald Welte2011-07-111-0/+86
|
* lapdm: make sure we flush all queues whenever entering IDLE stateHarald Welte2011-06-291-0/+11
| | | | | this fixes a memory leak where the final UA would always remain in memory after a LAPDm entity has been disconnected.
* make sure abis_nm <-> osmocom pchan type conversion always worksHarald Welte2011-06-291-0/+2
|
* LAPDm: Uplink SACCH frames use format B, not format B4Harald Welte2011-06-291-5/+12
|
* LAPDm: When Rx DATA from L1, L1 does not know the SAPIHarald Welte2011-06-271-13/+14
| | | | We have to determine the SAPI ourselves inside the LAPDm header.
* add LAPDm code from osmocom-bb into libosmocoreHarald Welte2011-06-272-1/+2512
|
* import gsm0502_calc_paging_group() from openbscHarald Welte2011-06-262-1/+44
|
* add some utility functions for paging related calculation (TS 05.02)Harald Welte2011-06-261-7/+7
|
* add gsm48_number_of_paging_subchannels() functionHarald Welte2011-06-261-0/+13
| | | | (from openbsc's rsl_number_of_paging_subchannels)
* gsm/utils: Adding conversion of "mobile power class" to dBmAndreas Eversberg2011-06-261-0/+41
| | | | | Written-by: Andreas Eversberg <jolly@eversberg.eu> Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* sysinfo: add EXTENDED MEASUREMENT ORDER / MEASUREMENT INFO to SI typesHarald Welte2011-06-251-0/+6
| | | | | those two are used in the RSL SACCH FILLING messages and delivered like SI5 / SI6.
* add value_string definitions for RSL message typesHarald Welte2011-06-231-0/+76
|
* gsm/sysinfo: Fix rsl2sitype array sizeSylvain Munaut2011-05-291-1/+1
| | | | | | 0xff is the maximum value ... so there is 256 elements. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* gsm/sysinfo: don't include netinet/in.hHarald Welte2011-05-291-1/+0
|
* Import abis_nm_{chcomb4pchan,pchan4chcomb}() from openbscHarald Welte2011-05-241-0/+32
|
* Import sytem information related definitions + code from openbscHarald Welte2011-05-242-1/+132
|
* abis_nm: remove abis_nm_obj_class_name / abis_nm_adm_state_nameHarald Welte2011-05-231-14/+4
| | | | | | | | and export the underlying raw value_string arrays instead: abis_nm_obj_class_names / abis_nm_adm_state_names. This permits the caller to use get_string_value() as well as get_value_string().
* rename abis_nm_adm_name() to abis_nm_adm_state_name()Harald Welte2011-05-231-1/+1
|
* abis_nm: import definitions and common code on A-bis OML from OpenBSCHarald Welte2011-05-222-1/+407
|
* libosmocore: bump library interface version to '1' for new osmo_ namesHarald Welte2011-05-081-0/+1
|
* plugin: use namespace prefix osmo_*Pablo Neira Ayuso2011-05-071-1/+1
| | | | | | Summary of changes: s/plugin_load_all/osmo_plugin_load_all/g
* utils: use namespace prefix osmo_*Pablo Neira Ayuso2011-05-071-6/+6
| | | | | | | | | | | | Summary of changes: s/bcd2char/osmo_bcd2char/g s/char2bcd/osmo_char2bcd/g s/hexparse/osmo_hexparse/g s/hexdump/osmo_hexdump/g s/hexdump_nospc/osmo_hexdump_nospc/g s/ubit_dump/osmo_ubit_dump/g s/static_assert/osmo_static_assert/g
* gsm/a5: Add a A5 1&2 implementationSylvain Munaut2011-04-262-1/+312
| | | | | | It's always useful to have around Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* bitvec: add bitvec_find_first_bit_pos() from gsm/rxlev_stat.cPablo Neira Ayuso2011-03-281-12/+0
| | | | | This patch adds bitvec_find_bit_pos() to bitvec.c where it really belongs to. Before this patch used to be part of gsm/rxlev_stat.c
* include: reorganize headers file to include/osmocom/[gsm|core]Pablo Neira Ayuso2011-03-239-30/+30
| | | | | | | | | | | | This patch moves all GSM-specific definitions to include/osmocom/gsm. Moreover, the headers in include/osmocore/ have been moved to include/osmocom/core. This has been proposed by Harald Welte and Sylvain Munaunt. Tested with `make distcheck'. Signed-off-by: Pablo Neira Ayuso <pablo@gnumonks.org>
* This patch moves the GSM-specific functions to the new libraryPablo Neira Ayuso2011-03-2311-0/+3791
libosmogsm which is provided by libosmocore. I have also moved generate_backtrace() to backtrace.c instead of gsm_utils.c, otherwise the timer and msgfile tests depend on libosmogsm. Signed-off-by: Pablo Neira Ayuso <pablo@gnumonks.org>