aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2010-06-17 16:41:25 +0800
committerHolger Hans Peter Freyther <zecke@selfish.org>2010-06-17 16:41:25 +0800
commit9764331062643d5b0771d2a93e6e503f0c029a9a (patch)
tree20f0a029c3affa7ce13a19a583e3b0d89b860aa6 /openbsc/include
parent86481c29d4cc9bed3010db466be6e0757458b031 (diff)
bsc_api: Move gsm48_rcvmsg into the BSC API and dispatch.
The next step in the way to the BSC API. We have a clear a new connection was opened signal now... and the MSC could use it...
Diffstat (limited to 'openbsc/include')
-rw-r--r--openbsc/include/openbsc/bsc_api.h8
-rw-r--r--openbsc/include/openbsc/gsm_04_08.h1
-rw-r--r--openbsc/include/openbsc/gsm_04_11.h2
-rw-r--r--openbsc/include/openbsc/gsm_data.h1
4 files changed, 9 insertions, 3 deletions
diff --git a/openbsc/include/openbsc/bsc_api.h b/openbsc/include/openbsc/bsc_api.h
index 7747adab3..e92da216a 100644
--- a/openbsc/include/openbsc/bsc_api.h
+++ b/openbsc/include/openbsc/bsc_api.h
@@ -5,12 +5,16 @@
#include "gsm_data.h"
+#define BSC_API_CONN_POL_ACCEPT 0
+#define BSC_API_CONN_POL_REJECT 1
+
struct bsc_api {
void (*sapi_n_reject)(struct gsm_subscriber_connection *conn, int dlci);
void (*cipher_mode_compl)(struct gsm_subscriber_connection *conn,
struct msgb *msg, uint16_t ind);
- void (*compl_l3)(struct gsm_subscriber_connection *conn,
- struct msgb *msg, uint16_t chosen_channel);
+ int (*compl_l3)(struct gsm_subscriber_connection *conn,
+ struct msgb *msg, uint16_t chosen_channel);
+ void (*dtap)(struct gsm_subscriber_connection *conn, struct msgb *msg);
void (*ass_compl)(struct gsm_subscriber_connection *conn,
uint16_t rr_cause);
void (*ass_fail)(struct gsm_subscriber_connection *conn,
diff --git a/openbsc/include/openbsc/gsm_04_08.h b/openbsc/include/openbsc/gsm_04_08.h
index 11bca5448..3fbc35f08 100644
--- a/openbsc/include/openbsc/gsm_04_08.h
+++ b/openbsc/include/openbsc/gsm_04_08.h
@@ -25,6 +25,7 @@ static inline struct msgb *gsm48_msgb_alloc(void)
/* config options controlling the behaviour of the lower leves */
void gsm0408_allow_everyone(int allow);
void gsm0408_clear_request(struct gsm_subscriber_connection *conn, uint32_t cause);
+int gsm0408_dispatch(struct gsm_subscriber_connection *conn, struct msgb *msg);
int gsm0408_rcvmsg(struct msgb *msg, u_int8_t link_id);
enum gsm_chan_t get_ctype_by_chreq(struct gsm_bts *bts, u_int8_t ra, int neci);
diff --git a/openbsc/include/openbsc/gsm_04_11.h b/openbsc/include/openbsc/gsm_04_11.h
index 61eaffd60..d62a392f7 100644
--- a/openbsc/include/openbsc/gsm_04_11.h
+++ b/openbsc/include/openbsc/gsm_04_11.h
@@ -25,7 +25,7 @@ struct sms_deliver {
struct msgb;
-int gsm0411_rcv_sms(struct gsm_subscriber_connection *conn, struct msgb *msg, u_int8_t link_id);
+int gsm0411_rcv_sms(struct gsm_subscriber_connection *conn, struct msgb *msg);
struct gsm_sms *sms_alloc(void);
void sms_free(struct gsm_sms *sms);
diff --git a/openbsc/include/openbsc/gsm_data.h b/openbsc/include/openbsc/gsm_data.h
index f3f4ed37a..bb790bc34 100644
--- a/openbsc/include/openbsc/gsm_data.h
+++ b/openbsc/include/openbsc/gsm_data.h
@@ -254,6 +254,7 @@ struct gsm_subscriber_connection {
int silent_call;
/* back pointers */
+ int allocated;
struct gsm_lchan *lchan;
struct gsm_bts *bts;
};