aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2010-12-23 01:07:46 +0100
committerHarald Welte <laforge@gnumonks.org>2010-12-26 10:01:41 +0100
commit404908d9bdc44513e6beb8f8fb2906ef43001b23 (patch)
tree3af7fc4d753ec575401fb1f81b6e274e1f43c5f2 /openbsc/include
parentb7f8b35afdd5b4160dada99d1659db63578f158f (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')
-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 35d925aea..afcf33661 100644
--- a/openbsc/include/openbsc/mncc.h
+++ b/openbsc/include/openbsc/mncc.h
@@ -29,6 +29,7 @@
#include <osmocore/mncc.h>
struct gsm_network;
+struct msgb;
/* One end of a call */
@@ -156,7 +157,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);