📄 psa_tcpip.h
字号:
/*
+-----------------------------------------------------------------------------
| Project : WAPoverGPRS
| Modul : PSA_TPCIP
+-----------------------------------------------------------------------------
| Copyright 2002 Texas Instruments Berlin, AG
| All rights reserved.
|
| This file is confidential and a trade secret of Texas
| Instruments Berlin, AG
| The receipt of or possession of this file does not convey
| any rights to reproduce or disclose its contents or to
| manufacture, use, or sell anything it may describe, in
| whole, or in part, without the specific written consent of
| Texas Instruments Berlin, AG.
+-----------------------------------------------------------------------------
| Purpose : TCP/IP-related definitions and declarations for the ACI
+-----------------------------------------------------------------------------
*/
#ifndef PSA_TCPIP_H
#define PSA_TCPIP_H
/*==== CONSTANTS ==================================================*/
/* Option bitflag constants for the activation of TCP/IP components;
* this is meant to be sufficient even for times when there is no
* longer only IPv4 and UDP. These constants are meant to be ORed to
* the actual option value, which is then passed to
* psaTCPIP_Activate().
*/
#define TCPIP_ACT_OPTION_V4 0x01 /* Activate IPv4. */
#define TCPIP_ACT_OPTION_V6 0x02 /* Activate IPv6. (Not yet implemented) */
#define TCPIP_ACT_OPTION_UDP 0x04 /* Activate UDP. */
#define TCPIP_ACT_OPTION_TCP 0x08 /* Activate TCP. (Not yet implemented) */
#define TCPIP_ACT_OPTION_FU1 0x10 /* Reserved for future use. */
#define TCPIP_ACT_OPTION_FU2 0x20 /* Reserved for future use. */
#define TCPIP_ACT_OPTION_FU3 0x40 /* Reserved for future use. */
#define TCPIP_ACT_OPTION_FU4 0x80 /* Reserved for future use. */
#define TCPIP_CONNECTION_TYPE_UNKNOWN 0x00
#define TCPIP_CONNECTION_TYPE_GPRS_WAP 0x01
#define TCPIP_CONNECTION_TYPE_CSD_WAP 0x02
#define TCPIP_CONNECTION_TYPE_GPRS_SAT 0x04 /* SAT class c/e */
#define TCPIP_CONNECTION_TYPE_CSD_SAT 0x08 /* SAT class c/e */
#define TCPIP_CONNECTION_BUILDUP_UNKNOWN 0x00
#define TCPIP_CONNECTION_BUILDUP_UP 0x01
#define TCPIP_CONNECTION_BUILDUP_DOWN 0x02
/*==== TYPES ======================================================*/
/* Shared Parameters for TCP/IP-related stuff. There should be more in
* here, for instance the wap_state, but to make changes as small as
* possible at the moment, this is left as it is for now. The handling
* of TCP/IP activation state will have to be changed in the future
* anyway. [ni 2001-09-28]
*/
typedef struct tcpipShrdPrm
{
UBYTE src_id ;
UBYTE dti_id ;
UBYTE connection_type; /* distinction of GPRS or CSD connection */
UBYTE connection_buildup; /* distinction of connection build up or
build down */
UBYTE options ; /* Any ORed combination of the
* IP_ACT_OPTION_* values above with
* obvious semantics. */
SHORT wap_call_id ; /* ID of WAP call (if any). */
UBYTE ipaddr[16] ; /* Up to 16 bytes if IP address. */
UBYTE peer_addr[16] ; /* Address of peer. */
short mtu ; /* Size of maximum transfer unit. */
void (*callback_function)(T_ACI_RETURN result) ;
/* Function to call after the current
* operation is completed. */
} T_TCPIP_SHRD_PRM;
/*==== PROTOTYPES =================================================*/
/* Initialize TCP/IP psa variables.
*/
void psaTCPIP_Init(void) ;
/* Activate TCP/IP-related entities.
* Parameters:
* src_id
* dti_id DTI channel to use.
* options Any ORed combination of the IP_ACT_OPTION_* values
* above with obvious semantics.
* callback_function Function to call after activation is completed;
* result can be AT_FAIL or AT_CMPL. May be null.
*/
void psaTCPIP_Activate(UBYTE src_id,
UBYTE dti_id,
SHORT wap_call_id,
UBYTE options,
UBYTE connection_type,
void (*callback_function)(T_ACI_RETURN result)) ;
/* Configure TCP/IP-related entities.
* Parameters:
* ip_address IP address to use when called for a circuit-switched
* data (i. e. PPP) connection. A pointer to an
* array of bytes containing the IP address in
* network order. The address is assumed as being
* 4 or 16 bytes long, depending on whether IPv6
* is used. The ``pdp_address'' value returned by
* SMREG_PDP_ACTIVATE_CNF can be used here
* directly. Must be null when called for IP over
* GPRS.
* pdp_addrp Pointer to PDP address to use when called for IP
* over GPRS. Must be null when called for IP
* over CSD/PPP.
* peer_address IP address of the peer, or a null pointer to indicate
* the peer address is unknown. Only valid with IP over PPP.
* mtu Size of the maximum transfer unit or zero if unknown.
* callback_function Function to call after configuration is completed;
* result can be AT_FAIL or AT_CMPL. May be null.
*/
void psaTCPIP_Configure(UBYTE *ip_address,
void *pdp_addrp,
UBYTE *peer_address,
short mtu,
void (*callback_function)(T_ACI_RETURN result)) ;
/* Deactivate TCP/IP-related entities.
* Parameters:
* callback_function Function to call after deactivation is completed;
* result can be AT_FAIL or AT_CMPL. May be null.
*/
void psaTCPIP_Deactivate(void (*callback_function)(T_ACI_RETURN result)) ;
/* TCP/IP activation/configuration/deactivation dipatcher function.
*/
void psaTCPIP_config_dispatch(void) ;
/* TCP/IP activation callback for circuit-switched data.
*/
void psaTCPIP_act_csd_callback(T_ACI_RETURN result) ;
/* TCP/IP configuration callback for circuit-switched data.
*/
void psaTCPIP_conf_csd_callback(T_ACI_RETURN result) ;
/* TCP/IP deactivation callback for circuit-switched data.
*/
void psaTCPIP_deact_csd_callback(T_ACI_RETURN result) ;
ULONG psaTCPIP_bytes2ipv4addr(UBYTE *ip_address) ;
/*==== EXPORT =====================================================*/
#ifdef PSA_TCPIPF_C
GLOBAL T_TCPIP_SHRD_PRM tcpipShrdPrm;
#else
EXTERN T_TCPIP_SHRD_PRM tcpipShrdPrm;
#endif /* PSA_TCPIPF_C */
#endif /* PSA_TCPIP_H */
/*==== EOF =======================================================*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -