Pau Espin Pedrol | 02514bc | 2019-08-30 16:14:22 +0200 | [diff] [blame] | 1 | #pragma once |
| 2 | |
| 3 | #include <osmocom/core/fsm.h> |
| 4 | |
| 5 | struct sgsn_mm_ctx; |
| 6 | |
| 7 | |
Pau Espin Pedrol | 913dbcd | 2021-04-14 13:18:31 +0200 | [diff] [blame] | 8 | /* TS 23.060 ยง 6.1.1 Mobility Management States (A/Gb mode) */ |
Pau Espin Pedrol | 02514bc | 2019-08-30 16:14:22 +0200 | [diff] [blame] | 9 | enum mm_state_gb_fsm_states { |
| 10 | ST_MM_IDLE, |
| 11 | ST_MM_READY, |
| 12 | ST_MM_STANDBY |
| 13 | }; |
| 14 | |
| 15 | enum mm_state_gb_fsm_events { |
| 16 | E_MM_GPRS_ATTACH, |
Pau Espin Pedrol | 888052e | 2021-04-14 13:27:34 +0200 | [diff] [blame] | 17 | E_MM_GPRS_DETACH, /* MS becomes detached: due to Detach Req, RAU reject, implicit detach, etc. */ |
Pau Espin Pedrol | 02514bc | 2019-08-30 16:14:22 +0200 | [diff] [blame] | 18 | E_MM_PDU_RECEPTION, |
Pau Espin Pedrol | 02514bc | 2019-08-30 16:14:22 +0200 | [diff] [blame] | 19 | E_MM_READY_TIMER_EXPIRY, |
| 20 | /* E_FORCE_TO_STANDBY, TODO: not used */ |
| 21 | /* E_ABNSORMAL_RLC_CONDITION, TODO: not used */ |
| 22 | E_MM_RA_UPDATE, |
| 23 | }; |
| 24 | |
| 25 | extern struct osmo_fsm mm_state_gb_fsm; |