blob: 71bea266063e65fac9fcde6d9a664bdd129df8bb [file] [log] [blame]
Harald Weltea43f7892009-12-01 18:04:30 +05301#ifndef _SYSTEM_INFO_H
2#define _SYSTEM_INFO_H
3
Harald Welte80cffaf2011-05-24 15:02:20 +02004#include <osmocom/gsm/sysinfo.h>
Harald Welte7401ae62010-06-15 16:44:12 +02005
Max881064e2016-12-14 14:51:40 +01006#include <openbsc/arfcn_range_encode.h>
7
Sylvain Munaut12e373c2010-12-01 22:26:28 +01008struct gsm_bts;
9
Harald Welte7401ae62010-06-15 16:44:12 +020010int gsm_generate_si(struct gsm_bts *bts, enum osmo_sysinfo_type type);
Maxf39d03a2017-05-12 17:00:30 +020011size_t si2q_earfcn_count(const struct osmo_earfcn_si2q *e);
Max26679e02016-04-20 15:57:13 +020012unsigned range1024_p(unsigned n);
13unsigned range512_q(unsigned m);
Max881064e2016-12-14 14:51:40 +010014int range_encode(enum gsm48_range r, int *arfcns, int arfcns_used, int *w,
15 int f0, uint8_t *chan_list);
Maxf39d03a2017-05-12 17:00:30 +020016uint8_t si2q_num(struct gsm_bts *bts);
Max70fdd242017-06-15 15:10:53 +020017int bts_earfcn_add(struct gsm_bts *bts, uint16_t earfcn, uint8_t thresh_hi, uint8_t thresh_lo, uint8_t prio,
18 uint8_t qrx, uint8_t meas_bw);
Max26679e02016-04-20 15:57:13 +020019int bts_uarfcn_del(struct gsm_bts *bts, uint16_t arfcn, uint16_t scramble);
20int bts_uarfcn_add(struct gsm_bts *bts, uint16_t arfcn, uint16_t scramble,
21 bool diversity);
Harald Weltea43f7892009-12-01 18:04:30 +053022#endif