FreeCalypso > hg > fc-magnetite
view src/aci2/mfw/mfw_gprs.h @ 222:79cb194284ca
doc/Freerunner-Howto: update for the TCS2/TCS3 hybrid development
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 16 Oct 2016 00:26:26 +0000 |
parents | 93999a60b835 |
children |
line wrap: on
line source
/* +--------------------------------------------------------------------+ | PROJECT: MMI-Framework (8417) $Workfile:: mfw_gprs.h $| | $Author: KGT $Revision:: 1 $| | CREATED: 13.02.2001 $Modtime:: 13.02.2001 $| | STATE : code | +--------------------------------------------------------------------+ MODULE : MFW_GPRS PURPOSE : This modul contains definition needed for the GPRS management in MFW. $History: Mfw_gprs.h Feb 24, 2006 REF:DR OMAPS00068976 x0035544 Description: GPRS attach icon - MMI follow up issue of OMAPS00051034 solution: Added the structure variable p_reg_State to the union and named it as Reg_state. This structure stores the network registration status information given by qAT_percentCREG(). 15/05/2003 - SPR#1983 - SH - Updated to latest from 1.6.3 version. $End */ #ifndef DEF_MFW_GPRS_HEADER #define DEF_MFW_GPRS_HEADER /* GPRS events -----------------------------------------------------*/ #define E_MFW_GPRS_S_CNTXT 0x00000001 #define E_MFW_GPRS_S_ATT 0x00000002 #define E_MFW_GPRS_S_ACT 0x00000004 #define E_MFW_GPRS_R_ACT 0x00000008 #define E_MFW_GPRS_S_DATA 0x00000010 #define E_MFW_GPRS_R_DATA 0x00000020 #define E_MFW_GPRS_S_QOS 0x00000040 #define E_MFW_GPRS_R_QOS 0x00000080 #define E_MFW_GPRS_S_QOS_MIN 0x00000100 #define E_MFW_GPRS_S_CLASS 0x00000200 #define E_MFW_GPRS_S_PDPADDR 0x00000400 #define E_MFW_GPRS_S_AUTORESP 0x00000800 #define E_MFW_GPRS_S_ANS 0x00001000 #define E_MFW_GPRS_R_ANS 0x00002000 #define E_MFW_GPRS_S_EREP 0x00004000 #define E_MFW_GPRS_R_EREP_RJ 0x00008000 #define E_MFW_GPRS_R_EREP_ATT 0x00010000 #define E_MFW_GPRS_R_EREP_ACT 0x00020000 #define E_MFW_GPRS_R_EREP_DEACT 0x00040000 #define E_MFW_GPRS_R_EREP_CLASS 0x00080000 #define E_MFW_GPRS_R_REG 0x00200000 #define E_MFW_GPRS_S_SMSSERV 0x00400000 #define E_MFW_GPRS_OK 0x00800000 #define E_MFW_GPRS_ERROR 0x01000000 #define E_MFW_GPRS_CONNECT 0x02000000 #define E_MFW_GPRS_ERR_CONNECT 0x04000000 #define E_MFW_GPRS_COUNTER 0x08000000 #define E_MFW_GPRS_ALL_EVENTS 0x0FFFFFFF /* GPRS Parameter --------------------------------------------------*/ /* Data Counter */ typedef struct { UBYTE c_id; ULONG octets_uplink; /* No. of bytes transferred in uplink */ ULONG octets_downlink; /* No. of bytes transferred in downlink */ ULONG packets_uplink; /* No. of packets transferred in uplink */ ULONG packets_downlink; /* No. of packets transferred in uplink */ } T_MFW_GPRS_COUNTER; /* Structure to store cell reselection information. */ typedef struct { T_CGREG_STAT stat; USHORT lac; USHORT ci; } T_MFW_GPRS_CELL_STRUCT; typedef struct { T_P_CGREG_STAT stat; USHORT lac; USHORT ci; } T_MFW_GPRS_CELL_STRUCT_P; typedef struct { #ifdef FF_2TO1_PS U8 id; /* context id */ T_PDP_CONTEXT_INTERNAL data; /* context data */ #else USHORT id; /* context id */ T_GPRS_CONT_REC data; /* context data */ #endif BOOL activated; /* context mode */ char *L2P; /* layer 2 protocol */ } T_MFW_GPRS_CONTEXT; typedef struct { USHORT *ids; /* context ids */ BOOL state; /* activation state */ } T_MFW_GPRS_CNTXT_ACT; typedef struct { USHORT *ids; /* context ids */ char *L2P; /* layer 2 protocol */ } T_MFW_GPRS_CNTXT_L2P; typedef struct { T_CGEREP_MODE mode; /* event reporting mode */ T_CGEREP_BFR bfr; /* effect control on buffered events */ } T_MFW_GPRS_EVENTREP; typedef struct { T_MFW_GPRS_CONTEXT *contexts; /* list of defined contexts */ USHORT numContexts; /* number of defined contexts */ T_CGATT_STATE attached; /* Now T_CGATT_STATE instead of BOOL*/ BOOL autoResponse; /* auto response mode */ T_MFW_GPRS_EVENTREP eventRep; /* event reporting */ T_CGCLASS_CLASS tclass; /* GPRS class mode */ //x0035544 Feb 23, 2006 DR:OMAPS00068976 union { T_CGREG_STAT regState; /* network registration state */ T_P_CGREG_STAT p_reg_State;/* present network registration state */ }Reg_state; T_CGSMS_SERVICE SMSService; /* service to use for SMS */ USHORT link_id; /* link identifier for data transfer */ T_MFW_GPRS_COUNTER counter; /* Data uplink/downlink counter */ USHORT lac; /* Location area code */ USHORT ci; /* Cell id */ } T_MFW_GPRS_DATA; typedef union { SHORT cID; T_MFW_GPRS_CONTEXT context; T_MFW_GPRS_CNTXT_ACT contextAct; T_MFW_GPRS_CNTXT_L2P contextL2P; BOOL mode; T_CGATT_STATE attached; /* Now T_CGATT_STATE instead of BOOL*/ T_CGCLASS_CLASS tclass; T_MFW_GPRS_EVENTREP eventRep; T_EVENT_REJECT erepReject; T_EVENT_ACT erepAct; T_MFW_GPRS_CELL_STRUCT cell; /* Cell reselection data */ T_CGSMS_SERVICE service; USHORT link_id; T_ACI_AT_CMD cmdId; T_MFW_GPRS_COUNTER counter; /* Data uplink/downlink counter */ } T_MFW_GPRS_PARA; /* MFW Control Block for GPRS --------------------------------------*/ typedef struct { T_MFW_EVENT emask; /* events of interest */ T_MFW_EVENT event; /* current event */ T_MFW_CB handler; /* callback handler */ T_MFW_GPRS_DATA data; /* GPRS data */ } T_MFW_GPRS; /* MFW internal functions ------------------------------------------*/ void gprs_init ( void ); void gprs_exit ( void ); T_MFW_HND gprs_create ( T_MFW_HND hWin, T_MFW_EVENT event, T_MFW_CB cbfunc ); T_MFW_RES gprs_delete ( T_MFW_HND h ); int gprsCommand ( U32 cmd, void *h ); void gprs_signal ( T_MFW_EVENT event, void *para ); void gprs_ok(T_ACI_AT_CMD cmdId); void gprs_error(T_ACI_AT_CMD cmdId, T_ACI_CME_ERR err); void gprs_connect(SHORT cId); void gprs_err_connect(SHORT cId); /* MMI-MFW Interface Functions -------------------------------------*/ #ifndef FF_2TO1_PS T_MFW_RES gprs_definePDPContext ( SHORT cid, T_GPRS_CONT_REC *inputCtxt ); T_MFW_RES gprs_setQOS ( SHORT cid , T_QOS *inputQos ); T_MFW_RES gprs_setQOSMin ( SHORT cid , T_QOS *inputQos); T_MFW_RES gprs_attach ( T_CGATT_STATE state); /* SPR#1983 - SH - Added function to cancel CGATT command */ T_MFW_RES gprs_attach_abort(void); T_MFW_RES gprs_contextActivation( T_CGACT_STATE state, SHORT *cids); T_MFW_RES gprs_setData ( char *L2P, SHORT *cids); T_MFW_RES gprs_showPDPAddress ( SHORT *cids, T_PDP_ADDRESS *pdp_address); #else T_MFW_RES gprs_definePDPContext ( SHORT cid, T_PDP_CONTEXT *inputCtxt ); T_MFW_RES gprs_setQOS ( SHORT cid , T_PS_qos *inputQos ); T_MFW_RES gprs_setQOSMin ( SHORT cid , T_PS_qos *inputQos); T_MFW_RES gprs_attach ( T_CGATT_STATE state); /* SPR#1983 - SH - Added function to cancel CGATT command */ T_MFW_RES gprs_attach_abort(void); T_MFW_RES gprs_contextActivation( T_CGACT_STATE state, SHORT *cids); T_MFW_RES gprs_setData ( char *L2P, SHORT *cids); T_MFW_RES gprs_showPDPAddress ( SHORT *cids, T_NAS_ip *pdp_address); #endif T_MFW_RES gprs_setAutoResponse ( T_CGAUTO_N mode); T_MFW_RES gprs_ManualResponse ( USHORT response, char *l2p, SHORT cid); T_MFW_RES gprs_setClass ( T_CGCLASS_CLASS m_class); T_MFW_RES gprs_setEventReporting( T_CGEREP_MODE mode, T_CGEREP_BFR bfr); T_MFW_RES gprs_setServiceSMS ( T_CGSMS_SERVICE service); T_CGSMS_SERVICE gprs_getServiceSMS(void); /* Interface for SNCNT command */ T_MFW_RES gprs_counter(BOOL reset_counter); /* SPR#1983 - SH - Added function to cancel SNCNT command */ T_MFW_RES gprs_counter_abort(void); T_CGREG_STAT gprs_status(void); //x0035544 Feb 23, 2006 DR:OMAPS00068976 /* Added function to querry and update the gprs status */ T_P_CGREG_STAT p_gprs_status(void); /* ACI callback functions ------------------------------------------*/ void rAT_PlusCGACT ( SHORT link_id ); /* link_id: Link identifier */ void rAT_PlusCGDATA ( SHORT link_id ); /* link_id: Link identifier */ void rAT_PlusCGANS ( SHORT link_id ); /* link_id: Link identifier */ void rAT_PlusCGEREP ( T_CGEREP_EVENT event, T_CGEREP_EVENT_REP_PARAM *param ); /* event : GPRS event param : event parameter */ void rAT_PercentCGEV ( T_CGEREP_EVENT event, T_CGEREP_EVENT_REP_PARAM *param ); /* event : GPRS event param : event parameter */ void rAT_PlusCGREG ( T_CGREG_STAT stat, USHORT lac, USHORT ci ); /* stat : indicates the current registration lac : two byte location area code ci : two byte cell ID */ // ADDED BY RAVI - ACI CHANGES - 5-10-2005 void rAT_PercentCGREG ( T_P_CGREG_STAT stat, USHORT lac, USHORT ci, BOOL bActiveContext ); // BOOL bActiveContext ); /* stat : indicates the current registration lac : two byte location area code ci : two byte cell ID bActiveContext : boolean: shows wether a PDP context is established or not*/ #ifdef FF_2TO1_PS void rAT_changedQOS ( U8 cid, T_PS_qos *qos ); /* cid : context id *qos : quality of service profile */ #else void rAT_changedQOS ( SHORT cid, T_QOS *qos ); /* cid : context id *qos : quality of service profile */ #endif // END ADDITION BY RAVI - 5-10-2005 GLOBAL void rAT_PercentSNCNT ( UBYTE c_id, ULONG octets_uplink, ULONG octets_downlink, ULONG packets_uplink, ULONG packets_downlink ); #endif