blob: 0aa2123a891371f1e75cb6da4d408fe51925e025 [file] [log] [blame]
Alexander Couzensf7198d72018-05-22 18:29:14 +02001#ifndef GPRS_GMM_ATTACH_H
2#define GPRS_GMM_ATTACH_H
3
4#include <osmocom/core/fsm.h>
5
6struct sgsn_mm_ctx;
7
8enum gmm_attach_req_fsm_states {
9 ST_INIT,
10 ST_IDENTIY,
11 ST_RETRIEVE_AUTH,
12 ST_AUTH,
13 ST_ASK_VLR,
Alexander Couzens54557562018-09-27 21:15:30 +020014 ST_IU_SECURITY_CMD,
Alexander Couzensf7198d72018-05-22 18:29:14 +020015 ST_ACCEPT,
16 ST_REJECT
17};
18
19enum gmm_attach_req_fsm_events {
20 E_ATTACH_REQ_RECV,
21 E_IDEN_RESP_RECV,
22 E_AUTH_RESP_RECV_SUCCESS,
23 E_AUTH_RESP_RECV_RESYNC,
Alexander Couzens54557562018-09-27 21:15:30 +020024 E_IU_SECURITY_CMD_COMPLETE,
Alexander Couzensf7198d72018-05-22 18:29:14 +020025 E_ATTACH_ACCEPTED,
26 E_ATTACH_ACCEPT_SENT,
27 E_ATTACH_COMPLETE_RECV,
28 E_REJECT,
29 E_VLR_ANSWERED,
30};
31
32#define GMM_DISCARD_MS_WITHOUT_REJECT -1
33
34extern const struct value_string gmm_attach_req_fsm_event_names[];
35extern struct osmo_fsm gmm_attach_req_fsm;
36
37void gmm_att_req_free(struct sgsn_mm_ctx *mm);
38
39#endif // GPRS_GMM_ATTACH_H