summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@gnumonks.org>2011-03-23 18:08:08 +0100
committerHarald Welte <laforge@gnumonks.org>2011-03-23 18:08:08 +0100
commitfba495e5f6084800c076e0ecae990ed9e6483530 (patch)
tree0f9513f0f54bd01ccfdceb172b4fe14b3cabd16b /src
parent04139f14b6197e3ec996133a945af3fa8a68fb7a (diff)
This patch moves the GSM-specific functions to the new library
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>
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.am14
-rw-r--r--src/backtrace.c50
-rw-r--r--src/gsm/Makefile.am13
-rw-r--r--src/gsm/comp128.c (renamed from src/comp128.c)0
-rw-r--r--src/gsm/gprs_cipher_core.c (renamed from src/gprs_cipher_core.c)0
-rw-r--r--src/gsm/gsm0480.c (renamed from src/gsm0480.c)0
-rw-r--r--src/gsm/gsm0808.c (renamed from src/gsm0808.c)0
-rw-r--r--src/gsm/gsm48.c (renamed from src/gsm48.c)0
-rw-r--r--src/gsm/gsm48_ie.c (renamed from src/gsm48_ie.c)0
-rw-r--r--src/gsm/gsm_utils.c (renamed from src/gsm_utils.c)23
-rw-r--r--src/gsm/rsl.c (renamed from src/rsl.c)0
-rw-r--r--src/gsm/rxlev_stat.c (renamed from src/rxlev_stat.c)0
-rw-r--r--src/gsm/tlv_parser.c (renamed from src/tlv_parser.c)0
-rw-r--r--src/panic.c1
14 files changed, 71 insertions, 30 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index 94492c53..c5c8a21d 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,4 +1,4 @@
-SUBDIRS=. vty codec
+SUBDIRS=. vty codec gsm
# This is _NOT_ the library release version, it's an API version.
# Please read Chapter 6 "Library interface versions" of the libtool documentation before making any modification
@@ -9,12 +9,12 @@ AM_CFLAGS = -fPIC -Wall
lib_LTLIBRARIES = libosmocore.la
-libosmocore_la_SOURCES = timer.c select.c signal.c msgb.c rxlev_stat.c bits.c \
- tlv_parser.c bitvec.c comp128.c gsm_utils.c statistics.c \
- write_queue.c utils.c rsl.c gsm48.c gsm48_ie.c \
- logging.c logging_syslog.c gsm0808.c rate_ctr.c \
- gsmtap_util.c gprs_cipher_core.c crc16.c panic.c \
- process.c gsm0480.c
+libosmocore_la_SOURCES = timer.c select.c signal.c msgb.c bits.c \
+ bitvec.c statistics.c \
+ write_queue.c utils.c \
+ logging.c logging_syslog.c rate_ctr.c \
+ gsmtap_util.c crc16.c panic.c backtrace.c \
+ process.c
if ENABLE_PLUGIN
libosmocore_la_SOURCES += plugin.c
diff --git a/src/backtrace.c b/src/backtrace.c
new file mode 100644
index 00000000..42394453
--- /dev/null
+++ b/src/backtrace.c
@@ -0,0 +1,50 @@
+/*
+ * (C) 2008 by Daniel Willmann <daniel@totalueberwachung.de>
+ * (C) 2009 by Holger Hans Peter Freyther <zecke@selfish.org>
+ * (C) 2009-2010 by Harald Welte <laforge@gnumonks.org>
+ * (C) 2010 by Nico Golde <nico@ngolde.de>
+ *
+ * All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <osmocore/utils.h>
+#include "config.h"
+
+#ifdef HAVE_EXECINFO_H
+#include <execinfo.h>
+void generate_backtrace()
+{
+ int i, nptrs;
+ void *buffer[100];
+ char **strings;
+
+ nptrs = backtrace(buffer, ARRAY_SIZE(buffer));
+ printf("backtrace() returned %d addresses\n", nptrs);
+
+ strings = backtrace_symbols(buffer, nptrs);
+ if (!strings)
+ return;
+
+ for (i = 1; i < nptrs; i++)
+ printf("%s\n", strings[i]);
+
+ free(strings);
+}
+#endif
diff --git a/src/gsm/Makefile.am b/src/gsm/Makefile.am
new file mode 100644
index 00000000..a8c2e569
--- /dev/null
+++ b/src/gsm/Makefile.am
@@ -0,0 +1,13 @@
+# This is _NOT_ the library release version, it's an API version.
+# Please read Chapter 6 "Library interface versions" of the libtool documentation before making any modification
+LIBVERSION=0:0:0
+
+INCLUDES = $(all_includes) -I$(top_srcdir)/include
+AM_CFLAGS = -fPIC -Wall
+
+lib_LTLIBRARIES = libosmogsm.la
+
+libosmogsm_la_SOURCES = rxlev_stat.c tlv_parser.c comp128.c gsm_utils.c \
+ rsl.c gsm48.c gsm48_ie.c gsm0808.c \
+ gprs_cipher_core.c gsm0480.c
+libosmogsm_la_LIBADD = $(top_builddir)/src/libosmocore.la
diff --git a/src/comp128.c b/src/gsm/comp128.c
index 5d5680c7..5d5680c7 100644
--- a/src/comp128.c
+++ b/src/gsm/comp128.c
diff --git a/src/gprs_cipher_core.c b/src/gsm/gprs_cipher_core.c
index 6174bd72..6174bd72 100644
--- a/src/gprs_cipher_core.c
+++ b/src/gsm/gprs_cipher_core.c
diff --git a/src/gsm0480.c b/src/gsm/gsm0480.c
index b6b345cb..b6b345cb 100644
--- a/src/gsm0480.c
+++ b/src/gsm/gsm0480.c
diff --git a/src/gsm0808.c b/src/gsm/gsm0808.c
index dc450cc4..dc450cc4 100644
--- a/src/gsm0808.c
+++ b/src/gsm/gsm0808.c
diff --git a/src/gsm48.c b/src/gsm/gsm48.c
index daec4f39..daec4f39 100644
--- a/src/gsm48.c
+++ b/src/gsm/gsm48.c
diff --git a/src/gsm48_ie.c b/src/gsm/gsm48_ie.c
index 0e270881..0e270881 100644
--- a/src/gsm48_ie.c
+++ b/src/gsm/gsm48_ie.c
diff --git a/src/gsm_utils.c b/src/gsm/gsm_utils.c
index 31e3cd69..54a13ad8 100644
--- a/src/gsm_utils.c
+++ b/src/gsm/gsm_utils.c
@@ -334,29 +334,6 @@ enum gsm_band gsm_band_parse(const char* mhz)
}
}
-
-#ifdef HAVE_EXECINFO_H
-#include <execinfo.h>
-void generate_backtrace()
-{
- int i, nptrs;
- void *buffer[100];
- char **strings;
-
- nptrs = backtrace(buffer, ARRAY_SIZE(buffer));
- printf("backtrace() returned %d addresses\n", nptrs);
-
- strings = backtrace_symbols(buffer, nptrs);
- if (!strings)
- return;
-
- for (i = 1; i < nptrs; i++)
- printf("%s\n", strings[i]);
-
- free(strings);
-}
-#endif
-
enum gsm_band gsm_arfcn2band(uint16_t arfcn)
{
int is_pcs = arfcn & ARFCN_PCS;
diff --git a/src/rsl.c b/src/gsm/rsl.c
index 3bfeffb9..3bfeffb9 100644
--- a/src/rsl.c
+++ b/src/gsm/rsl.c
diff --git a/src/rxlev_stat.c b/src/gsm/rxlev_stat.c
index b474aaa8..b474aaa8 100644
--- a/src/rxlev_stat.c
+++ b/src/gsm/rxlev_stat.c
diff --git a/src/tlv_parser.c b/src/gsm/tlv_parser.c
index bbef7a9a..bbef7a9a 100644
--- a/src/tlv_parser.c
+++ b/src/gsm/tlv_parser.c
diff --git a/src/panic.c b/src/panic.c
index 5fb7b565..21e8fd56 100644
--- a/src/panic.c
+++ b/src/panic.c
@@ -22,6 +22,7 @@
#include <osmocore/gsm_utils.h>
#include <osmocore/panic.h>
+#include <osmocore/backtrace.h>
#include "../config.h"