diff options
author | Holger Freyther <ich@tamarin.(none)> | 2009-03-31 04:35:19 +0200 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2009-06-10 13:20:39 +0200 |
commit | 04866d42792f59b334a13e836237947222b41127 (patch) | |
tree | 2ae505601aeaa371677ad1963f571d25950e7744 /openbsc/src/gsm_subscriber.c | |
parent | fdac4cc176892734ad782dccc2dc45a0282298a2 (diff) |
Proposal for a "channel request" interface...
Reuqests for a subscriber a stored within the gsm_subscriber
datastructure and it will keep track how many channels are
allocated for this user and of which type to decide on policy...
e.g. attempt to submit SMS during a phone call and not doing
paging but a simple (immediate) assignment of the channel...
Diffstat (limited to 'openbsc/src/gsm_subscriber.c')
-rw-r--r-- | openbsc/src/gsm_subscriber.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/openbsc/src/gsm_subscriber.c b/openbsc/src/gsm_subscriber.c index 3f608ec30..3a8179335 100644 --- a/openbsc/src/gsm_subscriber.c +++ b/openbsc/src/gsm_subscriber.c @@ -27,6 +27,7 @@ #include <string.h> #include <openbsc/gsm_subscriber.h> +#include <openbsc/paging.h> #include <openbsc/debug.h> #include <openbsc/db.h> @@ -45,6 +46,8 @@ struct gsm_subscriber *subscr_alloc(void) llist_add_tail(&s->entry, &active_subscribers); s->use_count = 1; + INIT_LLIST_HEAD(&s->requests); + return s; } @@ -131,6 +134,13 @@ struct gsm_subscriber *subscr_put(struct gsm_subscriber *subscr) return NULL; } +void subscr_get_channel(struct gsm_subscriber *subscr, + struct gsm_network *network, int type, + gsm_cbfn *cbfn, void *param) +{ + paging_request(network, subscr, type, cbfn, param); +} + void subscr_put_channel(struct gsm_lchan *lchan) { /* @@ -141,3 +151,4 @@ void subscr_put_channel(struct gsm_lchan *lchan) */ put_lchan(lchan); } + |