diff options
Diffstat (limited to 'src/host')
-rw-r--r-- | src/host/layer23/src/misc/Makefile.am | 2 | ||||
-rw-r--r-- | src/host/layer23/src/misc/app_ccch_scan.c | 40 | ||||
-rw-r--r-- | src/host/layer23/src/misc/app_phone.c | 72 |
3 files changed, 41 insertions, 73 deletions
diff --git a/src/host/layer23/src/misc/Makefile.am b/src/host/layer23/src/misc/Makefile.am index 396cc342..84285116 100644 --- a/src/host/layer23/src/misc/Makefile.am +++ b/src/host/layer23/src/misc/Makefile.am @@ -5,7 +5,7 @@ LDADD = ../common/liblayer23.a $(LIBOSMOCORE_LIBS) bin_PROGRAMS = bcch_scan ccch_scan echo_test cell_log cbch_sniff bcch_scan_SOURCES = ../common/main.c app_bcch_scan.c bcch_scan.c -ccch_scan_SOURCES = ../common/main.c app_phone.c app_ccch_scan.c rslms.c +ccch_scan_SOURCES = ../common/main.c app_ccch_scan.c rslms.c echo_test_SOURCES = ../common/main.c app_echo_test.c cell_log_LDADD = $(LDADD) -lm cell_log_SOURCES = ../common/main.c app_cell_log.c cell_log.c \ diff --git a/src/host/layer23/src/misc/app_ccch_scan.c b/src/host/layer23/src/misc/app_ccch_scan.c index 237b990d..c2d75f3a 100644 --- a/src/host/layer23/src/misc/app_ccch_scan.c +++ b/src/host/layer23/src/misc/app_ccch_scan.c @@ -28,6 +28,7 @@ #include <osmocore/rsl.h> #include <osmocore/tlv.h> #include <osmocore/gsm48_ie.h> +#include <osmocore/signal.h> #include <osmocore/protocol/gsm_04_08.h> #include <osmocom/bb/common/logging.h> @@ -36,6 +37,7 @@ #include <osmocom/bb/misc/layer3.h> #include <osmocom/bb/common/osmocom_data.h> #include <osmocom/bb/common/l1ctl.h> +#include <osmocom/bb/common/l23_app.h> static struct { int has_si1; @@ -327,3 +329,41 @@ void layer3_app_reset(void) memset(&app_state.cell_arfcns, 0x00, sizeof(app_state.cell_arfcns)); } + +static int signal_cb(unsigned int subsys, unsigned int signal, + void *handler_data, void *signal_data) +{ + struct osmocom_ms *ms; + + if (subsys != SS_L1CTL) + return 0; + + switch (signal) { + case S_L1CTL_RESET: + ms = signal_data; + layer3_app_reset(); + return l1ctl_tx_fbsb_req(ms, ms->test_arfcn, + L1CTL_FBSB_F_FB01SB, 100, 0, + CCCH_MODE_NONE); + break; + } + return 0; +} + + +int l23_app_init(struct osmocom_ms *ms) +{ + register_signal_handler(SS_L1CTL, &signal_cb, NULL); + l1ctl_tx_reset_req(ms, L1CTL_RES_T_FULL); + return layer3_init(ms); +} + +static struct l23_app_info info = { + .copyright = "Copyright (C) 2010 Harald Welte <laforge@gnumonks.org>\n", + .contribution = "Contributions by Holger Hans Peter Freyther\n", +}; + +struct l23_app_info *l23_app_info() +{ + return &info; +} diff --git a/src/host/layer23/src/misc/app_phone.c b/src/host/layer23/src/misc/app_phone.c deleted file mode 100644 index 85d0da9d..00000000 --- a/src/host/layer23/src/misc/app_phone.c +++ /dev/null @@ -1,72 +0,0 @@ -/* "Application" code of the layer2/3 stack */ - -/* (C) 2010 by Holger Hans Peter Freyther - * (C) 2010 by Harald Welte <laforge@gnumonks.org> - * - * 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 <osmocom/bb/common/osmocom_data.h> -#include <osmocom/bb/common/l1ctl.h> -#include <osmocom/bb/common/lapdm.h> -#include <osmocom/bb/common/logging.h> -#include <osmocom/bb/common/l23_app.h> -#include <osmocom/bb/misc/layer3.h> - -#include <osmocore/msgb.h> -#include <osmocore/talloc.h> -#include <osmocore/select.h> -#include <osmocore/signal.h> - -static int signal_cb(unsigned int subsys, unsigned int signal, - void *handler_data, void *signal_data) -{ - struct osmocom_ms *ms; - - if (subsys != SS_L1CTL) - return 0; - - switch (signal) { - case S_L1CTL_RESET: - ms = signal_data; - layer3_app_reset(); - return l1ctl_tx_fbsb_req(ms, ms->test_arfcn, - L1CTL_FBSB_F_FB01SB, 100, 0, - CCCH_MODE_NONE); - break; - } - return 0; -} - - -int l23_app_init(struct osmocom_ms *ms) -{ - register_signal_handler(SS_L1CTL, &signal_cb, NULL); - l1ctl_tx_reset_req(ms, L1CTL_RES_T_FULL); - return layer3_init(ms); -} - -static struct l23_app_info info = { - .copyright = "Copyright (C) 2010 Harald Welte <laforge@gnumonks.org>\n", - .contribution = "Contributions by Holger Hans Peter Freyther\n", -}; - -struct l23_app_info *l23_app_info() -{ - return &info; -} |