1
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 +-----------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 | Project : GSM-PS (6147)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 | Modul : PSA_TCPS
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 +-----------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 | Copyright 2002 Texas Instruments Berlin, AG
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 | All rights reserved.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 | This file is confidential and a trade secret of Texas
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 | Instruments Berlin, AG
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 | The receipt of or possession of this file does not convey
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 | any rights to reproduce or disclose its contents or to
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 | manufacture, use, or sell anything it may describe, in
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 | whole, or in part, without the specific written consent of
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 | Texas Instruments Berlin, AG.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 +-----------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 | Purpose :
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 +-----------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 #ifndef PSA_TCPS_C
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 #define PSA_TCPS_C
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 #include "aci_all.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 /*==== INCLUDES ===================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 #include "aci_cmh.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 #include "ati_cmd.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 #include "aci_cmd.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 #include "dti.h" /* functionality of the dti library */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 #include "dti_conn_mng.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 #include "dti_cntrl_mng.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 #include "aci.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 #include "psa.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 #include "psa_cc.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 #include "psa_ss.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 #include "aoc.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 #if !defined (MFW)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 #include "aci_io.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 #include "wap_aci.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 #include "psa_tcpip.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 #include "psa_sim.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 /*==== CONSTANTS ==================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 /*==== TYPES ======================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 /*==== EXPORT =====================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 /*==== VARIABLES ==================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 /*==== FUNCTIONS ==================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 +-------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 | PROJECT : GSM-PS (6147) MODULE : PSA_TCPS |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 | ROUTINE : psaTCPIP_Config |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 +-------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 PURPOSE : setup TCPIP
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 GLOBAL void psaTCPIP_Config (ULONG ipaddr, ULONG dns1, ULONG dns2, UBYTE dirc)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 TRACE_FUNCTION("psaTCPIP_Config()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 switch( dirc )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 case ( TCPIP_IFCONFIG_UP ):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 wap_state = TCPIP_Configuration;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 PALLOC(tcpip_config_req, TCPIP_IFCONFIG_REQ);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 tcpip_config_req->if_up = TCPIP_IFCONFIG_UP;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 tcpip_config_req->mtu_size = 1500;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 tcpip_config_req->ipaddr = ipaddr;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 tcpip_config_req->dnsaddr1 = dns1;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 tcpip_config_req->dnsaddr2 = dns2;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 PSENDX(TCPIP, tcpip_config_req);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 case ( TCPIP_IFCONFIG_DOWN ):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 wap_state = TCPIP_Deconfiguration;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 PALLOC(tcpip_config_req, TCPIP_IFCONFIG_REQ);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 tcpip_config_req->if_up = TCPIP_IFCONFIG_DOWN;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 tcpip_config_req->mtu_size = 0;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 tcpip_config_req->ipaddr = 0;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 tcpip_config_req->dnsaddr1 = 0;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 tcpip_config_req->dnsaddr2 = 0;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 PSENDX(TCPIP, tcpip_config_req);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 +-------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 | PROJECT : GSM-PS (6147) MODULE : PSA_TCPS |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 | ROUTINE : psaTCPIP_Dti_Req |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 +-------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 PURPOSE : connect TCPIP
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 GLOBAL void psaTCPIP_Dti_Req(T_DTI_CONN_LINK_ID dti_id, UBYTE peer_to_connect_to, UBYTE dti_conn)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 PALLOC( tcpip_dti_req, TCPIP_DTI_REQ);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 TRACE_FUNCTION("psaTCPIP_Dti_Req");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120 tcpip_dti_req -> dti_conn = dti_conn;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121 tcpip_dti_req -> link_id = dti_id;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 if (dti_conn EQ TCPIP_CONNECT_DTI)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125 if (dti_cntrl_set_conn_parms(dti_id, DTI_ENTITY_TCPIP, DTI_INSTANCE_NOTPRESENT, DTI_SUB_NO_NOTPRESENT) EQ FALSE)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
126 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
127 return;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
128 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 switch( peer_to_connect_to )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
132 case( DTI_ENTITY_PPPC ):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
133 tcpip_dti_req -> dti_direction = DTI_CHANNEL_TO_LOWER_LAYER;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
134 tcpip_dti_req->entity_name = (U32) dti_entity_name[DTI_ENTITY_PPPC].name ;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
135 TRACE_EVENT_P2("tcpip_dti_req->entity_name = %s <- %s",
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
136 (U8 *) tcpip_dti_req->entity_name,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
137 dti_entity_name[DTI_ENTITY_PPPC].name) ;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
138 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
139 #ifdef GPRS
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
140 case( DTI_ENTITY_SNDCP ):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
141 tcpip_dti_req -> dti_direction = DTI_CHANNEL_TO_LOWER_LAYER;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
142 tcpip_dti_req->entity_name = (U32) dti_entity_name[DTI_ENTITY_SNDCP].name ;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
143 TRACE_EVENT_P2("tcpip_dti_req->entity_name = %s <- %s",
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
144 (U8 *) tcpip_dti_req->entity_name,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
145 dti_entity_name[DTI_ENTITY_SNDCP].name) ;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
146 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
147 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
148 case( DTI_ENTITY_WAP ):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
149 tcpip_dti_req -> dti_direction = DTI_CHANNEL_TO_HIGHER_LAYER;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
150 strcpy((char*)tcpip_dti_req->entity_name, dti_entity_name[DTI_ENTITY_WAP].name);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
151 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
152
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
153 case( DTI_ENTITY_SIM ):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
154 tcpip_dti_req -> dti_direction = DTI_CHANNEL_TO_HIGHER_LAYER;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
155 strcpy((char*)tcpip_dti_req->entity_name, dti_entity_name[DTI_ENTITY_SIM].name);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
156 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
157
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
158 default:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
159 TRACE_EVENT("Error: Unknown conn_peer_Id: TCPIP_DTI_REQ not sent");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
160 PFREE(tcpip_dti_req);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
161 return;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
162 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
163
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
164 PSENDX( TCPIP, tcpip_dti_req );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
165 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
166
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
167
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
168 GLOBAL void psaTCPIP_Initialize_Req(void)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
169 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
170 TRACE_FUNCTION("psaTCPIP_Initialize_Req()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
171 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
172 PALLOC(tcpip_initialize_req,TCPIP_INITIALIZE_REQ);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
173 PSEND(hCommTCPIP,tcpip_initialize_req);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
174 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
175
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
176 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
177
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
178
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
179 GLOBAL void psaTCPIP_Shutdown_Req(void)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
180 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
181 TRACE_FUNCTION("psaTCPIP_Shutdown_Req()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
182 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
183 PALLOC(tcpip_shutdown_req ,TCPIP_SHUTDOWN_REQ);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
184 PSEND(hCommTCPIP,tcpip_shutdown_req);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
185 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
186 }
|