blob: 35892d9d64b04a940010adca2dad5bd5d070983f [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
Neels Hofmeyrc0164792017-09-04 15:15:32 +02006#include <osmocom/bsc/arfcn_range_encode.h>
Max881064e2016-12-14 14:51:40 +01007
Sylvain Munaut12e373c2010-12-01 22:26:28 +01008struct gsm_bts;
9
Vadim Yanitskiyf6983f62020-07-03 03:19:29 +070010int generate_cell_chan_list(uint8_t *chan_list, struct gsm_bts *bts);
Harald Welte7401ae62010-06-15 16:44:12 +020011int gsm_generate_si(struct gsm_bts *bts, enum osmo_sysinfo_type type);
Maxf39d03a2017-05-12 17:00:30 +020012size_t si2q_earfcn_count(const struct osmo_earfcn_si2q *e);
Max26679e02016-04-20 15:57:13 +020013unsigned range1024_p(unsigned n);
14unsigned range512_q(unsigned m);
Max881064e2016-12-14 14:51:40 +010015int range_encode(enum gsm48_range r, int *arfcns, int arfcns_used, int *w,
16 int f0, uint8_t *chan_list);
Maxf39d03a2017-05-12 17:00:30 +020017uint8_t si2q_num(struct gsm_bts *bts);
Max70fdd242017-06-15 15:10:53 +020018int bts_earfcn_add(struct gsm_bts *bts, uint16_t earfcn, uint8_t thresh_hi, uint8_t thresh_lo, uint8_t prio,
19 uint8_t qrx, uint8_t meas_bw);
Max26679e02016-04-20 15:57:13 +020020int bts_uarfcn_del(struct gsm_bts *bts, uint16_t arfcn, uint16_t scramble);
21int bts_uarfcn_add(struct gsm_bts *bts, uint16_t arfcn, uint16_t scramble,
22 bool diversity);
Harald Weltea43f7892009-12-01 18:04:30 +053023#endif