summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* gsm 08.08: add value_strings and gsm0808_msg_name() functionHarald Welte2011-07-111-0/+86
|
* fix against corrupted output in parallel loggingHarald Welte2011-07-021-1/+1
| | | | | | | | | In 825607672215b7a12ea6e201a89cd5209f6d657f it was attempted to fix a bug previously introduced by logging related changes. The problem is that a va_list can be corrupted after it has been used once, so we need to va_copy before each successive use. And if we copy it, we also need to use the copy, and not the original ;)
* 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.
* add msgb_set_talloc_ctx() to set the talloc context for msgb allocationsHarald Welte2011-06-291-0/+5
|
* 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.
* Fix the generation of the log_categories string + LAPDMHarald Welte2011-06-271-4/+7
| | | | | | | | ... I should do more testing :( Conflicts: src/logging.c
* logging: make sure to add the internal categories, as intendedHarald Welte2011-06-271-0/+6
|
* add LAPDm code from osmocom-bb into libosmocoreHarald Welte2011-06-273-1/+2518
|
* logging: introduce library-internal logging categoriesHarald Welte2011-06-272-21/+93
| | | | | | | | | | We do this by using a trick: library-internal log categories use negative subsystem numbers, which are converted into positive array indexes at the time of logging. library-internal log categories need to be knwo at compile-time, while application-specified categories now are of unlimited number, as they are dynamically allocated.
* 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)
* merge process.[ch] with application.[ch]Harald Welte2011-06-264-74/+63
|
* 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
|
* socket: add OSMO_SOCK_F_[CONNECT|BIND|NON_BLOCK] flagsPablo Neira Ayuso2011-06-132-12/+32
| | | | | | | | This extends the socket infrastructure in libosmocore to allow to create non-blocking sockets. Basically, it replaces the connect0_bind1 parameter by one flags parameter.
* socket: getaddrinfo(): set AI_PASSIVE if we want to bindHarald Welte2011-05-311-0/+3
| | | | This will tell getaddrinfo() that we want a INADDR_ANY style socket
* gsmtap_util: Remove msg_free from the wq call backSylvain Munaut2011-05-291-3/+0
| | | | | | write_queue already frees the message after the callback is called. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* 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
|
* socket: remove unused IPv4 related header includesHarald Welte2011-05-291-2/+0
|
* socket: Skip ifa's without ifa->ifa_addrHarald Welte2011-05-241-0/+2
| | | | Apparently getifaddrs() returns ifa's without an ifa_addr set.
* 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
|
* socket: use listen() and SO_REUSEADDR, new osmo_sock_init_ofd() functionHarald Welte2011-05-221-1/+34
| | | | | | osmo_sock_init_ofd() is a wrapper around osmo_sock_init() which will take care of initializing and registering a 'struct osmo_fd' for the newly-created socket.
* remove debug printf from socket.cHarald Welte2011-05-221-1/+0
|
* gsmtap: deal with apps that call gsmtap_send*() with NULL gsmtap_instHarald Welte2011-05-221-0/+6
|
* vty: print actual application name rather than always OpenBSC on connectHarald Welte2011-05-221-3/+9
|
* GSMTAP/socket code: Check for sys/socket.h and conditionally compileHarald Welte2011-05-222-7/+13
|
* gsmtap: rework GSMTAP API to be more future-proofHarald Welte2011-05-223-88/+251
| | | | | | * 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-122-2/+51
| | | | | | | | | 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.
* 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-071-10/+12
| | | | | | | | | | | | | 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-072-3/+3
| | | | | | Summary of changes: s/plugin_load_all/osmo_plugin_load_all/g
* backtrace: use namespace prefix osmo_*Pablo Neira Ayuso2011-05-072-2/+2
| | | | | | Summary of changes: s/backtrace/osmo_backtrace/g
* crc: use namespace prefix osmo_*Pablo Neira Ayuso2011-05-071-3/+3
| | | | | | | | 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-072-15/+15
| | | | | | | | | | | | 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-071-7/+8
| | | | | | | | | | | | 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-071-7/+7
| | | | | | | | | | 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-071-4/+7
| | | | | | | | | 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-074-27/+27
| | | | | | | | | 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-073-21/+22
| | | | | | | | | | | | | | 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-041-2/+55
| | | | | | 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.