📄 aca.h
字号:
/*
+-----------------------------------------------------------------------------
| Project : GSM-F&D (8411)
| Modul : ACA
+-----------------------------------------------------------------------------
| 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 : Definitions for the ACI adapter.
+-----------------------------------------------------------------------------
*/
#ifndef ACA_H
#define ACA_H
/*==== CONSTANTS ==================================================*/
#define MAX_KEYSEQ_SIZE (MAX_SM_LEN + 10) /* must be equal to */
/* MAX_INPUT_SIZE */
/*
*-------------------------------------------------------------------
* service types (substate) of the MMI
*-------------------------------------------------------------------
*/
#define SRV_NONE 0 /* out of service */
#define SRV_LIMITED 1 /* limited service (registered but no */
/* SIM or SIM but no authentification) */
#define SRV_NORMAL 2 /* normal service: SIM inserted and */
/* authorized */
/*
*-------------------------------------------------------------------
* States of the Man Machine Interface
*-------------------------------------------------------------------
*/
#define MMI_OFF 0
#define MMI_ON 1
#define MMI_WAIT_FOR_PIN 2
#define MMI_WAIT_FOR_PUK 3
#define MMI_IDLE 4
#define MMI_WAIT_FOR_REG 5
#define MMI_WAIT_FOR_DEREG 6
/*
*-------------------------------------------------------------------
* signals send from UI->ACA
*-------------------------------------------------------------------
*/
#define ACA_SIG_POWER_ON 0
#define ACA_SIG_POWER_OFF 1
#define ACA_SIG_PININPUT 2
#define ACA_SIG_PUKINPUT 3
#define ACA_SIG_BATLEV_REQ 5
#define ACA_SIG_KEYSEQUENCE 7
#define ACA_SIG_DIAL_NUMBER 8
#define ACA_SIG_RELEASE 9
#define ACA_SIG_ACCEPT 10
#define ACA_SIG_REGISTER 11
#define ACA_SIG_SEND_DTMF 12
#define ACA_SIG_VOLUME 13
/*
*-------------------------------------------------------------------
* signals send from UI->SMS
*-------------------------------------------------------------------
*/
#define SMS_SIG_START_LIST_VIEW 0
#define SMS_SIG_NEXT_LIST_VIEW 1
#define SMS_SIG_PREV_LIST_VIEW 2
#define SMS_SIG_START_MSG_VIEW 3
#define SMS_SIG_DELETE 4
#define SMS_SIG_WRITE 5
#define SMS_SIG_SUBMIT 6
#define SMS_SIG_SUBMIT_FROM_MEM 7
#define SMS_SIG_READ_SINGLE 8
/*==== TYPES ======================================================*/
typedef enum
{
SS_RSLT_FAIL = 0, /* SS request failed with unspecific error */
SS_RSLT_OK = 1, /* SS request passed with unspecific effect */
SS_RSLT_NET = 2, /* SS is provisioned acc. to the network */
SS_RSLT_ACT = 3, /* SS is activated */
SS_RSLT_DEACT = 4, /* SS is deactivated */
SS_RSLT_REG = 5, /* SS is registered */
SS_RSLT_ERASE = 6, /* SS is erased */
SS_RSLT_INVOC = 7, /* SS is invoked */
SS_RSLT_SUPP = 8, /* SS is suppressed */
SS_RSLT_LOCK = 9, /* SS is locked */
SS_RSLT_UNLOCK = 10 /* SS is unlocked */
}
T_SS_ACA_RSLT;
typedef enum /* used to indicate source callback function */
{
NO_CARRIER, /* rAT_NO_CARRIER () */
BUSY, /* rAT_BUSY () */
NO_ANSWER /* rAT_NO_ANSWER () */
}
T_MMI_RCB_ID;
typedef enum /* used to indicate the input procedure */
{ /* which will be presented to the user */
SMS_PROC_SEND,
SMS_PROC_SEND_FROM_MEM,
SMS_PROC_WRITE,
SMS_PROC_DELETE,
SMS_PROC_READ,
SMS_PROC_LIST,
SMS_PROC_READ_SINGLE
}
T_ACA_SMS_PROC;
typedef enum
{
SMS_TYP_SM, /* used to indicate a short message */
SMS_TYP_CBM /* used to indicate a cell broadcast message */
}
T_ACA_SMS_TYP;
typedef enum
{
RSN_INTRGT, /* interrogation is in progress */
RSN_CHANGE, /* change of SS settings is in progress */
RSN_NONE /* none of all */
}
T_ACA_RSN;
typedef struct
{
CHAR number[MAX_SMS_NUM_LEN];
T_ACI_TOA type;
}
T_ACA_NUMBER;
typedef struct
{
UBYTE state;
UBYTE serviceType;
}
T_MMI_DATA;
typedef struct
{
CHAR keySeq[MAX_KEYSEQ_SIZE + 1];
CHAR* nextSeq;
CHAR* restSeq;
T_KSD_SEQGRP grp;
T_KSD_SEQPARAM param;
T_ACI_RETURN atReturn;
}
T_KEYSEQ_HND;
/*==== PROTOTYPES SS ==============================================*/
EXTERN void ss_initialize (BOOL isStartup);
EXTERN T_ACI_RETURN ss_changeClip (T_KSD_CLIP *Clip);
EXTERN T_ACI_RETURN ss_intrgtClip (void);
EXTERN T_ACI_RETURN ss_changeClir (T_KSD_CLIR *Clir);
EXTERN T_ACI_RETURN ss_intrgtClir (void);
EXTERN T_ACI_RETURN ss_changeColp (T_KSD_COLP *Colp);
EXTERN T_ACI_RETURN ss_intrgtColp (void);
EXTERN T_ACI_RETURN ss_changeCf (CHAR *seq,
T_ACI_KSD_CF_PRM *prm);
EXTERN void ss_CcfcCnf (T_ACI_AT_CMD cmdId);
EXTERN void ss_CcfcRej (T_ACI_AT_CMD cmdId,
T_ACI_CME_ERR err);
EXTERN T_ACI_RETURN ss_changeCb (CHAR *seq,
T_ACI_KSD_CB_PRM *prm);
EXTERN void ss_ClckCnf (T_ACI_AT_CMD cmdId);
EXTERN void ss_ClckRej (T_ACI_AT_CMD cmdId,
T_ACI_CME_ERR err);
EXTERN T_ACI_RETURN ss_changeCw (CHAR *seq,
T_ACI_KSD_CW_PRM *prm);
EXTERN void ss_CcwaCnf (T_ACI_AT_CMD cmdId);
EXTERN void ss_CcwaRej (T_ACI_AT_CMD cmdId,
T_ACI_CME_ERR err);
/*==== PROTOTYPES REG =============================================*/
EXTERN void reg_initialize (BOOL isStartup);
EXTERN void reg_CopsRej (T_ACI_AT_CMD cmdId,
T_ACI_CME_ERR err);
EXTERN void reg_CopsCnf (T_ACI_AT_CMD cmdId);
EXTERN T_ACI_RETURN reg_changeReg (void);
EXTERN T_ACI_RETURN reg_setReg (T_KSD_COPS *cops);
EXTERN T_ACI_RETURN reg_startReg ();
EXTERN T_ACI_RETURN reg_powerOn (void);
EXTERN T_ACI_RETURN reg_powerOff (void);
EXTERN void reg_CfunRej (T_ACI_AT_CMD cmdId,
T_ACI_CME_ERR err);
EXTERN void reg_CfunCnf (T_ACI_AT_CMD cmdId);
EXTERN void reg_setOperName (CHAR* oper);
EXTERN void reg_pinState (BOOL cnf, BOOL need);
/*==== PROTOTYPES SMS =============================================*/
EXTERN void sms_initialize (BOOL isStartup);
EXTERN T_ACI_RETURN sms_startInputProc (T_ACA_SMS_PROC proc);
EXTERN void sms_signal (UBYTE sigCode, ...);
EXTERN void sms_CmgdCnf (T_ACI_AT_CMD cmdId);
EXTERN void sms_setSca (CHAR* inSca);
EXTERN void sms_setDa (CHAR* inDa);
EXTERN void sms_setMsg (CHAR* inMsg);
EXTERN void sms_setVp (SHORT inVp);
EXTERN void sms_getSca (CHAR*);
EXTERN void sms_getDa (CHAR*);
EXTERN void sms_getMsg (CHAR*);
EXTERN SHORT sms_getVp (void);
/*==== PROTOTYPES ACA =============================================*/
EXTERN void aca_init (BOOL isStartup);
EXTERN void aca_signal (UBYTE sigCode,
...);
EXTERN void aca_keySeqInd (CHAR* inSeq,
T_KEYSEQ_HND* hnd);
EXTERN void aca_keySeqHndInit (T_KEYSEQ_HND* hnd);
EXTERN void aca_cvtNumber (CHAR* inNumber,
T_ACA_NUMBER* outNumber);
EXTERN void aca_recvtNumber (T_ACA_NUMBER* inNumber,
CHAR* outNumber);
EXTERN T_ACI_RETURN aca_setupVolume (UBYTE audioIn,
UBYTE audioOut);
EXTERN BOOL aca_setAbrtCmd (T_ACI_AT_CMD cmd);
/*==== PROTOTYPES SEC =============================================*/
EXTERN void sec_initialize (BOOL isStartup);
EXTERN void sec_pinEntered (CHAR* input);
EXTERN void sec_pukEntered (CHAR* puk,
CHAR* npin1,
CHAR* npin2);
EXTERN void sec_CpinRej (T_ACI_AT_CMD cmdId,
T_ACI_CME_ERR err);
EXTERN void sec_CpinCnf (T_ACI_AT_CMD cmdId);
EXTERN T_ACI_RETURN sec_regPasswd (CHAR *seq,
T_ACI_KSD_PWD_PRM *prm);
EXTERN void sec_CpwdCnf (T_ACI_AT_CMD cmdId);
EXTERN void sec_CpwdRej (T_ACI_AT_CMD cmdId,
T_ACI_CME_ERR err);
/*==== PROTOTYPES CAL =============================================*/
EXTERN void cal_initialize (BOOL isStartup);
EXTERN T_ACI_RETURN cal_setupCall (T_KSD_DIAL *dial);
EXTERN T_ACI_RETURN cal_setupUssd (T_KSD_DIAL *ussd);
EXTERN T_ACI_RETURN cal_releaseCall (void);
EXTERN T_ACI_RETURN cal_acceptCall (void);
EXTERN T_ACI_RETURN cal_changeCall (T_KSD_CHLD *chld);
GLOBAL T_ACI_RETURN cal_invokeCTFR (T_KSD_CTFR *ctfr);
EXTERN T_ACI_RETURN cal_showCallTable (void);
EXTERN T_ACI_RETURN cal_setCbst (T_KSD_CBST *bst);
EXTERN T_ACI_RETURN cal_setCrlp (T_KSD_CRLP *crlp);
EXTERN T_ACI_RETURN cal_setDs (T_KSD_DS *ds);
EXTERN void cal_DCnf (T_ACI_AT_CMD cmdId);
EXTERN void cal_DRejWhilePlusCME (T_ACI_AT_CMD cmdId,
T_ACI_CME_ERR err);
EXTERN void cal_HCnf (T_ACI_AT_CMD cmdId);
EXTERN void cal_HRejWhilePlusCME (T_ACI_AT_CMD cmdId,
T_ACI_CME_ERR err);
EXTERN void cal_ACnf (T_ACI_AT_CMD cmdId);
EXTERN void cal_ARejWhilePlusCME (T_ACI_AT_CMD cmdId,
T_ACI_CME_ERR err);
EXTERN void cal_ChldCtfrCnf (T_ACI_AT_CMD cmdId);
EXTERN void cal_ChldCtfrRej (T_ACI_AT_CMD cmdId,
T_ACI_CME_ERR err);
EXTERN void cal_VtsCnf (T_ACI_AT_CMD cmdId);
EXTERN void cal_VtsRej (T_ACI_AT_CMD cmdId,
T_ACI_CME_ERR err);
EXTERN BOOL cal_isWithinCall (void);
#if 0 /* Code disabled as it may not be needed anymore */
EXTERN BOOL cal_isCallActive (void);
#endif
EXTERN BOOL cal_isDTMFPossible (void);
EXTERN BOOL cal_isCallWaiting (void);
EXTERN BOOL cal_isFirstCallWait (void);
EXTERN BOOL cal_isNoCall (void);
EXTERN void cal_setAbbrDial (BYTE index,
CHAR *number);
EXTERN CHAR* cal_getAbbrDial (UBYTE index);
EXTERN T_ACI_RETURN cal_sendDtmf (CHAR dtmf, BOOL pressed);
EXTERN void cal_sendAudioToneReq (UBYTE callTone,
UBYTE volume,
UBYTE toneStat);
/*==== EXPORT =====================================================*/
EXTERN T_MMI_DATA *mmi_data;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -