FreeCalypso > hg > fc-magnetite
diff src/g23m-aci/aci/gaci_cmh.h @ 162:53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Tue, 11 Oct 2016 02:02:43 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/g23m-aci/aci/gaci_cmh.h Tue Oct 11 02:02:43 2016 +0000 @@ -0,0 +1,601 @@ +/* ++----------------------------------------------------------------------------- +| Project : +| Modul : ++----------------------------------------------------------------------------- +| 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 : GPRS Command handler interface definitions. ++----------------------------------------------------------------------------- +*/ + +#ifndef GACI_CMH_H +#define GACI_CMH_H + + +/*==== MACROS =====================================================*/ +#define GPRS_EVENT_REPORTING_BUFFER_SIZE 10 + +/*==== DEFINES ====================================================*/ +/* the maximum length of strings to describe the PDP typ, PDP address, APN and L2P */ +#define MAX_PDP_TYPE_LEN 7 +#define MAX_APN_LEN 103 +#define MAX_DNS_LEN 15 +#define MAX_USER_LEN 63 /* this is a common value for Routers etc... */ +#define MAX_PSWD_LEN 63 /* Name is changed as the same name is used in MFW with different value */ +#define MAX_PDP_ADDR_LEN 63 /* IPv6 address n01.n02..n16 (16 * 3 + 15) */ +#if defined (FF_PKTIO) OR defined (FF_TCP_IP) || defined(FF_GPF_TCPIP) OR defined (FF_PSI) +#define MAX_L2P_LENGTH 6 +#else /* FF_PKTIO || FF_TCP_IP || FF_GPF_TCPIP || FF_PSI */ +#define MAX_L2P_LENGTH 4 +#endif /* FF_PKTIO || FF_TCP_IP || FF_GPF_TCPIP OR FF_PSI */ +#ifdef REL99 +#define QOS_R99_TC_OMITTED 0xff +#define QOS_R99_ORDER_OMITTED 0xff +#define QOS_R99_DEL_ERR_SDU_OMITTED 0xff +#define QOS_R99_MAX_SDU_OMITTED 0xffff +#define QOS_R99_MAX_BR_UL_OMITTED 0xffff +#define QOS_R99_MAX_BR_DL_OMITTED 0xffff +#define QOS_R99_XFER_DELAY_OMITTED 0xffff +#define QOS_R99_HANDLING_PRIO_OMITTED 0xff +#define QOS_R99_GUAR_BR_UL_OMITTED 0xffff +#define QOS_R99_GUAR_BR_DL_OMITTED 0xffff +#define QOS_R99_RATIO_MANT_OMITTED 0xff +#define QOS_R99_RATIO_EXP_OMITTED 0xff +#endif /* REL99 */ +#define PDP_CONTEXT_CID_OMITTED 0 +#define PDP_CONTEXT_CID_MIN 1 +#define PDP_CONTEXT_CID_MAX 11 +#define PDP_CONTEXT_CID_INVALID (PDP_CONTEXT_CID_MAX + 1) +#define PDP_CONTEXT_TYPE_LEN_MAX 7 +#define PDP_CONTEXT_APN_LEN_MAX 103 // ??? +#define PDP_CONTEXT_ADDR_LEN_MAX 16 + +#define MAX_PDP_CONTEXT_TYPE_LEN 7 +#define MAX_PDP_CONTEXT_APN_LEN 103 +#define MAX_PDP_CONTEXT_ADDR_LEN 16 +#define MAX_PDP_D_COMP_LEN 1 +#define MAX_PDP_H_COMP_LEN 1 + +#define PDP_CONTEXT_QOS_OMITTED 0 + +#define TFT_PF_ID_MIN 1 +#define TFT_PF_ID_MAX 4 /* Due to unclear definition in spec. it is decided to limit the max number of PF's to 4 instead of 8 */ + +#ifdef REL99 +#define TFT_FLOW_LABEL_MIN 0x00000 +#define TFT_FLOW_LABEL_MAX 0xfffff +#define TFT_FLOW_LABEL_INVALID -1 +#define TFT_PROT_OR_NXT_HDR_MIN 0x00 +#define TFT_PROT_OR_NXT_HDR_MAX 0xff +#define TFT_PROT_OR_NXT_HDR_INVALID -1 +#define TFT_PRM_LIST_MAX_BYT_LEN 254 /* TFT IE: 257-IEI-IEL-mandatoryPrms */ +#endif + + +typedef enum /* CGDCONT command d_comp */ +{ + GPRS_CID_OMITTED = 0, /* value is omitted */ + GPRS_CID_1, /* PDP data compression off (default) */ + GPRS_CID_2, /* PDP data compression on */ +#if defined (FF_PKTIO) OR defined (FF_PSI) + GPRS_CID_3, + GPRS_CID_4, + GPRS_CID_5, + GPRS_CID_6, +#endif + GPRS_CID_INVALID /* invalid value */ + +} T_GPRS_CID; + +#define INVALID_CID GPRS_CID_OMITTED + +#if defined (FF_PKTIO) OR defined (FF_PSI) +#define MAX_CID GPRS_CID_6 +#else +#define MAX_CID GPRS_CID_2 +#endif + +#define MAX_CID_PLUS_EINS GPRS_CID_INVALID + +/*==== TYPES ======================================================*/ + +//typedef char T_PDP_ADDRESS [MAX_PDP_CONTEXT_ADDR_LEN]; +//typedef T_NAS_ip T_PDP_ADDRESS ; +typedef char T_PDP_TYPE [MAX_PDP_CONTEXT_TYPE_LEN]; +typedef char T_APN [MAX_APN_LEN]; +typedef char T_L2P [MAX_L2P_LENGTH]; + +typedef struct +{ + T_APN apn; + T_PDP_TYPE pdp_type; + T_NAS_ip pdp_addr; + SHORT d_comp; + SHORT h_comp; + T_PS_ctrl_qos ctrl_qos; + T_PS_qos qos; + T_PS_ctrl_min_qos ctrl_min_qos; + T_PS_min_qos min_qos; +} T_GPRS_CONT_REC; + +/*---- Types of -----------------------------------------*/ +typedef enum /* CGDCONT command d_comp */ +{ + CGDCONT_D_COMP_OMITTED = -1, /* value is omitted */ + CGDCONT_D_COMP_OFF, /* PDP data compression off (default) */ + CGDCONT_D_COMP_ON, /* PDP data compression on */ + CGDCONT_D_COMP_INVALID /* invalid value */ + +} T_CGDCONT_D_COMP; + +typedef enum /* CGDCONT command h_comp */ +{ + CGDCONT_H_COMP_OMITTED = -1, /* value is omitted */ + CGDCONT_H_COMP_OFF, /* PDP header compression off (default) */ + CGDCONT_H_COMP_ON, /* PDP header compression on */ + CGDCONT_H_COMP_INVALID /* invalid value */ + +} T_CGDCONT_H_COMP; + +typedef enum /* CGATT command state */ +{ + CGATT_STATE_OMITTED = -1, /* value is omitted */ + CGATT_STATE_DETACHED, /* GPRS detached */ + CGATT_STATE_ATTACHED, /* GPRS attached */ + CGATT_STATE_INVALID /* invalid value */ + +} T_CGATT_STATE; + +typedef enum /* CGACT command state */ +{ + CGACT_STATE_OMITTED = -1, /* value is omitted */ + CGACT_STATE_DEACTIVATED, /* PDP context detached */ + CGACT_STATE_ACTIVATED, /* PDP context attached */ + CGACT_STATE_INVALID /* invalid value */ + +} T_CGACT_STATE; + +typedef enum /* CGAUTO command n */ +{ + CGAUTO_N_OMITTED = -1, /* value is omitted */ + CGAUTO_N_GPRS_RES_OFF, /* turn off automatic response for GPRS only */ + CGAUTO_N_GPRS_RES_ON, /* turn on automatic response for GPRS only */ + CGAUTO_N_MCM_GPRS_ONLY, /* modem compabitbility mode, GPRS only */ + CGAUTO_N_MCM_GPRS_CSC, /* modem compabitbility mode, GPRS and circuit switched calls (default) */ + CGAUTO_N_INVALID /* invalid value */ + +} T_CGAUTO_N; + +typedef enum /* CGANS command response */ +{ + CGANS_RESPONSE_OMITTED = -1, /* value is omitted */ + CGANS_RESPONSE_REJECT, /* reject the request */ + CGANS_RESPONSE_ACCEPT, /* accept and request that the PDP context be activated */ + CGANS_RESPONSE_INVALID /* invalid value */ + +} T_CGANS_RESPONSE; + +typedef enum /* CGANS command response */ +{ + CGCLASS_CLASS_OMITTED = -1, /* value is omitted */ + CGCLASS_CLASS_A, /* mobile class A (highest) */ + CGCLASS_CLASS_B, /* mobile class B (if necessary consider NET III) */ + CGCLASS_CLASS_CG, /* mobile class CG (GPRS only mode) */ + CGCLASS_CLASS_CC, /* mobile class CC (circuit switched only mode - lowest) */ + CGCLASS_CLASS_MAX /* invalid value */ + +} T_CGCLASS_CLASS; + +typedef enum /* CGANS command response */ +{ + PERCENT_CGCLASS_OMITTED = -1, /* value is omitted */ + PERCENT_CGCLASS_A, /* mobile class A (highest) */ + PERCENT_CGCLASS_B, /* mobile class B */ + PERCENT_CGCLASS_BG, /* mobile class BG */ + PERCENT_CGCLASS_BC, /* mobile class BC */ + PERCENT_CGCLASS_BX, /* mobile class BX */ + PERCENT_CGCLASS_CG, /* mobile class CG (GPRS only mode) */ + PERCENT_CGCLASS_CC, /* mobile class CC (circuit switched only mode - lowest) */ + PERCENT_CGCLASS_MAX /* invalid value */ + +} T_PERCENT_CGCLASS; + +typedef enum /* CGEREP command mode */ +{ + CGEREP_MODE_OMITTED = -1, /* value is omitted */ + CGEREP_MODE_BUFFER, /* buffer unsolicited result codes */ + CGEREP_MODE_DICARD_RESERVED, /* discard unsolicited result codes when MT-TE link is reserved */ + CGEREP_MODE_BUFFER_RESERVED, /* buffer unsolicited result codes in the MT when MT-TE link is reserved */ + CGEREP_MODE_INVALID /* invalid value */ + +} T_CGEREP_MODE; + +typedef enum /* CGEREP command bfr */ +{ + CGEREP_BFR_OMITTED = -1, /* value is omitted */ + CGEREP_BFR_CLEAR, /* buffer unsolicited result codes */ + CGEREP_BFR_FLUSH, /* discard unsolicited result codes when MT-TE link is reserved */ + CGEREP_BFR_INVALID /* invalid value */ + +} T_CGEREP_BFR; + +typedef enum /* CGREG command read stat */ +{ + CGREG_STAT_NOT_PRESENT = -1, /* not present, last state is not indicated */ + CGREG_STAT_NOT_REG, /* not registered, no searching */ + CGREG_STAT_REG_HOME, /* registered, home network */ + CGREG_STAT_SEARCHING, /* not registered, but searching */ + CGREG_STAT_REG_DEN, /* registration denied */ + CGREG_STAT_UNKN, /* unknown */ + CGREG_STAT_REG_ROAM /* registered, roaming */ + +} T_CGREG_STAT; + +typedef enum /* %CGREG command read stat */ +{ + P_CGREG_STAT_NOT_PRESENT = -1, /* not present, last state is not indicated */ + P_CGREG_STAT_NOT_REG, /* not registered, no searching */ + P_CGREG_STAT_REG_HOME, /* registered, home network */ + P_CGREG_STAT_SEARCHING, /* not registered, but searching */ + P_CGREG_STAT_REG_DEN, /* registration denied */ + P_CGREG_STAT_UNKN, /* unknown */ + P_CGREG_STAT_REG_ROAM, /* registered, roaming */ + P_CGREG_STAT_LIMITED, /* limited service */ + P_CGREG_STAT_GSM_CALL, /* GSM call is active */ + P_CGREG_STAT_NO_CELL, /* no cell available */ + P_CGREG_STAT_TRY_TO_UPDATE /* next attempt to update MS */ + +} T_P_CGREG_STAT; + + +typedef enum /* CGSMS command service */ +{ + CGSMS_SERVICE_OMITTED = -1, /* value is omitted */ + CGSMS_SERVICE_GPRS, /* GPRS */ + CGSMS_SERVICE_CS, /* circuit switched */ + CGSMS_SERVICE_GPRS_PREFERRED, /* GPRS preferred */ + CGSMS_SERVICE_CS_PREFERRED, /* circuit switched preferred */ + CGSMS_SERVICE_INVALID /* invalid value */ + +} T_CGSMS_SERVICE; + +typedef enum /* CGAATT command automatic attach mode */ +{ + CGAATT_ATTACH_MODE_OMITTED = -1, /* value is omitted */ + CGAATT_ATTACH_MODE_AUTOMATIC, /* automatic attach */ + CGAATT_ATTACH_MODE_MANUAL, /* manual attach */ + CGAATT_ATTACH_MODE_INVALID /* invalid value */ + +} T_CGAATT_ATTACH_MODE; + +typedef enum /* CGAATT command automatic detach after context deactivation */ +{ + CGAATT_DETACH_MODE_OMITTED = -1, /* value is omitted */ + CGAATT_DETACH_MODE_ON, /* on */ + CGAATT_DETACH_MODE_OFF, /* off */ + CGAATT_DETACH_MODE_INVALID /* invalid value */ + +} T_CGAATT_DETACH_MODE; + +/*---- Types for event reporting-----------------------------------*/ + +typedef enum /* Defined events for GPRS event reporting */ +{ + CGEREP_EVENT_INVALID = -1, /* reserved value */ + CGEREP_EVENT_REJECT, /* network request context activation */ + CGEREP_EVENT_NW_REACT, /* network requested context reactivation */ + CGEREP_EVENT_NW_DEACT, /* network forced context deactivation */ + CGEREP_EVENT_ME_DEACT, /* mobile equipment forced context deactivation */ + CGEREP_EVENT_NW_DETACH, /* network forced detach */ + CGEREP_EVENT_ME_DETACH, /* mobile equipment forced detach */ + CGEREP_EVENT_NW_CLASS, /* network forced class change */ + CGEREP_EVENT_ME_CLASS, /* mobile equipment forced class change */ + CGEREP_EVENT_NW_ACT, /* network requested context activation */ + CGEREP_EVENT_ME_ACT /* mobile equipment initiated context activation */ +} T_CGEREP_EVENT; + +typedef struct /* parameter of unsolicited event: REJECT */ +{ + T_PDP_TYPE pdp_type; + T_NAS_ip pdp_addr; + +} T_EVENT_REJECT; + +typedef struct /* parameter of unsolicited event: NW REACT, NW DEACT, ME DEACT */ +{ + T_PDP_TYPE pdp_type; + T_NAS_ip pdp_addr; + SHORT cid; + +} T_EVENT_ACT; + +typedef union +{ + T_EVENT_REJECT reject; + T_EVENT_ACT act; + T_CGCLASS_CLASS mobile_class; + +} T_CGEREP_EVENT_REP_PARAM; + + +typedef enum +{ + PDP_CONTEXT_D_COMP_OFF = 0, + PDP_CONTEXT_D_COMP_INVALID = 3, + PDP_CONTEXT_D_COMP_OMITTED = 255 +} T_PDP_CONTEXT_D_COMP; + + +typedef enum +{ + PDP_CONTEXT_H_COMP_OFF = 0, + PDP_CONTEXT_H_COMP_INVALID = 3, + PDP_CONTEXT_H_COMP_OMITTED = 255 +} T_PDP_CONTEXT_H_COMP; + + +typedef enum +{ + PDP_CONTEXT_TYPE_UNKNOWN = 0, + PDP_CONTEXT_TYPE_PRIMARY = 1, + PDP_CONTEXT_TYPE_SECONDARY = 2 + +}T_PDP_CONTEXT_TYPE; + +typedef enum +{ + PDP_CONTEXT_STATE_INVALID = 0, /* 0x00: invalid value */ + PDP_CONTEXT_STATE_DEFINED, /* 0x01: context defined */ + PDP_CONTEXT_STATE_ATTACHING, /* 0x02: Attaching before context activation (+CGDATA or +CGACT) */ + PDP_CONTEXT_STATE_ESTABLISH_1, /* 0x03: PPP informed over estblish */ + PDP_CONTEXT_STATE_ESTABLISH_2, /* 0x04: SM informed over estblish */ + PDP_CONTEXT_STATE_ESTABLISH_3, /* 0x05: PPP informed over activated context */ + PDP_CONTEXT_STATE_ACTIVATING, /* 0x06: SM context activating */ + PDP_CONTEXT_STATE_ABORT_ESTABLISH, /* 0x07: abort establish */ + PDP_CONTEXT_STATE_ACTIVATED, /* 0x08: context activated */ + PDP_CONTEXT_STATE_ACTIVATED_ESTABLISH_1, /* 0x09: Context is activated. PPP informed over estblish */ + PDP_CONTEXT_STATE_ACTIVATED_MODIFYING, /* 0x0a: context activated, context modification in progress */ + PDP_CONTEXT_STATE_DATA_LINK, /* 0x0b: Data link */ + PDP_CONTEXT_STATE_DATA_LINK_MODIFYING, /* 0x0c: Data link, context modification in progress */ + PDP_CONTEXT_STATE_DEACTIVATE_NORMAL, /* 0x0d: Context activated/activating: Deactivating from appl. or SMREG_PDP_ACTIVATE_REJ */ + PDP_CONTEXT_STATE_BREAKDOWN_LINK_NORMAL, /* 0x0f: Data link deactivation: breakdown data link from PPP (PPP_TERMINATE_IND received) + or network initiated context deactivation (SMREG_PDP_DEACTIVATE_IND) */ + PDP_CONTEXT_STATE_REACTIVATION_1, /* 0x10: Data link deactivation: PPP_TERMINATE_REQ and SMREG_DEACTIVATE_REQ are sent */ + PDP_CONTEXT_STATE_REACTIVATION_2 /* 0x11: Data link deactivation: Response is received from either PPP or SM + e.g. PPP_TERMINATE_IND or SMREG_DEACTIVATE_CNF */ +} T_PDP_CONTEXT_STATE; + + +typedef struct _T_TFT_INTERNAL +{ + T_NAS_tft_pf pf_attributes; + struct _T_TFT_INTERNAL *p_next; + +} T_TFT_INTERNAL; + + +typedef char T_PDP_CONTEXT_PDP_TYPE[MAX_PDP_CONTEXT_TYPE_LEN]; +typedef char T_PDP_CONTEXT_APN[PDP_CONTEXT_APN_LEN_MAX]; + +typedef struct +{ + T_PDP_CONTEXT_PDP_TYPE pdp_type; + T_PDP_CONTEXT_APN pdp_apn; + T_NAS_ip pdp_addr; + U8 d_comp; /* T_PDP_CONTEXT_D_COMP */ + U8 h_comp; /* T_PDP_CONTEXT_H_COMP */ + U8 p_cid; /* Primary PDP context id, used if the context is a secondary PDP context */ + +} T_PDP_CONTEXT; + + +typedef struct +{ + UBYTE len; + UBYTE pco[251]; + +} T_PDP_CONTEXT_PCO; /* user PCO */ + + +/*---- %CGPCO -----------------------------------------------------*/ + +#define ACI_PCO_MAX_LEN 251 +#define ACI_PCO_CONTENTMASK_AUTH 0x00000001 +#define ACI_PCO_CONTENTMASK_DNS1 0x00000002 +#define ACI_PCO_CONTENTMASK_DNS2 0x00000004 + +#define ACI_PCO_CONFIG_PROT_PPP 0 + +#define ACI_PCO_AUTH_PROT_PAP 0xc023 + +#define ACI_PCO_PAP_OVERHEAD 9 +#define ACI_PCO_IPCP_OVERHEAD 7 +#define ACI_PCO_PAP_AUTH_REQ 0x01 +#define ACI_PCO_IPCP_PROT_MSB 0x80 +#define ACI_PCO_IPCP_PROT_LSB 0x21 +#define ACI_PCO_IPCP_CONF_REQ 0x01 +#define ACI_PCO_IPCP_CONF_ACK 0x02 +#define ACI_PCO_IPCP_CONF_NAK 0x03 +#define ACI_PCO_IPCP_TYPE_IP 3 +#define ACI_PCO_IPCP_TYPE_DNS1 129 +#define ACI_PCO_IPCP_TYPE_DNS2 131 +#define ACI_PCO_IPCP_LENGTH_IP 6 +#define ACI_PCO_IPCP_LENGTH_DNS1 6 +#define ACI_PCO_IPCP_LENGTH_DNS2 6 + +typedef enum +{ + CGPCO_FORMAT_HEX = 0, + CGPCO_FORMAT_ASCII +}T_ACI_CGPCO_FORMAT; + +typedef enum +{ + CGPCO_MODE_SET_PCO = 0, + CGPCO_MODE_QUERY_PCO +}T_ACI_CGPCO_MODE; + + +/*==== PROTOTYPES =================================================*/ + +/*** set commands ***/ +EXTERN T_ACI_RETURN sAT_PercentCGPCO ( T_ACI_CMD_SRC srcId, U8 cid, USHORT protocol, CHAR *user, CHAR *pwd, CHAR *dns1, CHAR *dns2); +EXTERN T_ACI_RETURN sAT_PercentCGPCO_HEX ( T_ACI_CMD_SRC srcId, UBYTE cid, UBYTE *pco_array, UBYTE pco_len); +EXTERN T_ACI_RETURN sAT_PlusCGDCONT ( T_ACI_CMD_SRC srcId, U8 cid, T_PDP_CONTEXT *inputCtxt); +EXTERN T_ACI_RETURN sAT_PlusCGQREQ ( T_ACI_CMD_SRC srcId, U8 cid ,T_PS_qos *qos); +EXTERN T_ACI_RETURN sAT_PlusCGQMIN ( T_ACI_CMD_SRC srcId, U8 cid ,T_PS_min_qos *qos); +EXTERN T_ACI_RETURN sAT_PlusCGATT ( T_ACI_CMD_SRC srcId, T_CGATT_STATE state ); +EXTERN T_ACI_RETURN sAT_PlusCGACT ( T_ACI_CMD_SRC srcId, T_CGACT_STATE state, SHORT *cids ); +EXTERN T_ACI_RETURN sAT_PlusCGDATA ( T_ACI_CMD_SRC srcId, char *L2P, U8 *p_cid_array ); +EXTERN T_ACI_RETURN sAT_PlusCGPADDR ( T_ACI_CMD_SRC srcId, SHORT *cids, T_NAS_ip *pdp_adress ); +EXTERN T_ACI_RETURN sAT_PlusCGAUTO ( T_ACI_CMD_SRC srcId, T_CGAUTO_N n ); +EXTERN T_ACI_RETURN sAT_PlusCGANS ( T_ACI_CMD_SRC srcId, USHORT response, char *l2p, U8 cid ); +EXTERN T_ACI_RETURN sAT_PlusCGCLASS ( T_ACI_CMD_SRC srcId, T_CGCLASS_CLASS m_class ); +EXTERN T_ACI_RETURN sAT_PlusCGEREP ( T_ACI_CMD_SRC srcId, T_CGEREP_MODE mode, T_CGEREP_BFR bfr ); +EXTERN T_ACI_RETURN sAT_PlusCGSMS ( T_ACI_CMD_SRC srcId, T_CGSMS_SERVICE service ); + + + +EXTERN T_ACI_RETURN sAT_PercentCGAATT ( T_ACI_CMD_SRC srcId, T_CGAATT_ATTACH_MODE att_m, T_CGAATT_DETACH_MODE det_m ); +EXTERN T_ACI_RETURN sAT_PercentCGMM ( T_ACI_CMD_SRC srcId, UBYTE cipher_on, UBYTE tlli_handling ); +EXTERN T_ACI_RETURN sAT_PercentSNCNT ( T_ACI_CMD_SRC srcId, BOOL reset_counter ); + +EXTERN T_ACI_RETURN sAT_PercentCGPPP ( T_ACI_CMD_SRC srcId, T_ACI_PPP_PROT protocol ); +EXTERN T_ACI_RETURN qAT_PercentCGPPP ( T_ACI_CMD_SRC srcId, T_ACI_PPP_PROT *protocol ); + +EXTERN T_ACI_RETURN sAT_PercentCGCLASS ( T_ACI_CMD_SRC srcId, T_PERCENT_CGCLASS m_class ); + + + +/*** read commands ***/ +EXTERN T_ACI_RETURN qAT_PercentCGPCO ( T_ACI_CMD_SRC srcId, ULONG *gateway, ULONG *dns1, ULONG *dns2, USHORT cid); +EXTERN T_ACI_RETURN qAT_PlusCGDCONT ( T_ACI_CMD_SRC srcId, T_PDP_CONTEXT *p_pdp_context_array, SHORT *cid_array ); +EXTERN T_ACI_RETURN qAT_PlusCGQREQ ( T_ACI_CMD_SRC srcId, U8 cid, BOOL *qos_valid, T_PS_qos *qos); +EXTERN T_ACI_RETURN qAT_PlusCGQMIN ( T_ACI_CMD_SRC srcId, U8 cid, BOOL *qos_valid, T_PS_qos *qos); +EXTERN T_ACI_RETURN qAT_PlusCGATT ( T_ACI_CMD_SRC srcId, T_CGATT_STATE *state ); +EXTERN T_ACI_RETURN qAT_PlusCGACT ( T_ACI_CMD_SRC srcId, BOOL *states, SHORT *cid ); +EXTERN T_ACI_RETURN qAT_PlusCGAUTO ( T_ACI_CMD_SRC srcId, T_CGAUTO_N *n); +EXTERN T_ACI_RETURN qAT_PlusCGCLASS ( T_ACI_CMD_SRC srcId, T_CGCLASS_CLASS *m_class ); +EXTERN T_ACI_RETURN qAT_PlusCGEREP ( T_ACI_CMD_SRC srcId, T_CGEREP_MODE *mode, T_CGEREP_BFR *bfr ); +EXTERN T_ACI_RETURN qAT_PlusCGREG ( T_ACI_CMD_SRC srcId, T_CGREG_STAT *stat, USHORT *lac, USHORT *ci ); +EXTERN T_ACI_RETURN qAT_PercentCGREG ( T_ACI_CMD_SRC srcId, T_P_CGREG_STAT *stat, USHORT *lac, USHORT *ci ); +EXTERN T_ACI_RETURN qAT_PlusCGSMS ( T_ACI_CMD_SRC srcId, T_CGSMS_SERVICE *service ); +EXTERN T_ACI_RETURN qAT_PercentCGAATT ( T_ACI_CMD_SRC srcId, T_CGAATT_ATTACH_MODE *att_m, T_CGAATT_DETACH_MODE *det_m ); +EXTERN T_ACI_RETURN qAT_PercentCGCLASS ( T_ACI_CMD_SRC srcId, T_PERCENT_CGCLASS *m_class, T_PERCENT_CGCLASS *currentClass ); +#ifdef REL99 +EXTERN T_ACI_RETURN qAT_PlusCGDSCONT( T_ACI_CMD_SRC srcId, T_PDP_CONTEXT *p_pdp_context_array, U8 *cid_array ); +EXTERN T_ACI_RETURN qAT_PlusCGTFT ( T_ACI_CMD_SRC srcId, U8 *cid_array ); +#endif +/*** test commands ***/ +EXTERN T_ACI_RETURN tAT_PlusCGPADDR ( T_ACI_CMD_SRC srcId, U8 *cids); +EXTERN T_ACI_RETURN tAT_PlusCGSMS ( T_ACI_CMD_SRC srcId, SHORT *service_list); + +#ifdef REL99 +EXTERN T_ACI_RETURN sAT_PlusCGDSCONT( T_ACI_CMD_SRC srcId, U8 cid, T_PDP_CONTEXT *pdp_context_input ); +EXTERN T_ACI_RETURN sAT_PlusCGEQREQ ( T_ACI_CMD_SRC srcId, U8 cid, T_PS_qos *qos ); +EXTERN T_ACI_RETURN sAT_PlusCGEQMIN ( T_ACI_CMD_SRC srcId, U8 cid, T_PS_qos *qos ); +EXTERN T_ACI_RETURN sAT_PlusCGEQNEG ( T_ACI_CMD_SRC srcId, U8 cid, BOOL *qos_valid, T_PS_qos *qos); +EXTERN T_ACI_RETURN sAT_PlusCGCMOD ( T_ACI_CMD_SRC srcId, U8 *cid); +EXTERN T_ACI_RETURN sAT_PlusCGTFT ( T_ACI_CMD_SRC srcId, U8 cid, T_NAS_tft_pf *tft_pf_input ); + +EXTERN T_ACI_RETURN qAT_PlusCGEQREQ ( T_ACI_CMD_SRC srcId, U8 cid, BOOL *qos_valid, T_PS_qos *qos); +EXTERN T_ACI_RETURN qAT_PlusCGEQMIN ( T_ACI_CMD_SRC srcId, U8 cid, BOOL *qos_valid, T_PS_min_qos *qos); + +EXTERN T_ACI_RETURN tAT_PlusCGEQNEG_CGCMOD ( T_ACI_CMD_SRC srcId, U8 cid, BOOL *context_activated); +EXTERN T_ACI_RETURN tAT_PlusCGDSCONT ( T_ACI_CMD_SRC srcId, U8 cid, BOOL *context_activated ); +#endif /* REL99 */ + + +/*--------------- extension mechansim ----------------------------*/ + +/*--------------- constants --------------------------------------*/ + +/*--------------- configuration ----------------------------------*/ + +/*--------------- Extension Handler -> AT Interpreter ------------*/ + +/*--------------- AT Interpreter -> Extension Handler ------------*/ + +/*------- call-backs for MMI --------------------------------------*/ + +#ifdef CMH_F_C /*lint -save -e18 */ /* Turn off Lint errors for this "construct" */ +EXTERN void rAT_PlusCGACT ( void ); +EXTERN void rAT_PlusCGDATA ( void ); +EXTERN void rAT_PlusCGANS ( void ); +EXTERN void rAT_PlusCGEREP ( void ); +EXTERN void rAT_PlusCGREG ( void ); +EXTERN void rAT_changedQOS ( void ); +EXTERN void rAT_PercentSNCNT ( void ); +EXTERN void rAT_PercentCGREG ( void ); +#ifdef REL99 +EXTERN void rAT_PlusCGCMOD ( void ); /* added for rel99 */ +#endif +EXTERN void rAT_PercentCGEV ( void ); +/*lint -restore */ +#else +EXTERN void rAT_PlusCGACT ( SHORT link_id ); +EXTERN void rAT_PlusCGDATA ( SHORT link_id ); +EXTERN void rAT_PlusCGANS ( SHORT link_id ); +EXTERN void rAT_PlusCGEREP ( T_CGEREP_EVENT event, T_CGEREP_EVENT_REP_PARAM *param ); +EXTERN void rAT_PlusCGREG ( T_CGREG_STAT stat, USHORT lac, USHORT ci ); +EXTERN void rAT_changedQOS ( SHORT cid, T_PS_qos *qos ); +EXTERN void rAT_PercentSNCNT ( UBYTE c_id, + ULONG octets_uplink, + ULONG octets_downlink, + ULONG packets_uplink, + ULONG packets_downlink ); +EXTERN void rAT_PercentCGREG ( T_P_CGREG_STAT stat, USHORT lac, USHORT ci, BOOL bActiveContext ); +#ifdef REL99 +EXTERN void rAT_PlusCGCMOD ( void ); /* added for rel99 */ +#endif +EXTERN void rAT_PercentCGEV ( T_CGEREP_EVENT event, T_CGEREP_EVENT_REP_PARAM *param ); +#endif + +/*--------------- call-backs for AT CI ----------------------------*/ + +#ifdef CMH_F_C +/*lint -save -e18 */ /* Turn off Lint errors for this "construct" */ +EXTERN void rCI_PlusCGACT ( void ); +EXTERN void rCI_PlusCGDATA ( void ); +EXTERN void rCI_PlusCGANS ( void ); +EXTERN void rCI_PlusCGEREP ( void ); +EXTERN void rCI_PlusCGREG ( void ); +EXTERN void rCI_changedQOS ( void ); +EXTERN void rCI_PercentSNCNT ( void ); +EXTERN void rCI_PercentCGREG ( void ); +#ifdef REL99 +EXTERN void rCI_PlusCGCMOD ( void ); /* rel99 */ +#endif /* REL99 */ +EXTERN void rCI_PercentCGEV ( void ); +/*lint -restore */ +#else +EXTERN void rCI_PlusCGACT ( SHORT link_id ); +EXTERN void rCI_PlusCGDATA ( SHORT link_id ); +EXTERN void rCI_PlusCGANS ( SHORT link_id ); +EXTERN void rCI_PlusCGEREP ( T_CGEREP_EVENT event, T_CGEREP_EVENT_REP_PARAM *param ); +EXTERN void rCI_PlusCGREG ( T_CGREG_STAT stat, USHORT lac, USHORT ci ); +EXTERN void rCI_changedQOS ( SHORT cid, T_PS_qos *qos ); +EXTERN void rCI_PercentSNCNT ( UBYTE c_id, + ULONG octets_uplink, + ULONG octets_downlink, + ULONG packets_uplink, + ULONG packets_downlink ); +EXTERN void rCI_PercentCGREG ( T_P_CGREG_STAT stat, USHORT lac, USHORT ci, BOOL bActiveContext ); +#ifdef REL99 +EXTERN void rCI_PlusCGCMOD ( void ); /* rel99 */ +#endif /* REL99 */ +EXTERN void rCI_PercentCGEV ( T_CGEREP_EVENT event, T_CGEREP_EVENT_REP_PARAM *param ); +#endif + +#endif +/*==== EOF ========================================================*/