comparison src/g23m-gprs/upm/upm_link_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 : UPM
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: Link Control state machine definitions in the UPM entity.
17 | For design details, see:
18 | 8010.939 UPM Detailed Specification
19 +---------------------------------------------------------------------------*/
20
21 /*==== DECLARATION CONTROL =================================================*/
22
23 #ifndef _UPM_LINK_CONTROL_H
24 #define _UPM_LINK_CONTROL_H
25
26 /*==== INCLUDES =============================================================*/
27
28 /*==== CONSTS ===============================================================*/
29
30 /*==== TYPES ================================================================*/
31
32 typedef enum
33 {
34 /* Incoming primitives */
35 UPM_P_SM_ACTIVATE_STARTED_IND,
36 UPM_P_SM_ACTIVATE_IND,
37 UPM_P_SM_DEACTIVATE_IND,
38 UPM_P_SM_MODIFY_IND,
39 /* Events from DTI Control */
40 UPM_I_LINK_DTI_CLOSED,
41 /* Events from RAB Control */
42 UPM_I_RAB_ESTABLISHED,
43 UPM_I_RAB_RELEASED,
44 /* Events from SNDCP Control */
45 UPM_I_SNDCP_LLC_LINK_ESTABLISHED,
46 UPM_I_SNDCP_LLC_LINK_MODIFIED,
47 UPM_I_SNDCP_LLC_LINK_RELEASED,
48 /* Events from RAT Change Control */
49 UPM_I_LINK_RAT_CHANGED,
50 /* Number of events */
51 UPM_LINK_CONTROL_NUMBER_OF_EVENTS
52 } T_UPM_LINK_CONTROL_EVENT;
53
54 typedef enum
55 {
56 UPM_LINK_RELEASED,
57 #ifdef TI_UMTS
58 UPM_LINK_ESTABLISHING_RAB,
59 UPM_LINK_AWAITING_ACTIVATE_UMTS,
60 UPM_LINK_RAB_ESTABLISHED,
61 UPM_LINK_RELEASING_RAB,
62 #endif /* TI_UMTS */
63 #ifdef TI_DUAL_MODE
64 UPM_LINK_COMPLETING_RAT_CHANGE_TO_GSM,
65 UPM_LINK_COMPLETING_RAT_CHANGE_TO_UMTS_INITIAL,
66 #endif /* TI_DUAL_MODE */
67 #ifdef TI_GPRS
68 UPM_LINK_AWAITING_ACTIVATE_GSM,
69 UPM_LINK_ESTABLISHING_LLC_LINK,
70 UPM_LINK_LLC_LINK_ESTABLISHED,
71 UPM_LINK_RELEASING_LLC_LINK,
72 #endif /* TI_GPRS */
73 UPM_LINK_CONTROL_NUMBER_OF_STATES
74 } T_UPM_LINK_CONTROL_STATE;
75
76 /*==== EXPORTS ==============================================================*/
77 extern void upm_link_control_init(struct T_CONTEXT_DATA *ptr_context_data);
78
79 extern void upm_link_control_exit(struct T_CONTEXT_DATA *ptr_context_data);
80
81 extern void upm_link_control(struct T_CONTEXT_DATA *ptr_context_data,
82 T_UPM_LINK_CONTROL_EVENT event,
83 /*@null@*/ void *data);
84
85 extern BOOL upm_is_link_released(struct T_CONTEXT_DATA *ptr_context_data);
86
87 extern void upm_link_dispatch_sm_deactivate_ind(T_SM_DEACTIVATE_IND *);
88
89 #endif /* _UPM_LINK_CONTROL_H */
90 /*==== END OF FILE ==========================================================*/