FreeCalypso > hg > fc-magnetite
comparison src/g23m-gprs/sm/sm_context_control.h @ 183:219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 13 Oct 2016 04:24:13 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
182:f02d0a0e1849 | 183:219afcfc6250 |
---|---|
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 ==========================================================*/ |