aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2011-06-07 19:53:29 +0200
committerHolger Hans Peter Freyther <zecke@selfish.org>2011-07-19 20:01:54 +0200
commit31f5f71647a90300d70321daba6d5cd6c097df80 (patch)
tree9d18ddbc90a19b170133ea37db818c7a5593799e /openbsc
parent0e412c7a552055382a49e59bc744a718d9c2595a (diff)
paging: Add method to find the paging data for a given subscriber
Diffstat (limited to 'openbsc')
-rw-r--r--openbsc/include/openbsc/paging.h2
-rw-r--r--openbsc/src/libbsc/paging.c14
2 files changed, 16 insertions, 0 deletions
diff --git a/openbsc/include/openbsc/paging.h b/openbsc/include/openbsc/paging.h
index 0872eb866..e1438ba4c 100644
--- a/openbsc/include/openbsc/paging.h
+++ b/openbsc/include/openbsc/paging.h
@@ -68,4 +68,6 @@ void paging_update_buffer_space(struct gsm_bts *bts, uint16_t);
/* pending paging requests */
unsigned int paging_pending_requests_nr(struct gsm_bts *bts);
+void *paging_get_data(struct gsm_bts *bts, struct gsm_subscriber *subscr);
+
#endif
diff --git a/openbsc/src/libbsc/paging.c b/openbsc/src/libbsc/paging.c
index 4dfa92161..fe60e3f6d 100644
--- a/openbsc/src/libbsc/paging.c
+++ b/openbsc/src/libbsc/paging.c
@@ -405,3 +405,17 @@ unsigned int paging_pending_requests_nr(struct gsm_bts *bts)
return requests;
}
+
+/**
+ * Find any paging data for the given subscriber at the given BTS.
+ */
+void *paging_get_data(struct gsm_bts *bts, struct gsm_subscriber *subscr)
+{
+ struct gsm_paging_request *req;
+
+ llist_for_each_entry(req, &bts->paging.pending_requests, entry)
+ if (req->subscr == subscr)
+ return req->cbfn_param;
+
+ return NULL;
+}