diff options
author | Harald Welte <laforge@gnumonks.org> | 2011-06-27 11:25:35 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2011-06-27 11:25:35 +0200 |
commit | c6b4c87e5d57b91b29894835e7ac8e42f6e67f32 (patch) | |
tree | 2dfca5a61c881e88e6f29d03c29bb26e1c643332 /include/osmo-bts/bts_model.h | |
parent | 8e47fb89bfd0e2b54b714393ac2a80ca76df56a9 (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/bts_model.h')
-rw-r--r-- | include/osmo-bts/bts_model.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/include/osmo-bts/bts_model.h b/include/osmo-bts/bts_model.h new file mode 100644 index 00000000..81b30e94 --- /dev/null +++ b/include/osmo-bts/bts_model.h @@ -0,0 +1,33 @@ +#ifndef BTS_MODEL_H +#define BTS_MODEL_H + +#include <stdint.h> + +#include <osmocom/gsm/tlv.h> +#include <osmocom/gsm/gsm_utils.h> + +#include <osmo-bts/gsm_data.h> + +/* BTS model specific functions needed by the common code */ + +int bts_model_init(struct gsm_bts *bts); + +struct gsm_time *bts_model_get_time(struct gsm_bts *bts); + +int bts_model_check_oml(struct gsm_bts *bts, uint8_t msg_type, + struct tlv_parsed *old_attr, struct tlv_parsed *new_attr, + void *obj); + +int bts_model_apply_oml(struct gsm_bts *bts, struct msgb *msg, + struct tlv_parsed *new_attr, void *obj); + +int bts_model_opstart(struct gsm_bts *bts, struct gsm_abis_mo *mo, + void *obj); + +int bts_model_chg_adm_state(struct gsm_bts *bts, struct gsm_abis_mo *mo, + void *obj, uint8_t adm_state); + +int bts_model_rsl_chan_act(struct gsm_lchan *lchan, struct tlv_parsed *tp); +int bts_model_rsl_chan_rel(struct gsm_lchan *lchan); + +#endif |