comparison g23m/condat/ms/src/aci/dcm_state.h @ 0:509db1a7b7b8

initial import: leo2moko-r1
author Space Falcon <falcon@ivan.Harhan.ORG>
date Mon, 01 Jun 2015 03:24:05 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:509db1a7b7b8
1 /*
2 +-----------------------------------------------------------------------------
3 | Project : GSM-F&D (8411)
4 | Modul : ACI
5 +-----------------------------------------------------------------------------
6 | Copyright 2002 Texas Instruments Berlin, AG
7 | All rights reserved.
8 |
9 | This file is confidential and a trade secret of Texas
10 | Instruments Berlin, AG
11 | The receipt of or possession of this file does not convey
12 | any rights to reproduce or disclose its contents or to
13 | manufacture, use, or sell anything it may describe, in
14 | whole, or in part, without the specific written consent of
15 | Texas Instruments Berlin, AG.
16 +-----------------------------------------------------------------------------
17 | Description : DCM instance is a state machine with several possible states.
18 | Based on the current state, DCM handle different kind of messages/events.
19 | States are listed in the order they should normally be sequenced.
20 +-----------------------------------------------------------------------------
21 */
22
23 #ifndef __DCMSTATE_H__
24 #define __DCMSTATE_H__
25
26 /**
27 * DCM states.
28 *
29 * DCM instance is a state machine with several possible states.
30 * Based on the current state, DCM handle different kind of messages/events.
31 * States are listed in the order they should normally be sequenced.
32 *
33 * See the Readme file for a description of the state machine.
34 */
35 typedef enum
36 {
37 DCM_OFF,
38 DCM_IDLE,
39 DCM_ACTIVATING_CONN,
40 DCM_CONN_ACTIVATED,
41 DCM_CLOSING_CONN
42 } T_DCM_INTERNAL_STATE;
43
44
45 /**
46 * DCM substates.
47 *
48 * DCM instance is a state machine with several possible states.
49 * Substates are included in some states.
50 */
51
52 typedef enum
53 {
54 DCM_SUB_NO_ACTION = 0, /* ALL */
55 DCM_SUB_WAIT_CGATT_CNF, /* DCM_ACTIVATING_CONN */
56 DCM_SUB_WAIT_CGACT_CNF, /* DCM_ACTIVATING_CONN */
57 DCM_SUB_WAIT_SATDN_CNF, /* DCM_ACTIVATING_CONN */
58 DCM_SUB_WAIT_SATH_CNF, /* DCM_CLOSING_CONN */
59 DCM_SUB_WAIT_CGDEATT_CNF, /* DCM_CLOSING_CONN */
60 DCM_SUB_WAIT_CGDEACT_CNF /* DCM_CLOSING_CONN */
61 } T_DCM_INTERNAL_SUBSTATE;
62
63
64 T_DCM_RET dcm_idle (T_DCM_HDR * msg_p);
65 T_DCM_RET dcm_activating_conn(T_DCM_HDR * msg_p);
66 T_DCM_RET dcm_conn_activated(T_DCM_HDR * msg_p);
67 T_DCM_RET dcm_closing_conn(T_DCM_HDR * msg_p );
68
69 T_DCM_RET dcm_new_state(U8 state, U8 substate);
70 T_DCM_RET dcm_save_state(void);
71 T_DCM_RET dcm_restore_state(void);
72 void dcm_dispay_state(U8 state, U8 substate);
73 void dcm_dispay_sub_state(U8 substate_1, U8 substate_2);
74
75
76 #endif