diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2011-09-02 11:16:10 +0200 |
---|---|---|
committer | Andreas Eversberg <jolly@eversberg.eu> | 2011-09-04 10:02:43 +0200 |
commit | c9927c72ea31ad00b23da122280d6fcdec4a1a1e (patch) | |
tree | 186b9da3192802e821a802b5672c18f77e50bafb /src/host/layer23/src/mobile/app_mobile.c | |
parent | 5c8b76e74e5d6f69f5d77c9092bcd7d47f1c2ecc (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.c | 22 |
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; |