aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/rrlp.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2011-03-03 23:29:05 +0100
committerHarald Welte <laforge@gnumonks.org>2011-03-03 23:29:05 +0100
commit31c00f7d6fa63937f2c973157d196a427f6eef95 (patch)
tree6b7c81d92b6a8b83d0588b2b59d47fd0cca7a052 /openbsc/src/rrlp.c
parent9349d7ff7c5866110a1f2421ccc68a487e4030be (diff)
re-structure the OpenBSC directory layout
The new structure divides the code into a number of libraries for the BSC core functionality, MSC core functionality, Abis transport, TRAU and other bits. This doesn't introduce any functional code change but simply moves around files and alters Makefile.am accordingly. Next step would be to disentangle a lot of the inter-library dependencies and make the individual bits of code more independent.
Diffstat (limited to 'openbsc/src/rrlp.c')
-rw-r--r--openbsc/src/rrlp.c105
1 files changed, 0 insertions, 105 deletions
diff --git a/openbsc/src/rrlp.c b/openbsc/src/rrlp.c
deleted file mode 100644
index ae5ca478e..000000000
--- a/openbsc/src/rrlp.c
+++ /dev/null
@@ -1,105 +0,0 @@
-/* Radio Resource LCS (Location) Protocol, GMS TS 04.31 */
-
-/* (C) 2009 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 Affero General Public License as published by
- * the Free Software Foundation; either version 3 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 Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-
-#include <sys/types.h>
-
-#include <openbsc/gsm_04_08.h>
-#include <openbsc/signal.h>
-#include <openbsc/gsm_subscriber.h>
-#include <openbsc/chan_alloc.h>
-
-/* RRLP msPositionReq, nsBased,
- * Accuracy=60, Method=gps, ResponseTime=2, oneSet */
-static const u_int8_t ms_based_pos_req[] = { 0x40, 0x01, 0x78, 0xa8 };
-
-/* RRLP msPositionReq, msBasedPref,
- Accuracy=60, Method=gpsOrEOTD, ResponseTime=5, multipleSets */
-static const u_int8_t ms_pref_pos_req[] = { 0x40, 0x02, 0x79, 0x50 };
-
-/* RRLP msPositionReq, msAssistedPref,
- Accuracy=60, Method=gpsOrEOTD, ResponseTime=5, multipleSets */
-static const u_int8_t ass_pref_pos_req[] = { 0x40, 0x03, 0x79, 0x50 };
-
-static int send_rrlp_req(struct gsm_subscriber_connection *conn)
-{
- struct gsm_network *net = conn->bts->network;
- const u_int8_t *req;
-
- switch (net->rrlp.mode) {
- case RRLP_MODE_MS_BASED:
- req = ms_based_pos_req;
- break;
- case RRLP_MODE_MS_PREF:
- req = ms_pref_pos_req;
- break;
- case RRLP_MODE_ASS_PREF:
- req = ass_pref_pos_req;
- break;
- case RRLP_MODE_NONE:
- default:
- return 0;
- }
-
- return gsm48_send_rr_app_info(conn, 0x00,
- sizeof(ms_based_pos_req), req);
-}
-
-static int subscr_sig_cb(unsigned int subsys, unsigned int signal,
- void *handler_data, void *signal_data)
-{
- struct gsm_subscriber *subscr;
- struct gsm_subscriber_connection *conn;
-
- switch (signal) {
- case S_SUBSCR_ATTACHED:
- /* A subscriber has attached. */
- subscr = signal_data;
- conn = connection_for_subscr(subscr);
- if (!conn)
- break;
- send_rrlp_req(conn);
- break;
- }
- return 0;
-}
-
-static int paging_sig_cb(unsigned int subsys, unsigned int signal,
- void *handler_data, void *signal_data)
-{
- struct paging_signal_data *psig_data = signal_data;
-
- switch (signal) {
- case S_PAGING_SUCCEEDED:
- /* A subscriber has attached. */
- send_rrlp_req(psig_data->conn);
- break;
- case S_PAGING_EXPIRED:
- break;
- }
- return 0;
-}
-
-void on_dso_load_rrlp(void)
-{
- register_signal_handler(SS_SUBSCR, subscr_sig_cb, NULL);
- register_signal_handler(SS_PAGING, paging_sig_cb, NULL);
-}