FreeCalypso > hg > fc-tourmaline
comparison src/g23m-aci/aci/psa_tcpip.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 : WAPoverGPRS | |
4 | Modul : PSA_TPCIP | |
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 : TCP/IP-related definitions and declarations for the ACI | |
18 +----------------------------------------------------------------------------- | |
19 */ | |
20 | |
21 #ifndef PSA_TCPIP_H | |
22 #define PSA_TCPIP_H | |
23 | |
24 #include "wap_aci.h" | |
25 | |
26 /*==== CONSTANTS ==================================================*/ | |
27 | |
28 /* Option bitflag constants for the activation of TCP/IP components; | |
29 * this is meant to be sufficient even for times when there is no | |
30 * longer only IPv4 and UDP. These constants are meant to be ORed to | |
31 * the actual option value, which is then passed to | |
32 * psaTCPIP_Activate(). | |
33 */ | |
34 #define TCPIP_ACT_OPTION_V4 0x01 /* Activate IPv4. */ | |
35 #define TCPIP_ACT_OPTION_V6 0x02 /* Activate IPv6. (Not yet implemented) */ | |
36 #define TCPIP_ACT_OPTION_UDP 0x04 /* Activate UDP. */ | |
37 #define TCPIP_ACT_OPTION_TCPIP 0x08 /* Activate TCPIP. */ | |
38 #define TCPIP_ACT_OPTION_FU1 0x10 /* Reserved for future use. */ | |
39 #define TCPIP_ACT_OPTION_FU2 0x20 /* Reserved for future use. */ | |
40 #define TCPIP_ACT_OPTION_FU3 0x40 /* Reserved for future use. */ | |
41 #define TCPIP_ACT_OPTION_FU4 0x80 /* Reserved for future use. */ | |
42 | |
43 | |
44 #define TCPIP_CONNECTION_TYPE_UNKNOWN 0x00 | |
45 #define TCPIP_CONNECTION_TYPE_GPRS_WAP 0x01 | |
46 #define TCPIP_CONNECTION_TYPE_CSD_WAP 0x02 | |
47 #define TCPIP_CONNECTION_TYPE_GPRS_SAT 0x04 /* SAT class c/e */ | |
48 #define TCPIP_CONNECTION_TYPE_CSD_SAT 0x08 /* SAT class c/e */ | |
49 | |
50 #define TCPIP_CONNECTION_BUILDUP_UNKNOWN 0x00 | |
51 #define TCPIP_CONNECTION_BUILDUP_UP 0x01 | |
52 #define TCPIP_CONNECTION_BUILDUP_DOWN 0x02 | |
53 | |
54 | |
55 /*==== TYPES ======================================================*/ | |
56 | |
57 /* Shared Parameters for TCP/IP-related stuff. There should be more in | |
58 * here, for instance the wap_state, but to make changes as small as | |
59 * possible at the moment, this is left as it is for now. The handling | |
60 * of TCP/IP activation state will have to be changed in the future | |
61 * anyway. [ni 2001-09-28] | |
62 */ | |
63 typedef struct tcpipShrdPrm | |
64 { | |
65 S8 src_id ; | |
66 UBYTE connection_type; /* distinction of GPRS or CSD connection */ | |
67 UBYTE connection_buildup; /* distinction of connection build up or | |
68 build down */ | |
69 UBYTE options ; /* Any ORed combination of the | |
70 * IP_ACT_OPTION_* values above with | |
71 * obvious semantics. */ | |
72 SHORT wap_call_id ; /* ID of WAP call (if any). */ | |
73 UBYTE ipaddr[16] ; /* Up to 16 bytes if IP address. */ | |
74 UBYTE peer_addr[16] ; /* Address of peer. */ | |
75 UBYTE dns1[16]; /* Primary dns server address */ | |
76 UBYTE dns2[16]; /* Second dns server address */ | |
77 short mtu ; /* Size of maximum transfer unit. */ | |
78 void (*callback_function)(T_ACI_RETURN result) ; | |
79 /* Function to call after the current | |
80 * operation is completed. */ | |
81 } T_TCPIP_SHRD_PRM; | |
82 | |
83 /*==== PROTOTYPES =================================================*/ | |
84 EXTERN char* wap_state_to_string(T_ACI_WAP_STATES wap_state); | |
85 | |
86 /* Initialize TCP/IP psa variables. | |
87 */ | |
88 void psaTCPIP_Init(void) ; | |
89 | |
90 /* Activate TCP/IP-related entities. | |
91 * Parameters: | |
92 * src_id | |
93 * dti_id DTI channel to use. | |
94 * options Any ORed combination of the IP_ACT_OPTION_* values | |
95 * above with obvious semantics. | |
96 * callback_function Function to call after activation is completed; | |
97 * result can be AT_FAIL or AT_CMPL. May be null. | |
98 */ | |
99 void psaTCPIP_Activate(UBYTE src_id, | |
100 UBYTE dti_id, | |
101 SHORT wap_call_id, | |
102 UBYTE options, | |
103 UBYTE connection_type, | |
104 void (*callback_function)(T_ACI_RETURN result)) ; | |
105 | |
106 /* Configure TCP/IP-related entities. | |
107 * Parameters: | |
108 * ip_address IP address to use when called for a circuit-switched | |
109 * data (i. e. PPP) connection. A pointer to an | |
110 * array of bytes containing the IP address in | |
111 * network order. The address is assumed as being | |
112 * 4 or 16 bytes long, depending on whether IPv6 | |
113 * is used. The ``pdp_address'' value returned by | |
114 * SMREG_PDP_ACTIVATE_CNF can be used here | |
115 * directly. Must be null when called for IP over | |
116 * GPRS. | |
117 * pdp_addrp Pointer to PDP address to use when called for IP | |
118 * over GPRS. Must be null when called for IP | |
119 * over CSD/PPP. | |
120 * peer_address IP address of the peer, or a null pointer to indicate | |
121 * the peer address is unknown. Only valid with IP over PPP. | |
122 * mtu Size of the maximum transfer unit or zero if unknown. | |
123 * callback_function Function to call after configuration is completed; | |
124 * result can be AT_FAIL or AT_CMPL. May be null. | |
125 */ | |
126 void psaTCPIP_Configure(UBYTE *ip_address, | |
127 void *pdp_addrp, | |
128 UBYTE *peer_address, | |
129 UBYTE *dns1, | |
130 UBYTE *dns2, | |
131 short mtu, | |
132 void (*callback_function)(T_ACI_RETURN result)) ; | |
133 | |
134 /* Deactivate TCP/IP-related entities. | |
135 * Parameters: | |
136 * callback_function Function to call after deactivation is completed; | |
137 * result can be AT_FAIL or AT_CMPL. May be null. | |
138 */ | |
139 void psaTCPIP_Deactivate(void (*callback_function)(T_ACI_RETURN result)) ; | |
140 | |
141 | |
142 /* UDP/IP activation/configuration/deactivation dipatcher function. */ | |
143 void psaUDPIP_config_dispatch(void); | |
144 | |
145 /* TCP/IP activation/configuration/deactivation dipatcher function. | |
146 */ | |
147 void psaTCPIP_config_dispatch(void); | |
148 | |
149 | |
150 /* TCP/IP activation callback for circuit-switched data. | |
151 */ | |
152 void psaTCPIP_act_csd_callback(T_ACI_RETURN result) ; | |
153 | |
154 | |
155 /* TCP/IP configuration callback for circuit-switched data. | |
156 */ | |
157 void psaTCPIP_conf_csd_callback(T_ACI_RETURN result) ; | |
158 | |
159 | |
160 /* TCP/IP deactivation callback for circuit-switched data. | |
161 */ | |
162 void psaTCPIP_deact_csd_callback(T_ACI_RETURN result) ; | |
163 | |
164 | |
165 ULONG psaTCPIP_bytes2ipv4addr(UBYTE *ip_address) ; | |
166 | |
167 void psaTCPIP_get_own_ipaddr(UBYTE *ipaddr); | |
168 | |
169 /*==== EXPORT =====================================================*/ | |
170 | |
171 #ifdef PSA_TCPIPF_C | |
172 | |
173 GLOBAL T_TCPIP_SHRD_PRM tcpipShrdPrm; | |
174 | |
175 #else | |
176 | |
177 EXTERN T_TCPIP_SHRD_PRM tcpipShrdPrm; | |
178 | |
179 #endif /* PSA_TCPIPF_C */ | |
180 | |
181 #endif /* PSA_TCPIP_H */ | |
182 | |
183 /*==== EOF =======================================================*/ |