Pau Espin Pedrol | ccd1252 | 2019-08-30 17:06:36 +0200 | [diff] [blame^] | 1 | #pragma once |
| 2 | |
| 3 | #include <osmocom/core/fsm.h> |
| 4 | |
| 5 | struct sgsn_mm_ctx; |
| 6 | |
| 7 | |
| 8 | /* TS 23.060 6.1.1 Mobility Management States (A/Gb mode) */ |
| 9 | enum mm_state_iu_fsm_states { |
| 10 | ST_PMM_DETACHED, |
| 11 | ST_PMM_CONNECTED, |
| 12 | ST_PMM_IDLE |
| 13 | }; |
| 14 | |
| 15 | enum mm_state_iu_fsm_events { |
| 16 | E_PMM_PS_ATTACH, |
| 17 | /* E_PS_DETACH, TODO: not used */ |
| 18 | E_PMM_PS_CONN_RELEASE, |
| 19 | E_PMM_PS_CONN_ESTABLISH, |
| 20 | E_PMM_IMPLICIT_DETACH, /* = E_PS_ATTACH_REJECT, E_RAU_REJECT */ |
| 21 | E_PMM_RA_UPDATE, /* = Serving RNC relocation */ |
| 22 | }; |
| 23 | |
| 24 | extern struct osmo_fsm mm_state_iu_fsm; |