diff options
-rw-r--r-- | openbsc/include/openbsc/paging.h | 2 | ||||
-rw-r--r-- | openbsc/src/libbsc/paging.c | 14 |
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; +} |