summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* timer: Add compatibility header with timer helpersSylvain Munaut2011-10-211-0/+1
| | | | | | Some of these are not always present, especially when cross compiling Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* core: Fix include path to use top_builddir as well for generated headersSylvain Munaut2011-10-211-1/+1
| | | | | | | With the new generated headers for the CRC code, we need to include the builddir as well in case we're building out of tree. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* timer: Simplify osmo_timers_nearest even moreSylvain Munaut2011-10-181-4/+4
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* timer: Fix implementation of osmo_timers_nearest causing high CPU loadSylvain Munaut2011-10-171-4/+2
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* bump major library version / breaking the ABI with the rb_tree timersHarald Welte2011-10-171-1/+1
|
* timer: add scalable RB-tree based timer infrastructurePablo Neira Ayuso2011-10-171-81/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds RB-tree based timers which scales better than the previous list-based implementation. It does not require any API changes. It breaks ABI because the osmo_timer_list structure has changed though (to avoid this in the future, we can put internal data in some private structure). The following table summarizes the worst-case computational complexity of this new implementation versus the previous one: rb-tree list-based ------- ---------- calculate next timer to expire O(1) O(n) insertion of new timer O(log n) O(n) deletion of timer O(log n) O(1) timer-fired scheduler O(log n) O(3n) The most repeated cases are: * the calculation of the next timer to expire, that happens in every loop of our select function. * the timer-fired scheduler execution. This new implementation only loses in the deletion of timer scenario, this happens because we may need to rebalance the tree after the removal. So I think there is some real gain if we have some situation in which we have to handle lots of timers.
* add rb-tree implementation to libosmocorePablo Neira Ayuso2011-10-172-1/+390
| | | | | | | | | This patch adds red black trees implementation to libosmocore. This data structure is very useful to search for elements in ordered sets in O(log n) instead of O(n) that lists provide. The first client of this code will be one follow up patch that implements rbtree-based timer scheduler.
* build: resolve link failure when --disable-talloc is usedJan Engelhardt2011-10-101-0/+2
|
* update LIBVERSION to reflect new API additionsHarald Welte2011-10-102-2/+2
|
* 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)
* Changed logging of LAPD from DLLAPDM to DLLAPDroot2011-10-101-3/+3
|
* vty: Provide documentation for all logging facilitiesHolger Hans Peter Freyther2011-10-031-1/+10
| | | | Document all facilities in the log syslog command.
* vty: Provide logging set-log-mask, deprecate set log maskHolger Hans Peter Freyther2011-10-031-2/+12
| | | | | | There are no other commands on the set, log and mask level, create a simple set-log-mask command and deprecate the old way.
* core/serial: Fix typoSylvain Munaut2011-09-281-1/+1
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* core/serial: support custom baud rates on OS XSylvain Munaut2011-09-281-2/+22
| | | | | | Thanks to Richard James <xyzzy@mm.st> for the patch Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* gsmtap: Fix doxygen doc for the recent additionsSylvain Munaut2011-09-261-2/+22
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* gsmtap: Add a _ex version of gsmtap_{makemsg,send} to specify content typeSylvain Munaut2011-09-261-4/+21
| | | | | From: iZsh <izsh@fail0verflow.com> Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* core: Add generic CRC functions (templates expended to 8 16 32 64 bits)Sylvain Munaut2011-09-162-1/+126
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* LAPDm: Fix encoding of RLL ERROR IEHarald Welte2011-09-031-1/+0
|
* core/serial: Add utilities to deal with serial portsSylvain Munaut2011-09-022-0/+213
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* 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>
* add functions for bit-reversalHarald Welte2011-09-011-0/+57
| | | | | Sometimes we need stuff like reversing every bit in each byte (but not the byte-order).
* logging: add osmo_vlogp() as vararg / va_list compatible functionHarald Welte2011-08-311-4/+5
|
* doxygen: Add main page for all three librariesHarald Welte2011-08-303-0/+113
|
* doxygen: Add documentation for Abis OMLHarald Welte2011-08-171-4/+29
|
* doxygen: split VTY configuration in multiple filesHarald Welte2011-08-172-2/+2
|
* 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
|
* doxygen: Add (partial) VTY API documentationHarald Welte2011-08-174-16/+87
|
* doxygen: Add documentation for gsmtap_util.[ch]Harald Welte2011-08-171-6/+51
|
* doxygen: Add documentation to signal.[ch]Harald Welte2011-08-171-1/+23
|
* doxygen: document panic.[ch]Harald Welte2011-08-171-0/+8
|
* doxygen: Add docs for rate_ctrHarald Welte2011-08-171-0/+19
|
* doxygen: Add 'write_queue' moduleHarald Welte2011-08-171-0/+28
|
* doxygen: add doxygen module 'utils'Harald Welte2011-08-171-0/+51
|
* doxygen documentation for logging frameworkHarald Welte2011-08-172-5/+93
|
* some more doxygen work (include the notion of modules)Harald Welte2011-08-179-18/+295
|
* logging: fix parsing of logging mask (-d DMI case)Pablo Neira Ayuso2011-08-111-0/+5
| | | | | | Without this patch, `-d DMI' enables logging for DMI and DMIB. Signed-off-by: Pablo Neira Ayuso <pablo@gnumonks.org>
* 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>
* use the 'L' prefix in debug names (DLINP instead of DINP)Harald Welte2011-07-291-4/+4
|
* 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.
* remove DLRSL and DLNM, we don't need themHarald Welte2011-07-211-12/+0
| | | | | They are not used anywhere in our libraries, so they should be defined by the respective applications
* make sure we don't have namespace clashes between libraries and appsHarald Welte2011-07-191-6/+6
| | | | | | | | * All loging prefixes in libraries should be DL like DLINP * All signals / subsystems should be called S_L_* SS_L_* * All command nodes should be called L_*_NODE This makes sure existinc code still compiles as expected
* logging: add libosmo-abis logging subsystemsPablo Neira Ayuso2011-07-181-0/+34
| | | | | | This adds the libosmo-abis logging subsystems to libosmocore, it uses the new change that harald proposed based on negative numbers for library logging subsystems.