summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* gsmtap: rework GSMTAP API to be more future-proofHarald Welte2011-05-226-98/+305
| | | | | | * use write_queue where applicable * provide functions that work on raw FD and those with osmo_fd * add support for multiple gsmtap instances (no global variables)
* logging: fix corrupted outputPablo Neira Ayuso2011-05-191-0/+6
| | | | | | | | | | | | | | | | | | | | | Harald reported a problem in the logging: http://lists.osmocom.org/pipermail/openbsc/2011-May/002896.html Reverting 81e9636454294ae10ef9bc8bf149dd0248afce76 seems to fix the problem. However, that workaround looks ugly. Holger gives us another clue on what was wrong: http://lists.osmocom.org/pipermail/openbsc/2011-May/002905.html While digging in the manpage, I found this: "The functions vprintf(), vfprintf(), vsprintf(), vsnprintf() are equivalent to the functions printf(), fprintf(), sprintf(), snprintf(), respectively, except that they are called with a va_list instead of a variable number of arguments. These functions do not call the va_end macro. Consequently, the value of ap is undefined after the call. The application should call va_end(ap) itself afterwards."
* app: Introduce some routines to help with application startupHolger Hans Peter Freyther2011-05-124-3/+68
| | | | | | | | | The plan is to collect structs and routines for application setup and remove many copies of the boilerplate code we have right now. This starts with routines to ignore certain signals and the stderr init code. Increment the age of the library because a new interface was added.
* update debian changelog to 0.3.0Harald Welte2011-05-101-0/+6
|
* update include paths in debian packaging specHarald Welte2011-05-102-2/+8
|
* libosmocore: bump library interface version to '1' for new osmo_ namesHarald Welte2011-05-084-2/+7
|
* msgfile: use namespace prefix osmo_* and use more descriptive namesPablo Neira Ayuso2011-05-073-18/+20
| | | | | | | | | | | | | Summary of changes: s/msg_entry/osmo_config_entry/g s/msg_entries/osmo_config_list/g s/msg_entry_parse/osmo_config_list_parse/g minor glitch included in this patch while I was at it: -#include "linuxlist.h" +#include <osmocom/core/linuxlist.h>
* plugin: use namespace prefix osmo_*Pablo Neira Ayuso2011-05-073-4/+4
| | | | | | Summary of changes: s/plugin_load_all/osmo_plugin_load_all/g
* backtrace: use namespace prefix osmo_*Pablo Neira Ayuso2011-05-073-3/+3
| | | | | | Summary of changes: s/backtrace/osmo_backtrace/g
* crc: use namespace prefix osmo_*Pablo Neira Ayuso2011-05-072-7/+7
| | | | | | | | Summary of changes: s/crc16_table/osmo_crc16_table/g s/crc16/osmo_crc16/g s/crc16_byte/osmo_crc16_byte/g
* utils: use namespace prefix osmo_*Pablo Neira Ayuso2011-05-074-23/+23
| | | | | | | | | | | | 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
* statistics: use namespace prefix osmo_counter*Pablo Neira Ayuso2011-05-072-15/+16
| | | | | | | | | | | | Summary of changes: s/struct counter/struct osmo_counter/g s/counter_inc/osmo_counter_inc/g s/counter_get/osmo_counter_get/g s/counter_reset/osmo_counter_reset/g s/counter_alloc/osmo_counter_alloc/g s/counter_free/osmo_counter_free/g s/counters_for_each/osmo_counters_for_each/g
* write-queue: use namespace prefix osmo_wqueue*Pablo Neira Ayuso2011-05-072-14/+14
| | | | | | | | | | Summary of changes: s/struct write_queue/struct osmo_wqueue/g s/write_queue_init/osmo_wqueue_init/g s/void write_queue_clear/osmo_wqueue_clear/g s/write_queue_enqueue/osmo_wqueue_enqueue/g s/write_queue_bfd_cb/osmo_wqueue_bfd_cb/g
* signal: use namespace prefix osmo_signal*Pablo Neira Ayuso2011-05-072-12/+14
| | | | | | | | | Summary of changes: s/signal_cbfn/osmo_signal_cbfn/g s/register_signal_handler/osmo_signal_register_handler/g s/unregister_signal_handler/osmo_signal_unregister_handler/g s/dispatch_signal/osmo_signal_dispatch/g
* select: use namespace prefix osmo_fd* and osmo_select*Pablo Neira Ayuso2011-05-078-39/+39
| | | | | | | | | Summary of changes: s/struct bsc_fd/struct osmo_fd/g s/bsc_register_fd/osmo_fd_register/g s/bsc_unregister_fd/osmo_fd_unregister/g s/bsc_select_main/osmo_select_main/g
* timer: use namespace prefix osmo_timer*Pablo Neira Ayuso2011-05-075-39/+40
| | | | | | | | | | | | | | Summary of changes: s/struct timer_list/struct osmo_timer_list/g s/bsc_add_timer/osmo_timer_add/g s/bsc_schedule_timer/osmo_timer_schedule/g s/bsc_del_timer/osmo_timer_del/g s/bsc_timer_pending/osmo_timer_pending/g s/bsc_nearest_timer/osmo_timers_nearest/g s/bsc_prepare_timers/osmo_timers_prepare/g s/bsc_update_timers/osmo_timers_update/g s/bsc_timer_check/osmo_timers_check/g
* GSMTAP: add function to create a 'sink' for gsmtap packetsHarald Welte2011-05-042-2/+59
| | | | | | This can be helpful where we send GSMTAP messages to the loopback device (localhost, 127.0.0.1) from where the kernel would then send ICMP reject packets as nobody is listening on that port.
* logging: make sure the output is null-terminatedPablo Neira Ayuso2011-05-041-0/+2
| | | | | If we reach the buffer size or snprintf fails, we want to make sure that the output is null-terminated.
* logging: remove workaround now that _output() has been reworkedPablo Neira Ayuso2011-05-041-12/+3
| | | | | | This patch removes a workaround to fix some strange memory corruption now that _output() has been completely reworked and we make use of snprintf appropriately.
* logging: rework _output() functionPablo Neira Ayuso2011-05-041-23/+26
| | | | | | This patch reworks _output() to handle snprintf() return value appropriately and to use one single buffer to build the logging string, instead of four.
* logging: several memory allocation belong to tall_log_ctx contextPablo Neira Ayuso2011-05-041-2/+2
| | | | | Several talloc_zero in logging use NULL context, use tall_log_ctx instead.
* logging: fix missing description of global loglevelPablo Neira Ayuso2011-05-041-0/+7
| | | | | | | | | | | OpenBSC> logging level all Global setting for all subsystems <----- this description was missing rll A-bis Radio Link Layer (RLL) [...] This problem was introduced by myself in: "vty: integration with logging framework" 04139f14b6197e3ec996133a945af3fa8a68fb7a
* core/conv: Only consider error for non-zero soft valuesSylvain Munaut2011-04-281-3/+6
| | | | | | | | | | | | If the input value is '0' it should not really affect the error since it's just an indecisive bit. We accept this either an internal '0' (generated via puncture) or as an external '0' (generated via an external puncturing scheme). A real received bit should never be '0', it's always gonna be closer to 1 or the other value ... (thanks to mad@auth.se on the ML for the idea) Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* core/conv: Add some generic code for convolutional coding/decodingSylvain Munaut2011-04-264-2/+596
| | | | | | | | | | | | | | | Far from perfect but suits our need thus far. The viterbi with softbit input is quite cpu-intensive. Since most received bursts are often mostly error free, you could use a less cpu intensive algorithm (Fano ?) and with hard bit input. Then only switch to viterbi soft bit input if the channel is bad enough to justify it. Soft output is not implemented as its usefulness for the block coding is limited. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* gsm/a5: Add a A5 1&2 implementationSylvain Munaut2011-04-264-2/+362
| | | | | | It's always useful to have around Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* include: fix missing extern in osmo_panic* declarationsPablo Neira Ayuso2011-04-261-2/+2
| | | | This patch adds the missing extern to osmo_panic* declarations.
* misc: Remove the sys/types.h include from various filesHolger Hans Peter Freyther2011-04-187-7/+0
| | | | | We used this include for the u_int{8,16,32}_t types but we do not need this anymore.
* stats: Fix the compiler warningsHolger Hans Peter Freyther2011-04-183-4/+4
| | | | Do not remove the const, include strings.h for strcmp
* Add a function to search for a counter by nameDaniel Willmann2011-04-092-0/+12
|
* Add functions to search for rate counters by nameDaniel Willmann2011-04-092-0/+36
| | | | * rate_ctr_get_group_by_name_idx, rate_ctr_get_by_name
* logging: Add the 'all' category back to the log level commandHolger Hans Peter Freyther2011-03-291-1/+1
| | | | | This is required to be able to set a global log level. The all command is emitted by the VTY logging code.
* vty: Fix a memory leak in the vty description commandHolger Hans Peter Freyther2011-03-291-0/+2
| | | | | | Before assigning a new string, free the previous one. This assume that it was allocated with talloc which should be true for the osmocom users.
* utils: move OSMO_SNPRINT_RET() macro definition to osmocom/core/utils.hPablo Neira Ayuso2011-03-282-18/+17
| | | | | This is used by the logging to vty conversion functions by now, but it may be of help for other functions that plan to use snprintf().
* vty: move vty_out_rate_ctr_group prototype to osmocom/vty/misc.hPablo Neira Ayuso2011-03-283-4/+11
| | | | Before this patch, it was in osmocom/core/rate_ctr.h
* write_queue: use full path of includes in osmocom/core/write_queue.hPablo Neira Ayuso2011-03-281-2/+2
|
* bitvec: add bitvec_find_first_bit_pos() from gsm/rxlev_stat.cPablo Neira Ayuso2011-03-283-12/+16
| | | | | 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
* core/bits: Make sbit_t a signed type (so that the math works)Sylvain Munaut2011-03-271-1/+1
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* include: reorganize headers file to include/osmocom/[gsm|core]Pablo Neira Ayuso2011-03-2389-144/+149
| | | | | | | | | | | | 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-2323-36/+96
| | | | | | | | | | 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>
* vty: integration with logging frameworkPablo Neira Ayuso2011-03-194-77/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The logging categories are registered by the applications, like osmo-nitb, during startup. Thus, the VTY have to provide the logging commands according to the logging categories that the application has registered. Before this patch, the VTY contained the logging categories hardcoded. Thus, any change in the logging categories by the application would not be shown by the VTY. So far, this was not a problem because all applications used the same logging categories. However, according to what Harald told me, this may be a problem in the future. This patch resolve the lack of integration between the logging framework and the VTY by generating the VTY logging commands from the logging categories registered. Since this patch changes one function of the libosmocore API, it follows another patch for the openbsc application to get in sync with the new function layout. I have reworked and renamed the functions: * log_vty_category_string() * log_vty_level_string() to provide the new ones that generate the exact output that VTY requires. This patch does not release the memory allocated by talloc_zero_size() to store the VTY strings for the commands and the description. I found no exit function that can clean up resources that were allocated.
* TLV: Add tv_fixed_put() and msgb_tv_fixed_put()Harald Welte2011-03-051-0/+15
| | | | This is for a Tag-Value type with fixed-length value (len > 1)
* Merge branch 'master' of git.osmocom.org:libosmocoreHarald Welte2011-03-031-1/+4
|\
| * LOGGING: Use host.app_info->name instead of FIXMEHarald Welte2011-02-241-1/+4
| | | | | | | | This should put a useful syslog identity in place.
* | rxlev_stat: Fix compiler warningHarald Welte2011-02-191-1/+1
|/
* vty: Revert Makefile.am change for libosmocore dependencyHarald Welte2011-02-191-1/+1
|
* LOGGING: remove duplicated code between vty-logging and cfg-loggingHarald Welte2011-02-182-123/+62
|
* LOGGING: Add missing 'nat' subsystemHarald Welte2011-02-181-1/+2
|
* LOGGING: configure logging from the vtyHarald Welte2011-02-1811-27/+433
| | | | | We can now configure logging to (multiple) files, stderr and syslog from the vty command line in a persistent way (config file)
* LOGGING: Add syslog log targetHarald Welte2011-02-173-2/+77
|
* LOGGING: Pass the log level down to the log target output functionHarald Welte2011-02-173-7/+10
| | | | This will be required for mapping osmocore log levels to syslog priorities.