summaryrefslogtreecommitdiffstats
path: root/src/host/layer23/src/mobile/app_mobile.c
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2011-09-02 11:16:10 +0200
committerAndreas Eversberg <jolly@eversberg.eu>2011-09-04 10:02:43 +0200
commitc9927c72ea31ad00b23da122280d6fcdec4a1a1e (patch)
tree186b9da3192802e821a802b5672c18f77e50bafb /src/host/layer23/src/mobile/app_mobile.c
parent5c8b76e74e5d6f69f5d77c9092bcd7d47f1c2ecc (diff)
[mobile] Using socket application interface with mobile application
Use "-m" with mobile app, to use it in conjunction with LCR or other applications.
Diffstat (limited to 'src/host/layer23/src/mobile/app_mobile.c')
-rw-r--r--src/host/layer23/src/mobile/app_mobile.c22
1 files changed, 6 insertions, 16 deletions
diff --git a/src/host/layer23/src/mobile/app_mobile.c b/src/host/layer23/src/mobile/app_mobile.c
index 8b3b5524..ada94809 100644
--- a/src/host/layer23/src/mobile/app_mobile.c
+++ b/src/host/layer23/src/mobile/app_mobile.c
@@ -233,16 +233,13 @@ struct osmocom_ms *mobile_new(char *name)
ms->shutdown = 2; /* being down */
if (mncc_recv_app) {
- struct msgb *msg;
+ char name[32];
- msg = msgb_alloc(sizeof(struct gsm_mncc), "MNCC");
- if (msg) {
- struct gsm_mncc *mncc = (struct gsm_mncc *)msg->data;
+ sprintf(name, "/tmp/ms_mncc_%s", ms->name);
- mncc->msg_type = MS_NEW;
- mncc_recv_app(ms, mncc->msg_type, mncc);
- }
ms->mncc_entity.mncc_recv = mncc_recv_app;
+ ms->mncc_entity.sock_state = mncc_sock_init(ms, name, l23_ctx);
+
} else if (ms->settings.ch_cap == GSM_CAP_SDCCH)
ms->mncc_entity.mncc_recv = mncc_recv_dummy;
else
@@ -266,15 +263,8 @@ int mobile_delete(struct osmocom_ms *ms, int force)
}
if (mncc_recv_app) {
- struct msgb *msg;
-
- msg = msgb_alloc(sizeof(struct gsm_mncc), "MNCC");
- if (msg) {
- struct gsm_mncc *mncc = (struct gsm_mncc *)msg->data;
-
- mncc->msg_type = MS_DELETE;
- mncc_recv_app(ms, mncc->msg_type, mncc);
- }
+ mncc_sock_exit(ms->mncc_entity.sock_state);
+ ms->mncc_entity.sock_state = NULL;
}
return 0;