FreeCalypso > hg > freecalypso-sw
comparison gsm-fw/g23m-aci/aci/psa_ppps.c @ 775:eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
---|---|
date | Sun, 12 Oct 2014 01:45:14 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
774:40a721fd9854 | 775:eedbf248bac0 |
---|---|
1 /* | |
2 +----------------------------------------------------------------------------- | |
3 | Project : GSM-PS (6147) | |
4 | Modul : PSA_PPPS | |
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 : | |
18 +----------------------------------------------------------------------------- | |
19 */ | |
20 | |
21 #ifdef DTI | |
22 | |
23 #if defined (FF_WAP) || defined (FF_PPP) || defined (FF_GPF_TCPIP) || defined (FF_SAT_E) | |
24 | |
25 #ifndef PSA_PPPS_C | |
26 #define PSA_PPPS_C | |
27 #endif /* PSA_PPPS_C */ | |
28 | |
29 #include "aci_all.h" | |
30 /*==== INCLUDES ===================================================*/ | |
31 #include "aci_cmh.h" | |
32 #include "ati_cmd.h" | |
33 #include "aci_cmd.h" | |
34 #include "dti.h" /* functionality of the dti library */ | |
35 #include "dti_conn_mng.h" | |
36 | |
37 #include "aci_fd.h" | |
38 #include "aci.h" | |
39 #include "psa.h" | |
40 #include "psa_l2r.h" | |
41 #include "cmh.h" | |
42 #include "cmh_ra.h" | |
43 #include "cmh_l2r.h" | |
44 | |
45 #include "wap_aci.h" | |
46 #include "psa_ppp_w.h" | |
47 | |
48 #include "dcm_f.h" | |
49 | |
50 /*==== CONSTANTS ==================================================*/ | |
51 | |
52 | |
53 /*==== TYPES ======================================================*/ | |
54 | |
55 /*==== EXPORT =====================================================*/ | |
56 | |
57 /*==== VARIABLES ==================================================*/ | |
58 | |
59 | |
60 /*==== FUNCTIONS ==================================================*/ | |
61 | |
62 /* | |
63 +-------------------------------------------------------------------+ | |
64 | PROJECT : GSM-PS (6147) MODULE : PSA_PPP | | |
65 | ROUTINE : psaPPP_Establish | | |
66 +-------------------------------------------------------------------+ | |
67 | |
68 PURPOSE : This function sends an PPP_ESTABLISH_REQ. | |
69 | |
70 */ | |
71 | |
72 GLOBAL void psaPPP_Establish(T_DTI_CONN_LINK_ID link_id, UBYTE peer) | |
73 { | |
74 T_login pLogin; | |
75 | |
76 TRACE_FUNCTION("psaPPP_Establish()"); | |
77 | |
78 if( (is_gpf_tcpip_call() GPF_TCPIP_STATEMENT(AND (peer EQ DTI_ENTITY_TCPIP))) OR | |
79 peer EQ DTI_ENTITY_IP OR peer EQ DTI_ENTITY_AAA OR peer EQ DTI_ENTITY_PSI) | |
80 { | |
81 prot_link_id = link_id; | |
82 prot_entity_id = peer; | |
83 } | |
84 else if (peer EQ DTI_ENTITY_L2R) | |
85 { | |
86 peer_link_id = link_id; | |
87 } | |
88 else | |
89 { | |
90 TRACE_EVENT("wrong peer entity"); | |
91 } | |
92 | |
93 #ifdef FF_WAP | |
94 rAT_WAP_start_login(); | |
95 #endif /* FF_WAP */ | |
96 | |
97 if (pppShrdPrm.state NEQ PPP_ESTABLISH) | |
98 { | |
99 /* wait for the second call of psaPPP_Establish() */ | |
100 pppShrdPrm.state = PPP_ESTABLISH; | |
101 return; | |
102 } | |
103 /* Set the unused bytes of login and password to zero */ | |
104 memset(&pLogin, 0x00, sizeof( T_login )); | |
105 pLogin.name_len = strlen(pppShrdPrm.ppp_login); | |
106 memcpy((char*)(pLogin.name),pppShrdPrm.ppp_login, pLogin.name_len); | |
107 pLogin.password_len = strlen(pppShrdPrm.ppp_password); | |
108 memcpy((char*)(pLogin.password), | |
109 pppShrdPrm.ppp_password, | |
110 pLogin.password_len); | |
111 | |
112 { | |
113 PALLOC(ppp_establish_req, PPP_ESTABLISH_REQ); | |
114 | |
115 ppp_establish_req -> mode = PPP_CLIENT; | |
116 ppp_establish_req -> mru = PPP_MRU_DEFAULT; | |
117 ppp_establish_req -> ap = pppShrdPrm.auth_prot; | |
118 | |
119 /* Copy user and password */ | |
120 memcpy( &(ppp_establish_req->login),&pLogin, sizeof( T_login )); | |
121 | |
122 ppp_establish_req -> accm = PPP_ACCM_DEFAULT; | |
123 ppp_establish_req -> rt = PPP_RT_DEFAULT; | |
124 ppp_establish_req -> mc = PPP_MC_DEFAULT; | |
125 ppp_establish_req -> mt = PPP_MT_DEFAULT; | |
126 ppp_establish_req -> mf = PPP_MF_DEFAULT; | |
127 ppp_establish_req -> ppp_hc = PPP_HC_OFF; | |
128 ppp_establish_req -> ip = PPP_IP_DYNAMIC; | |
129 ppp_establish_req -> dns1 = PPP_DNS1_DYNAMIC; | |
130 ppp_establish_req -> dns2 = PPP_DNS2_DYNAMIC; | |
131 | |
132 strcpy((char*)ppp_establish_req->peer_channel.peer_entity, | |
133 dti_entity_name[DTI_ENTITY_L2R].name); | |
134 | |
135 strcpy((char*)ppp_establish_req->protocol_channel.protocol_entity, | |
136 dti_entity_name[prot_entity_id].name); | |
137 | |
138 ppp_establish_req -> peer_link_id = peer_link_id; | |
139 ppp_establish_req -> prot_link_id = prot_link_id; | |
140 | |
141 /* Direction for the Protocol Layer */ | |
142 ppp_establish_req -> peer_direction = DTI_CHANNEL_TO_LOWER_LAYER; | |
143 | |
144 /* Direction for the Peer Layer */ | |
145 ppp_establish_req -> prot_direction = DTI_CHANNEL_TO_HIGHER_LAYER; | |
146 | |
147 PSENDX(PPP,ppp_establish_req); | |
148 } | |
149 } | |
150 | |
151 /* | |
152 +-------------------------------------------------------------------+ | |
153 | PROJECT : GSM-PS (6147) MODULE : PSA_PPP | | |
154 | ROUTINE : psaPPP_Terminate | | |
155 +-------------------------------------------------------------------+ | |
156 | |
157 PURPOSE : | |
158 | |
159 */ | |
160 | |
161 GLOBAL void psaPPP_Terminate(T_ACI_PPP_LOWER_LAYER ppp_lower_layer) | |
162 { | |
163 | |
164 TRACE_FUNCTION("psaPPP_Terminate()"); | |
165 | |
166 if ((pppShrdPrm.state EQ PPP_TERMINATE) OR (pppShrdPrm.state EQ PPP_TERMINATED)) | |
167 { | |
168 return; | |
169 } | |
170 | |
171 pppShrdPrm.state = PPP_TERMINATE; | |
172 { | |
173 PALLOC(ppp_terminate_req, PPP_TERMINATE_REQ); | |
174 switch (ppp_lower_layer) | |
175 { | |
176 case (UP): | |
177 ppp_terminate_req -> lower_layer = PPP_LOWER_LAYER_UP; | |
178 break; | |
179 | |
180 case (DWN): | |
181 ppp_terminate_req -> lower_layer = PPP_LOWER_LAYER_DOWN; | |
182 break; | |
183 | |
184 default: | |
185 TRACE_EVENT("error: status of lower_layer undefined"); | |
186 } | |
187 | |
188 PSENDX(PPP,ppp_terminate_req); | |
189 } | |
190 } | |
191 #endif /* of FF_WAP or FF_PPP OR FF_GPF_TCPIP or FF_SAT_E */ | |
192 #endif /* DTI */ |