summaryrefslogtreecommitdiffstats
path: root/include/osmocom/core
Commit message (Collapse)AuthorAgeFilesLines
* msgb: fix msgb_pull_u*()Steve Markgraf2012-11-141-3/+3
| | | | | | | | msgb_pull returns a pointer to the new begin of the buffer, unlike msgb_get(), where those functions were originally taken from. Signed-off-by: Steve Markgraf <steve@steve-m.de>
* logging: Introduce a print_filename flag for the logtargetHolger Hans Peter Freyther2012-09-111-0/+3
| | | | | | Introduce a print_filename attribute for each logtarget. Initialize it with 1 to be backward compatible with earlier versions. The bit is taken from an existint bitfield. There were at least six bits left of the byte.
* logging: Mark the log_info_cat pointer as constsHolger Hans Peter Freyther2012-09-111-1/+1
| | | | | | Applications should keep the log area in a static const area. Mark the pointer as const to address compiler warnings in OpenBSC, cast the const away for the osmo_log_info as it is not declared as const.
* msgb: msgb_get() is supposed to get bytes from END, msgb_pull() from HEADHarald Welte2012-09-081-3/+34
| | | | | | msgb_get() has been wrong all the time, despite the documentation being correct. If you've used the broken msgb_get() before, you have to change your code now, sorry.
* gsmtap: add minimal support for encapsulating UMTS RRC in GSMTAPHarald Welte2012-09-021-0/+7
|
* utils: Change semantic of OSMO_MAX/OSMO_MIN to match semantic of a functionHolger Hans Peter Freyther2012-08-151-2/+2
| | | | | | | Add parentheses around the OSMO_MAX and OSMO_MIN macro to match the behaviour of calling a function. The current version does not evaluate to what is expected. (OSMO_MAX(3, 2) + 13) currently results in 3 and not 16.
* backtrace: Add a variant that uses the libosmocore logging frameworkHarald Welte2012-07-141-0/+1
| | | | | | I recently discovered that we can only print backtraces to stdout, which is of course useless in a daemon environment. We'd rather want to use the libosmocore logging framework instead.
* timer: Add function osmo_timer_remaining() to determine remainign timeHarald Welte2012-07-131-1/+3
|
* logging: Fix compile breakage introduced by the warning fixesHolger Hans Peter Freyther2012-07-121-1/+1
| | | | | | | | | | | | Make sure the declaration and definition match, add const to the functions called by logp/logp2. Compile output: logging.c:317: error: conflicting types for 'logp' ../include/osmocom/core/logging.h:34: note: previous declaration of 'logp' was here logging.c:327: error: conflicting types for 'logp2' ../include/osmocom/core/logging.h:168: note: previous declaration of 'logp2' was here make[3]: *** [logging.lo] Error 1
* logging: Avoid compiler warnings when compiling c++ codeAndreas Eversberg2012-07-101-2/+2
| | | | | | this patch i use to suppress warnings when compiling osmo-pcu (c++). since __FILE__ is constant, the called logging function with parameter "file" must be constant too, in order to avoid compiler warnings.
* build: simplify headers management and remove recursionDiego Elio Pettenò2012-06-301-31/+0
| | | | | | | | | | | | There is no real reason to keep the include directory a multi-level recursion, so instead declare everything within include (so that we can use proper nobase_ declarations) and be it. Please note that since we removed the sub-Makefile.am, ./configure will not create the directory structure for us on out-of-tree builds, so we have to make sure the directory we're generating to exists first. Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
* linuxrbtree: don't use 'new' as argument name to avoid C++ incompatibilityHarald Welte2012-06-181-1/+1
|
* signal: add SS_L_NS as a signal subsystem for NS code in libosmo-gbHarald Welte2012-06-161-0/+1
|
* doc: Fix the Doxygen section endingsSylvain Munaut2012-04-1816-16/+16
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* misc: Fix warning when compiling telnet_interface.cHolger Hans Peter Freyther2012-03-161-0/+1
| | | | | | | | In file included from telnet_interface.c:30:0: osmocom/core/socket.h:25:4: warning: 'struct osmo_fd' declared inside parameter list [enabled by default] telnet_interface.c: In function 'telnet_init_dynif': telnet_interface.c:84:4: warning: passing argument 1 of 'osmo_sock_init_ofd' from incompatible pointer type [enabled by default] osmocom/core/socket.h:24:5: note: expected 'struct osmo_fd *' but argument is of type 'struct osmo_fd *'
* gsmtap: Add GSMTAP_GPRS_CS() / GSMTAP_GPRS_MCS()Harald Welte2012-02-081-0/+8
| | | | | | | | As requested by Mike Morrin <Mike.Morrin@ipaccess.com>, we introduce GSMTAP sub-types for all the different GPRS and EGPRS coding schemes. This is neccessary due to the fact that the RLC PDU doesn't contain any explicit indication of the coding scheme used on the radio layer.
* gsmtap: make sure we agree with wireshark on GSMTAP channel typesHarald Welte2012-01-261-2/+2
|
* msgb_trim(): actually trim to an absolute length, as the comment statesHarald Welte2012-01-141-5/+3
| | | | | The previous commit introduced a new msgb_trim() but the implementation differed from the specification.
* msgb: introduce msgb_trim() and msgb_l3trim() to trim msgb'sHarald Welte2012-01-141-0/+28
|
* core/conv: Add utility methods to know length of coded/decoded vectorsSylvain Munaut2011-11-241-0/+6
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* core/conv: Add support for other termination types (trunc & tail biting)Sylvain Munaut2011-11-241-6/+25
| | | | | | | | Note that this breaks the ABI and the low level API. But it shouldn't break the high level API, nor the conv code definitions (because fields default to 0, and for new fields '0' is the previous behavior) Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* core/conv: Minor documentation improvementsSylvain Munaut2011-11-241-12/+18
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* utils: Add declaration back for osmo_osmo_hexdump_nospcSylvain Munaut2011-11-131-0/+1
| | | | | | | | As it turns out, if a project uses the old name but without a declaration, it'll causes a segfault on 64 bits platform (because of the implicit int return type which doesn't apply since here it's a pointer). Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* gsm/sms: Added DLSMS debuggingAndreas Eversberg2011-11-121-1/+2
| | | | | Written-by: Andreas Eversberg <jolly@eversberg.eu> Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* core/rbtree: add const qualifier to some functionsSylvain Munaut2011-11-121-4/+4
| | | | | | | | | | | | | | | | | | | | | | See kernel commit f4b477c47332367d35686bd2b808c2156b96d7c7 ---- The 'rb_first()', 'rb_last()', 'rb_next()' and 'rb_prev()' calls take a pointer to an RB node or RB root. They do not change the pointed objects, so add a 'const' qualifier in order to make life of the users of these functions easier. Indeed, if I have my own constant pointer &const struct my_type *p, and I call 'rb_next(&p->rb)', I get a GCC warning: warning: passing argument 1 of ?~@~Xrb_next?~@~Y discards qualifiers from pointer target type Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> ---- Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* utils: Fix a bad double osmo_ prefix for osmo_hexdump_nospcSylvain Munaut2011-11-101-1/+1
| | | | | | Hopefully no project where using them it seems Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* timer: Add compatibility header with timer helpersSylvain Munaut2011-10-212-0/+81
| | | | | | Some of these are not always present, especially when cross compiling Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* 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.
* Added defines to use primitive/operation tuples in switch/case statementsAndreas Eversberg2011-10-101-0/+3
|
* 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>
* 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>
* 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: 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
|