aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include/openbsc
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2010-12-23 01:07:46 +0100
committerHarald Welte <laforge@gnumonks.org>2011-01-01 17:23:42 +0100
commit29b64e9708297d604b57b5a4779996fa5ca0b2f7 (patch)
tree0ce715d1123143f3eb5050f57aef1ac9cc160162 /openbsc/include/openbsc
parent04dc88fb9d364a9d841e4be53dca4116b28aaad6 (diff)
MNCC: pass the actual 'struct msgb' down the mncc_recv() callback
this is required as we no longer have a dequeue-handler that can take care of free()ing the message after passing it to the MNCC handler.
Diffstat (limited to 'openbsc/include/openbsc')
-rw-r--r--openbsc/include/openbsc/gsm_data.h4
-rw-r--r--openbsc/include/openbsc/mncc.h3
2 files changed, 4 insertions, 3 deletions
diff --git a/openbsc/include/openbsc/gsm_data.h b/openbsc/include/openbsc/gsm_data.h
index f9c87e757..59599ab03 100644
--- a/openbsc/include/openbsc/gsm_data.h
+++ b/openbsc/include/openbsc/gsm_data.h
@@ -694,7 +694,7 @@ struct gsm_network {
struct gsmnet_stats stats;
/* layer 4 */
- int (*mncc_recv) (struct gsm_network *net, int msg_type, void *arg);
+ int (*mncc_recv) (struct gsm_network *net, struct msgb *msg);
struct llist_head upqueue;
struct llist_head trans_list;
struct bsc_api *bsc_api;
@@ -762,7 +762,7 @@ struct gsm_sms {
struct gsm_network *gsm_network_init(u_int16_t country_code, u_int16_t network_code,
- int (*mncc_recv)(struct gsm_network *, int, void *));
+ int (*mncc_recv)(struct gsm_network *, struct msgb *));
struct gsm_bts *gsm_bts_alloc(struct gsm_network *net, enum gsm_bts_type type,
u_int8_t tsc, u_int8_t bsic);
struct gsm_bts_trx *gsm_bts_trx_alloc(struct gsm_bts *bts);
diff --git a/openbsc/include/openbsc/mncc.h b/openbsc/include/openbsc/mncc.h
index bd3eb71fe..75551c522 100644
--- a/openbsc/include/openbsc/mncc.h
+++ b/openbsc/include/openbsc/mncc.h
@@ -28,6 +28,7 @@
#include <osmocore/mncc.h>
struct gsm_network;
+struct msgb;
/* One end of a call */
@@ -155,7 +156,7 @@ struct gsm_data_frame {
};
char *get_mncc_name(int value);
-int int_mncc_recv(struct gsm_network *net, int msg_type, void *arg);
+int int_mncc_recv(struct gsm_network *net, struct msgb *msg);
void mncc_set_cause(struct gsm_mncc *data, int loc, int val);
void cc_tx_to_mncc(struct gsm_network *net, struct msgb *msg);