📄 mfw_gprs.h
字号:
/*+--------------------------------------------------------------------+| 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. 15/05/2003 - SPR#1983 - SH - Updated to latest from 1.6.3 version.*/#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 { USHORT id; /* context id */ T_GPRS_CONT_REC data; /* context data */ 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 */ T_CGREG_STAT regState; /* network registration 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 -------------------------------------*/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);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);/* 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_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 */void rAT_changedQOS ( SHORT cid, T_QOS *qos ); /* cid : context id *qos : quality of service profile */GLOBAL void rAT_PercentSNCNT ( UBYTE c_id, ULONG octets_uplink, ULONG octets_downlink, ULONG packets_uplink, ULONG packets_downlink );#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -