summaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
...
* timer: add scalable RB-tree based timer infrastructurePablo Neira Ayuso2011-10-171-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/+161
| | | | | | | | | 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.
* add header file containing UMA/GAN protocol definitionsHarald Welte2011-10-102-1/+154
|
* Added defines to use primitive/operation tuples in switch/case statementsAndreas Eversberg2011-10-101-0/+3
|
* Split of LAPDm into a core part and a GSM specific partroot2011-10-103-49/+175
| | | | | | | | | | | | | | 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-1/+1
|
* gsmtap: Add type/subtypes for GMR-1 protocolSylvain Munaut2011-10-091-0/+23
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* GSMTAP: Add comments to explain how to make GSMTAP changesHarald Welte2011-10-081-0/+24
|
* GSMTAP: Import changes from WiresharkHarald Welte2011-10-081-0/+11
| | | | | | | | There have been some changes in the wireshark source code that have never been submitted to gsmtap.h GSMTAP_CHANNEL_PACCH has been defined in an incompatible way in mainline wirshark :(
* gsmtap: Add a _ex version of gsmtap_{makemsg,send} to specify content typeSylvain Munaut2011-09-261-0/+9
| | | | | From: iZsh <izsh@fail0verflow.com> Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* bring gsmtap.h in sync with recent wireshark additionsHarald Welte2011-09-261-0/+4
|
* core: Add generic CRC functions (templates expended to 8 16 32 64 bits)Sylvain Munaut2011-09-163-1/+106
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* correct declaration of osmo_sitype2rslAlexander Huemer2011-09-051-1/+1
|
* add missing declarations of cfg_description_cmd to vty/vty.hHarald Welte2011-09-041-0/+3
|
* core/serial: Add utilities to deal with serial portsSylvain Munaut2011-09-022-0/+47
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* build/include: Only install headers for enabled optionsSylvain Munaut2011-09-021-1/+9
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* RSL: add rsl_ipac_msg_name() for ipa specific RSL extension namesHarald Welte2011-09-021-0/+1
|
* logging: include stdarg.h for va_listChristoph Fritz2011-09-011-0/+1
| | | | | | | | | | fixes tiny compile error: CC socket.lo In file included from socket.c:13: ../include/osmocom/core/logging.h:31: error: expected declaration specifiers or ‘...’ before ‘va_list’ make[3]: *** [socket.lo] Error 1
* add functions for bit-reversalHarald Welte2011-09-011-0/+27
| | | | | 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-0/+3
|
* signal: Fix compiler warning about signedness of constantHolger Hans Peter Freyther2011-08-221-2/+2
| | | | | | | Use the u suffix to mark the constant as unsiged integer. This fixes: warning: this decimal constant is unsigned only in ISO C90
* doxygen: document some more structure members for RSLHarald Welte2011-08-181-14/+21
|
* doxygen: Add documentation for Abis OMLHarald Welte2011-08-172-25/+69
|
* doxygen: split VTY configuration in multiple filesHarald Welte2011-08-173-2/+13
|
* RSL: add doxygen documentationHarald Welte2011-08-171-9/+17
|
* doxygen: Add documentation for LAPDm codeHarald Welte2011-08-171-60/+78
|
* doxygen: Add documentation about TLV parserHarald Welte2011-08-171-13/+58
|
* doxygen: Add (partial) VTY API documentationHarald Welte2011-08-173-70/+122
|
* doxygen: Add documentation for gsmtap_util.[ch]Harald Welte2011-08-171-15/+10
|
* doxygen: Add documentation to signal.[ch]Harald Welte2011-08-171-2/+10
|
* doxygen: Add documentation for prim.hHarald Welte2011-08-171-9/+26
|
* doxygen: document panic.[ch]Harald Welte2011-08-171-1/+10
|
* doxygen: Add docs for rate_ctrHarald Welte2011-08-171-26/+34
|
* doxygen: Add 'write_queue' moduleHarald Welte2011-08-171-24/+6
|
* doxygen: add doxygen module 'utils'Harald Welte2011-08-171-54/+7
|
* doxygen documentation for logging frameworkHarald Welte2011-08-171-25/+44
|
* some more doxygen work (include the notion of modules)Harald Welte2011-08-178-195/+84
|
* start to add doxygen documentation to libosmocore headersHarald Welte2011-08-169-52/+507
|
* fix off-by-one error in OSMO_NUM_DLIBHarald Welte2011-07-291-1/+1
| | | | | This bug was introduced in 95f7eb288c4b8b69d61fa8d68957fb21f09e11e5 and it caused a segfault on 'write terminal'
* add definition of OSMO_MIN macro, similar to OSMO_MAXHarald Welte2011-07-271-0/+1
|
* sms: SMS where cropped (from VTY), concatenation of SMS where not possibleDennis Wehrle2011-07-241-0/+5
| | | | | | | | | | | | 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.
* vty: Increase the number of arguments one can have in VTY commandsHolger Hans Peter Freyther2011-07-241-1/+1
| | | | | | | | For some interactive commands (e.g. sending a SMS in OpenBSC) we are using the "NAME." arg definition. For the usecase of sending SMS it is not enough to only allow about 13 spaces. Increase the limit. Original patch is coming from Dennis Wehrle.
* don't call a function argoment 'class' for the benefit of c++ usersHarald Welte2011-07-231-1/+1
| | | | This had broken lcr compilation...
* ipaccess: Reserve an extensions for an external SMSC connectionHolger Hans Peter Freyther2011-07-231-0/+1
| | | | | This could be used to submit SMS to OpenBSC and to get informed about new SMS coming from OpenBSC.
* remove DLRSL and DLNM, we don't need themHarald Welte2011-07-211-3/+1
| | | | | 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-193-11/+11
| | | | | | | | * 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
* mkae the new 'void *dst' member part of a union with the trx pointerHarald Welte2011-07-181-3/+4
| | | | | this ensures struct msgb is the same size as before, which will ensure binary compatibility
* vty: reserve nodes for libosmo-abisPablo Neira Ayuso2011-07-181-0/+3
| | | | | This patch reserves E1INP_NODE and IPA_NODE for libosmo-abis VTY interfaces.
* msgb: add ->dst attribute to store routing informationPablo Neira Ayuso2011-07-181-0/+3
| | | | | | | | | | This patch adds a new attribute to msgb objects. This new attribute will store a pointer to the routing information, in the case of the A-bis link, this will be used to store e1inp_sign_link instead of struct gsm_bts_trx. This deprecates msg->trx, that can be removed once all application are ported to use msg->dst.
* logging: add libosmo-abis logging subsystemsPablo Neira Ayuso2011-07-181-1/+7
| | | | | | 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.