blob: 2ffb59f67933b412d534c35e0534affc3fa496ef [file] [log] [blame]
Pau Espin Pedrol4338de52020-09-30 12:52:04 +02001/* Header for all NM FSM. Following 3GPP TS 12.21 Figure 2/GSM 12.21:
2 GSM 12.21 Objects' Operational state and availability status behaviour during initialization */
3
4/* (C) 2020 by sysmocom - s.m.f.c. GmbH <info@sysmocom.de>
5 * Author: Pau Espin Pedrol <pespin@sysmocom.de>
6 *
7 * All Rights Reserved
8 *
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU Affero General Public License as published by
11 * the Free Software Foundation; either version 3 of the License, or
12 * (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU Affero General Public License
20 * along with this program. If not, see <http://www.gnu.org/licenses/>.
21 *
22 */
23
24#pragma once
25
26#include <osmocom/core/fsm.h>
27#include <osmocom/core/utils.h>
28
29/* Common */
30enum nm_fsm_events {
31 NM_EV_SW_ACT_REP,
32 NM_EV_STATE_CHG_REP,
Pau Espin Pedrol6adeb602020-09-30 12:52:53 +020033 NM_EV_SET_ATTR_ACK,
Pau Espin Pedrol4338de52020-09-30 12:52:04 +020034 NM_EV_OPSTART_ACK,
35 NM_EV_OPSTART_NACK,
36 NM_EV_OML_DOWN,
37};
38extern const struct value_string nm_fsm_event_names[];
39
40/* BTS SiteManager */
41enum nm_bts_sm_op_fsm_states {
42 NM_BTS_SM_ST_OP_DISABLED_NOTINSTALLED,
43 NM_BTS_SM_ST_OP_DISABLED_DEPENDENCY,
44 NM_BTS_SM_ST_OP_DISABLED_OFFLINE,
45 NM_BTS_SM_ST_OP_ENABLED,
46};
47extern struct osmo_fsm nm_bts_sm_fsm;
Pau Espin Pedrol6adeb602020-09-30 12:52:53 +020048
49/* BTS */
50enum nm_bts_op_fsm_states {
51 NM_BTS_ST_OP_DISABLED_NOTINSTALLED,
52 NM_BTS_ST_OP_DISABLED_DEPENDENCY,
53 NM_BTS_ST_OP_DISABLED_OFFLINE,
54 NM_BTS_ST_OP_ENABLED,
55};
56extern struct osmo_fsm nm_bts_fsm;
Pau Espin Pedrol95486f22020-09-30 13:42:04 +020057
58/* BaseBand Transceiver */
59enum nm_bb_transc_op_fsm_states {
60 NM_BB_TRANSC_ST_OP_DISABLED_NOTINSTALLED,
61 NM_BB_TRANSC_ST_OP_DISABLED_DEPENDENCY,
62 NM_BB_TRANSC_ST_OP_DISABLED_OFFLINE,
63 NM_BB_TRANSC_ST_OP_ENABLED,
64};
65extern struct osmo_fsm nm_bb_transc_fsm;