comparison src/g23m-gprs/sm/sm_network_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: Network 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_NETWORK_CONTROL_H
24 #define SM_NETWORK_CONTROL_H
25
26 /*==== INCLUDES =============================================================*/
27
28 #include "message.h"
29
30 /*==== CONSTS ===============================================================*/
31
32 /*==== TYPES ================================================================*/
33
34 typedef enum
35 {
36 /* Incoming air interface messages */
37 SM_M_ACTIVATE_PDP_CONTEXT_ACCEPT,
38 SM_M_ACTIVATE_PDP_CONTEXT_REJECT,
39 SM_M_ACTIVATE_SECONDARY_PDP_CONTEXT_ACCEPT,
40 SM_M_ACTIVATE_SECONDARY_PDP_CONTEXT_REJECT,
41 SM_M_DEACTIVATE_PDP_CONTEXT_REQUEST,
42 SM_M_DEACTIVATE_PDP_CONTEXT_ACCEPT,
43 SM_M_MODIFY_PDP_CONTEXT_REQUEST,
44 SM_M_MODIFY_PDP_CONTEXT_ACCEPT,
45 SM_M_MODIFY_PDP_CONTEXT_REJECT,
46 SM_M_REQUEST_PDP_CONTEXT_ACTIVATION,
47 SM_M_SM_STATUS,
48 /* Incoming primitives */
49 SM_P_MMPM_RESUME_IND,
50 SM_P_MMPM_SUSPEND_IND,
51 /* Incoming timeout events */
52 SM_T_T3380,
53 SM_T_T3380_MAX,
54 SM_T_T3381,
55 SM_T_T3381_MAX,
56 SM_T_T3390,
57 SM_T_T3390_MAX,
58 /* Events from Context Control */
59 SM_I_NETWORK_ACTIVATE_PRIMARY,
60 SM_I_NETWORK_ACTIVATE_SECONDARY,
61 SM_I_NETWORK_DEACTIVATE_LOCAL,
62 SM_I_NETWORK_MODIFY,
63 SM_I_NETWORK_REQUEST_ACTIVATION_REJECT,
64 /* Events from Context Deactivate Control */
65 SM_I_NETWORK_DEACTIVATE,
66 /* Number of events */
67 SM_NETWORK_CONTROL_NUMBER_OF_EVENTS
68 } T_SM_NETWORK_CONTROL_EVENT;
69
70 typedef enum
71 {
72 SM_NETWORK_DEACTIVATED,
73 SM_NETWORK_ACTIVATING_PRIMARY,
74 SM_NETWORK_ACTIVATING_SECONDARY,
75 SM_NETWORK_ACTIVATING_ADDING_TFTS,
76 SM_NETWORK_ACTIVATED,
77 SM_NETWORK_MODIFYING,
78 SM_NETWORK_MODIFYING_ADDITIONAL_TFTS,
79 SM_NETWORK_DEACTIVATING,
80 /* Number of states */
81 SM_NETWORK_CONTROL_NUMBER_OF_STATES
82 } T_SM_NETWORK_CONTROL_STATE;
83
84 /*==== EXPORTS ==============================================================*/
85
86 extern void sm_network_control_init(struct T_SM_CONTEXT_DATA *context);
87 extern void sm_network_control_exit(struct T_SM_CONTEXT_DATA *context);
88
89 extern /*@observer@*/const char *sm_network_control_state(struct T_SM_CONTEXT_DATA *context);
90 extern void sm_network_control(struct T_SM_CONTEXT_DATA *context,
91 T_SM_NETWORK_CONTROL_EVENT event,
92 /*@null@*/ void *data);
93
94 #endif /* SM_NETWORK_CONTROL_H */
95
96 /*==== END OF FILE ==========================================================*/