blob: da662e912e47ae82ad76abab9cc22de42afd095f [file] [log] [blame]
Harald Weltea43f7892009-12-01 18:04:30 +05301#ifndef _SYSTEM_INFO_H
2#define _SYSTEM_INFO_H
3
Harald Welte5f827f42010-07-30 11:11:38 +02004#include <osmocore/utils.h>
5
Harald Welte7401ae62010-06-15 16:44:12 +02006#define GSM_MACBLOCK_LEN 23
7
Sylvain Munaut12e373c2010-12-01 22:26:28 +01008struct gsm_bts;
9
10
Harald Welte7401ae62010-06-15 16:44:12 +020011enum osmo_sysinfo_type {
12 SYSINFO_TYPE_NONE,
13 SYSINFO_TYPE_1,
14 SYSINFO_TYPE_2,
15 SYSINFO_TYPE_3,
16 SYSINFO_TYPE_4,
17 SYSINFO_TYPE_5,
18 SYSINFO_TYPE_6,
19 SYSINFO_TYPE_7,
20 SYSINFO_TYPE_8,
21 SYSINFO_TYPE_9,
22 SYSINFO_TYPE_10,
23 SYSINFO_TYPE_13,
24 SYSINFO_TYPE_16,
25 SYSINFO_TYPE_17,
26 SYSINFO_TYPE_18,
27 SYSINFO_TYPE_19,
28 SYSINFO_TYPE_20,
29 SYSINFO_TYPE_2bis,
30 SYSINFO_TYPE_2ter,
31 SYSINFO_TYPE_2quater,
32 SYSINFO_TYPE_5bis,
33 SYSINFO_TYPE_5ter,
34 /* FIXME all the various bis and ter */
35 _MAX_SYSINFO_TYPE
36};
37
38typedef u_int8_t sysinfo_buf_t[GSM_MACBLOCK_LEN];
39
Andreas Eversberg5652cfc2010-11-09 13:39:43 +010040extern const struct value_string osmo_sitype_strs[_MAX_SYSINFO_TYPE];
Harald Welte7401ae62010-06-15 16:44:12 +020041uint8_t gsm_sitype2rsl(enum osmo_sysinfo_type si_type);
42const char *gsm_sitype_name(enum osmo_sysinfo_type si_type);
43int gsm_generate_si(struct gsm_bts *bts, enum osmo_sysinfo_type type);
Harald Weltea43f7892009-12-01 18:04:30 +053044
45#endif