comparison src/g23m-aci/aci/gaci.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 +-----------------------------------------------------------------------------
3 | Project :
4 | Modul :
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 | Purpose : Definitions for GPRS command handler and protocol stack adapter.
18 +-----------------------------------------------------------------------------
19 */
20
21 #include "dti.h"
22 #ifdef GPRS
23 #include "gaci_cmh.h"
24 #endif
25 #ifndef GACI_H
26 #define GACI_H
27
28
29
30 /*** T_CONTEXT_STATE changed to T_PDP_CONTEXT_STATE and moved to gaci_cmh.h ***/
31
32 #define NSAPI_TO_CID(A) ( (U8)((A)-4) )
33 #define CID_TO_NSAPI(A) ( (U16)((A)+4) )
34
35
36 typedef enum
37 {
38 AS_INVALID_STATE = 0, /* invalid value */
39 AS_MOBILE_OFF, /* the protocol stack is off before +CFUN=1 */
40 AS_DETACHED, /* GPRS detached */
41 AS_ATTACHED, /* GPRS attached */
42 AS_ATTACHING, /* attaching GPRS */
43 AS_DETACHING, /* detaching GPRS */
44 AS_SUSPENTED /* GPRS suspended */
45
46 } T_ATTACH_STATE;
47
48 typedef enum
49 {
50 GC_TYPE_NONE = -1, /* no connection */
51 GC_TYPE_DATA_LINK = 0, /* Data connection over PPP */
52 GC_TYPE_NULL, /* Data connection with NULL Device */
53 GC_TYPE_SIM, /* Data connection with SIM */
54 GC_TYPE_WAP, /* Data connection for the WAP browser */
55 #if defined (FF_PKTIO) OR defined (FF_TCP_IP) || defined(FF_GPF_TCPIP) OR defined (FF_PSI)
56 GC_TYPE_PKT, /* Data connection for PKTIO */
57 #endif /* FF_PKTIO OR FF_TCP_IP || FF_GPF_TCPIP OR FF_PSI */
58 GC_TYPE_EMAIL /* Data connection for an Email - Client */
59
60 } T_GPRS_CONNECT_TYPE;
61
62 #ifdef GPRS
63 typedef struct
64 {
65 T_PDP_CONTEXT_STATE state;
66 UBYTE smreg_ti;
67 T_DTI_ENTITY_ID entity_id;
68 T_DTI_CONN_LINK_ID link_id; /* link_id for SNDCP */
69 T_DTI_CONN_LINK_ID link_id_uart;
70 T_DTI_CONN_LINK_ID link_id_new;
71 USHORT upper_tui;
72 T_ACI_CMD_SRC owner;
73 T_NAS_ip pdp_address_allocated;
74 T_PDP_CONTEXT_PCO user_pco; /* setup with %CGPCO=... */
75 T_PDP_CONTEXT_PCO network_pco;
76 T_SMREG_PDP_ACTIVATE_CNF *p_pdp_activate_cnf;
77
78 } T_PDP_CONTEXT_INTERNAL_DATA;
79
80
81 typedef struct _T_PDP_CONTEXT_INTERNAL
82 {
83 T_PDP_CONTEXT_TYPE type;
84 U8 cid; /* PDP context id */
85 T_PDP_CONTEXT_INTERNAL_DATA internal_data;
86 T_PDP_CONTEXT attributes;
87 T_PS_ctrl_qos ctrl_qos;
88 T_PS_qos qos;
89 T_PS_ctrl_min_qos ctrl_min_qos;
90 T_PS_min_qos min_qos;
91 T_PS_ctrl_qos ctrl_neg_qos; /* holds the negotiated qos, set with smreg_pdp_activate_cnf is received */
92 T_PS_qos neg_qos; /* holds the negotiated qos, set with smreg_pdp_activate_cnf is received */
93 T_TFT_INTERNAL *p_tft_pf;
94 BOOL tft_changed; /* True if the TFT is changed while a PDP context is activated */
95 //T_TFT_INTERNAL *p_tft_pf_active;
96 //T_TFT_MODIFICATION_ACTION tft_modify;
97
98 struct _T_PDP_CONTEXT_INTERNAL *p_next;
99
100 } T_PDP_CONTEXT_INTERNAL;
101
102
103
104 EXTERN T_PDP_CONTEXT_STATE get_state_over_cid ( U8 cid );
105 EXTERN void set_state_over_cid ( U8 cid, T_PDP_CONTEXT_STATE c_state );
106 EXTERN T_PDP_CONTEXT_STATE get_state_working_cid ( void );
107 EXTERN void set_state_working_cid ( T_PDP_CONTEXT_STATE c_state );
108 EXTERN T_ACI_CAL_OWN get_owner_over_cid ( U8 cid );
109 EXTERN T_PDP_CONTEXT_STATE get_state_over_nsapi_set( USHORT *nsapi_set, U8 *cid );
110
111
112 EXTERN T_PDP_CONTEXT_INTERNAL *pdp_context_create_node( U8 cid );
113 EXTERN int pdp_context_remove_node( U8 cid );
114 EXTERN T_PDP_CONTEXT_INTERNAL *pdp_context_find_node_from_cid( U8 cid );
115 EXTERN T_PDP_CONTEXT_INTERNAL *pdp_context_find_node_from_smreg_ti( U8 smreg_ti );
116 EXTERN T_PDP_CONTEXT_INTERNAL *pdp_context_find_node_from_dti_id( U8 dti_id );
117 EXTERN T_PDP_CONTEXT_INTERNAL *pdp_context_find_matching_node( T_SMREG_VAL_pdp_type smreg_pdp_type, T_NAS_ctrl_ip_address ctrl_ip_addr, T_NAS_ip_address *ip_addr );
118
119 EXTERN T_TFT_INTERNAL *pdp_context_add_tft_pf ( U8 cid, U8 tft_pf_id );
120 EXTERN BOOL pdp_context_del_tft_pf ( U8 cid, U8 tft_pf_id );
121 EXTERN T_TFT_INTERNAL *pdp_context_find_tft_pf( U8 cid, U8 tft_pf_id );
122 EXTERN U8 pdp_context_get_no_of_tft_pfs( U8 cid );
123 EXTERN void pdp_context_copy_tft_to_active_list( U8 cid );
124 //EXTERN T_TFT_MODIFICATION pdp_context_get_modification_action( U8 cid );
125 EXTERN void pdp_context_clear_tft_active_list( U8 cid );
126 //EXTERN T_TFT_MODIFICATION pdp_context_compare_tft( U8 cid );
127 EXTERN U8 pdp_context_check_if_nodes_exists( U8 *cid_array );
128 EXTERN U8 pdp_context_validate_pdp_type ( U8 *cid_array, T_PDP_TYPE pdp_type );
129
130 #endif /*GPRS */
131
132 EXTERN void gaci_init ( void );
133 EXTERN void gaci_reset ( void );
134 EXTERN void gaci_finit ( void );
135
136 #ifdef DTI
137 EXTERN SHORT gaci_get_cid_over_link_id ( T_DTI_CONN_LINK_ID link_id );
138 EXTERN SHORT gaci_get_cid_over_dti_id ( UBYTE dti_id );
139 EXTERN T_DTI_CONN_LINK_ID gaci_get_link_id_over_peer ( T_DTI_ENTITY_ID entity_id );
140 #endif
141
142 EXTERN void cmhSM_disconnect_cid ( SHORT cid, T_GPRS_CONNECT_TYPE type );
143 EXTERN BOOL uart_is_mt_te_link( void );
144
145 /* for ATZ */
146 EXTERN T_ACI_RETURN sGprsAT_Z ( T_ACI_CMD_SRC srcId );
147 EXTERN BOOL gaci_isATZcmd ( void );
148
149
150 EXTERN U8 pdp_context_get_free_cid( void );
151
152
153 EXTERN void gaci_RAT_caller ( SHORT rat_id, SHORT cid, UBYTE cmdBuf, UBYTE cme_err );
154 EXTERN void gaci_SAT_err(USHORT cause);
155
156 #endif /* GACI_H */
157