comparison src/g23m-gprs/sm/sm_context_control.h @ 1:fa8dc04885d8

src/g23m-*: import from Magnetite
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 16 Oct 2020 06:25:50 +0000
parents
children
comparison
equal deleted inserted replaced
0:4e78acac3d88 1:fa8dc04885d8
1 /*----------------------------------------------------------------------------
2 | Project : 3G PS
3 | Module : SM
4 +-----------------------------------------------------------------------------
5 | Copyright 2003 Texas Instruments.
6 | All rights reserved.
7 |
8 | This file is confidential and a trade secret of Texas
9 | Instruments .
10 | The receipt of or possession of this file does not convey
11 | any rights to reproduce or disclose its contents or to
12 | manufacture, use, or sell anything it may describe, in
13 | whole, or in part, without the specific written consent of
14 | Texas Instruments.
15 +-----------------------------------------------------------------------------
16 | Purpose: User Plane Control state machine definitions in the SM entity.
17 | For design details, see:
18 | 8010.908 SM Detailed Specification
19 +---------------------------------------------------------------------------*/
20
21 /*==== DECLARATION CONTROL =================================================*/
22
23 #ifndef SM_CONTEXT_CONTROL_H
24 #define SM_CONTEXT_CONTROL_H
25
26 /*==== INCLUDES =============================================================*/
27
28 /*==== CONSTS ===============================================================*/
29
30 /*==== TYPES ================================================================*/
31
32 typedef enum
33 {
34 /* Incoming primitives */
35 SM_P_SMREG_PDP_ACTIVATE_REQ,
36 SM_P_SMREG_PDP_ACTIVATE_REJ_RES,
37 SM_P_SMREG_PDP_ACTIVATE_SEC_REQ,
38 SM_P_SMREG_PDP_MODIFY_REQ,
39 /* Events from Sequencer */
40 SM_I_CONTEXT_DEACTIVATE,
41 SM_I_CONTEXT_LOCAL_DEACTIVATE,
42 SM_I_CONTEXT_REACTIVATE,
43 SM_I_CONTEXT_UPGRADE,
44 SM_I_CONTEXT_USER_PLANE_ERROR,
45 /* Events from Network Control */
46 SM_I_NETWORK_ACTIVATE_COMPLETED,
47 SM_I_NETWORK_ACTIVATE_REJECTED,
48 SM_I_NETWORK_DEACTIVATE_COMPLETED,
49 SM_I_NETWORK_MODIFY_REJECTED,
50 SM_I_NETWORK_MODIFY_COMPLETED,
51 SM_I_NETWORK_REQUEST_ACTIVATION,
52 SM_I_NETWORK_REQUEST_ACTIVATION_OVERRIDE,
53 SM_I_NETWORK_REQUEST_DEACTIVATE,
54 SM_I_NETWORK_REQUEST_MODIFY,
55 SM_I_NETWORK_REQUEST_MODIFY_FAILED,
56 /* Events from User Plane Control */
57 SM_I_USER_PLANE_ACTIVATED,
58 SM_I_USER_PLANE_DEACTIVATED,
59 SM_I_USER_PLANE_MODIFIED,
60 /* Events from Context Deactivate Control */
61 SM_I_DEACTIVATE_COMPLETED,
62 /* Number of events */
63 SM_CONTEXT_CONTROL_NUMBER_OF_EVENTS
64 } T_SM_CONTEXT_CONTROL_EVENT;
65
66 typedef enum
67 {
68 SM_CONTEXT_DEACTIVATED,
69 SM_CONTEXT_ACTIVATING_MT,
70 SM_CONTEXT_ACTIVATING_NETWORK,
71 SM_CONTEXT_ACTIVATING_USER_PLANE,
72 SM_CONTEXT_ACTIVATE_FAILED_DEACTIVATING,
73 SM_CONTEXT_ACTIVATED,
74 SM_CONTEXT_ACTIVATION_OVERRIDE,
75 SM_CONTEXT_MODIFYING_IN_NETWORK,
76 SM_CONTEXT_MODIFYING_USER_PLANE,
77 SM_CONTEXT_MODIFYING_USER_PLANE_MT,
78 SM_CONTEXT_UPGRADING_IN_NETWORK,
79 SM_CONTEXT_REACTIVATING_DEACTIVATING_USER_PLANE,
80 SM_CONTEXT_REACTIVATING_IN_NETWORK,
81 SM_CONTEXT_REACTIVATING_USER_PLANE,
82 SM_CONTEXT_DEACTIVATING,
83 SM_CONTEXT_DEACTIVATING_SEQUENCED,
84 /* Number of states */
85 SM_CONTEXT_CONTROL_NUMBER_OF_STATES
86 } T_SM_CONTEXT_CONTROL_STATE;
87
88 /*==== EXPORTS ==============================================================*/
89
90 extern void sm_context_control_init(struct T_SM_CONTEXT_DATA *context);
91 extern void sm_context_control_exit(struct T_SM_CONTEXT_DATA *context);
92 #ifdef DEBUG
93 extern /*@observer@*/
94 const char *sm_context_control_state(struct T_SM_CONTEXT_DATA *context);
95 #endif
96 extern void sm_context_control(struct T_SM_CONTEXT_DATA *context,
97 T_SM_CONTEXT_CONTROL_EVENT event,
98 /*@null@*/ void *data);
99
100 #endif /* SM_CONTEXT_CONTROL_H */
101 /*==== END OF FILE ==========================================================*/