aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include/openbsc/gsm_subscriber.h
diff options
context:
space:
mode:
authorHolger Freyther <ich@tamarin.(none)>2009-03-31 04:35:19 +0200
committerHolger Hans Peter Freyther <zecke@selfish.org>2009-06-10 13:20:39 +0200
commit04866d42792f59b334a13e836237947222b41127 (patch)
tree2ae505601aeaa371677ad1963f571d25950e7744 /openbsc/include/openbsc/gsm_subscriber.h
parentfdac4cc176892734ad782dccc2dc45a0282298a2 (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/include/openbsc/gsm_subscriber.h')
-rw-r--r--openbsc/include/openbsc/gsm_subscriber.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/openbsc/include/openbsc/gsm_subscriber.h b/openbsc/include/openbsc/gsm_subscriber.h
index 1ca79e2ae..f787aebd5 100644
--- a/openbsc/include/openbsc/gsm_subscriber.h
+++ b/openbsc/include/openbsc/gsm_subscriber.h
@@ -31,6 +31,9 @@ struct gsm_subscriber {
u_int8_t classmark2[3];
u_int8_t classmark3_len;
u_int8_t classmark3[14];
+
+ /* pending requests */
+ struct llist_head requests;
};
enum gsm_subscriber_field {
@@ -51,6 +54,9 @@ struct gsm_subscriber *subscr_get_by_imsi(const char *imsi);
struct gsm_subscriber *subscr_get_by_extension(const char *ext);
int subscr_update(struct gsm_subscriber *s, struct gsm_bts *bts, int reason);
void subscr_put_channel(struct gsm_lchan *lchan);
+void subscr_get_channel(struct gsm_subscriber *subscr,
+ struct gsm_network *network, int type,
+ gsm_cbfn *cbfn, void *param);
/* internal */
struct gsm_subscriber *subscr_alloc(void);