aboutsummaryrefslogtreecommitdiffstats
path: root/include/osmo-bts/paging.h
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2011-06-27 11:25:35 +0200
committerHarald Welte <laforge@gnumonks.org>2011-06-27 11:25:35 +0200
commitc6b4c87e5d57b91b29894835e7ac8e42f6e67f32 (patch)
tree2dfca5a61c881e88e6f29d03c29bb26e1c643332 /include/osmo-bts/paging.h
parent8e47fb89bfd0e2b54b714393ac2a80ca76df56a9 (diff)
re-work original osmo-bts with support for sysmocom femtobts
This code re-works osmo-bts to add support for the upcoming sysmocom BTS. It also tries to add some level of abstraction between the generic part of a BTS (A-bis, RSL, OML, data structures, paging scheduling, BCCH/AGCH scheduling, etc.) and the actual hardware-specific bits. The hardware-specific bits are currently only implemented for the sysmocom femtobts, but should be (re-)added for osmocom-bb, as well as a virtual BTS for simulation purpose later. The sysmocom bts specific parts require hardware-specific header files which are (at least currently) not publicly distributed.
Diffstat (limited to 'include/osmo-bts/paging.h')
-rw-r--r--include/osmo-bts/paging.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/include/osmo-bts/paging.h b/include/osmo-bts/paging.h
new file mode 100644
index 00000000..793a2a14
--- /dev/null
+++ b/include/osmo-bts/paging.h
@@ -0,0 +1,24 @@
+#ifndef OSMO_BTS_PAGING_H
+#define OSMO_BTS_PAGING_H
+
+#include <stdint.h>
+#include <osmocom/gsm/gsm_utils.h>
+#include <osmocom/gsm/protocol/gsm_04_08.h>
+
+struct paging_state;
+
+/* initialize paging code */
+struct paging_state *paging_init(void *ctx, unsigned int num_paging_max,
+ unsigned int paging_lifetime);
+
+/* update with new SYSTEM INFORMATION parameters */
+int paging_si_update(struct paging_state *ps, struct gsm48_control_channel_descr *chan_desc);
+
+/* Add an identity to the paging queue */
+int paging_add_identity(struct paging_state *ps, uint8_t paging_group,
+ const uint8_t *identity_lv, uint8_t chan_needed);
+
+/* generate paging message for given gsm time */
+int paging_gen_msg(struct paging_state *ps, uint8_t *out_buf, struct gsm_time *gt);
+
+#endif