FreeCalypso > hg > freecalypso-citrine
diff g23m-aci/aci/cmh_cc.h @ 0:75a11d740a02
initial import of gsm-fw from freecalypso-sw rev 1033:5ab737ac3ad7
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 09 Jun 2016 00:02:41 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/g23m-aci/aci/cmh_cc.h Thu Jun 09 00:02:41 2016 +0000 @@ -0,0 +1,275 @@ +/* ++----------------------------------------------------------------------------- +| Project : GSM-PS (6147) +| Modul : CMH ++----------------------------------------------------------------------------- +| 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 command handler of Call Control ++----------------------------------------------------------------------------- +*/ + +#ifndef CMH_CC_H +#define CMH_CC_H + +/* #include "cmh.h" */ + + +/*==== CONSTANTS ==================================================*/ + +typedef enum +{ + NO_CHLD_ADD_INFO = 0, /* no additional CHLD info */ + CHLD_ADD_INFO_RTV_CAL, /* additional CHLD info, retrieve call */ + CHLD_ADD_INFO_ACC_CAL, /* additional CHLD info, accept call */ + CHLD_ADD_INFO_DIAL_CAL /* additional CHLD info, dial call */ +} T_CHLD_ADD_INFO; + +typedef enum +{ + NO_VLD_CC_SIM_QLF = 0, /* not a valid SIM CC qualifier */ + CC_SIM_YES, /* yes, perform SIM CC check */ + CC_SIM_NO /* no, do not perform SIM CC check */ +} T_CC_SIM_QLF; + +typedef enum +{ + TTY_STOP, /* stop TTY Service */ + TTY_PAUSE, /* pause TTY Service (call held/modified) */ + TTY_TCH, /* TCH assigned */ + TTY_START /* start TTY Service, if possible */ +} T_CC_TTY_ACTION; + +typedef enum +{ + NO_VLD_CC_CALL_TYPE = -1, + VOICE_CALL = 0 +#ifdef FAX_AND_DATA + , + TRANS_CALL, + NON_TRANS_CALL, + FAX_CALL, + UNSUP_DATA_CALL +#endif /* FAX_AND_DATA */ +#ifdef CO_UDP_IP + , + UDPIP_CALL +#endif /* CO_UDP_IP */ +#ifdef FF_PPP + , + PPP_CALL +#endif /* FF_PPP */ +#ifdef FF_GPF_TCPIP + , + TCPIP_CALL +#endif /* FF_GPF_TCPIP */ +} +T_CC_CALL_TYPE; + +/*==== TYPES ======================================================*/ + + +/*==== PROTOTYPES =================================================*/ + +/* + * PSA notification events + */ +EXTERN void cmhCC_CallConnected ( SHORT cId ); +EXTERN void cmhCC_CallDisconnected( SHORT cId ); +EXTERN void cmhCC_CallReleased ( SHORT cId ); +EXTERN void cmhCC_CPIReleaseMsg ( SHORT cId ); +EXTERN void cmhCC_CPIrejectMsg ( SHORT cId ); +EXTERN void cmhCC_CallProceeding ( SHORT cId ); +EXTERN void cmhCC_CallAlerted ( SHORT cId ); +EXTERN void cmhCC_CallModified ( SHORT cId ); +EXTERN void cmhCC_IncomingCall ( SHORT cId ); +/*EXTERN void cmhCC_DisconnectCall ( SHORT cId );*/ // HM 11-May-2005: Dead code +EXTERN void cmhCC_Synchronized ( SHORT cId ); +EXTERN void cmhCC_CallRetrieved ( SHORT cId ); +EXTERN void cmhCC_CallHeld ( SHORT cId ); +EXTERN void cmhCC_RA_Activated ( SHORT cId ); +EXTERN void cmhCC_RA_Deactivated ( SHORT cId ); +EXTERN void cmhCC_RA_Modified ( SHORT cId ); +EXTERN void cmhCC_L2R_Failed ( void ); +EXTERN void cmhCC_T30_Activated ( void ); +EXTERN void cmhCC_T30_Deactivated ( void ); +EXTERN void cmhCC_T30_Failed ( void ); +EXTERN void cmhCC_T30_RmtCaps ( void ); +EXTERN void cmhCC_SSTransFail ( SHORT cId ); + + +EXTERN void cmhCC_get_active_als_mode( T_ACI_CMD_SRC srcId, T_ACI_ALS_MOD *mode ); +EXTERN void cmhCC_init_cldPty ( T_CLPTY_PRM *cldPty ); +EXTERN BOOL cmhCC_SendDTMFdig ( T_ACI_AT_CMD cmd, SHORT cId, CHAR digit, UBYTE mode); +EXTERN SHORT cmhCC_find_call_for_DTMF( void ); +EXTERN BOOL is_call_ok_for_dtmf ( SHORT cId ); +EXTERN T_ACI_RETURN cmhCC_chkShortString ( T_ACI_CMD_SRC srcId, + SHORT cId, + T_CLPTY_PRM *cldPty); + +EXTERN void cmhCC_PrepareCmdEnd (SHORT cId, UBYTE *cmdBuf, UBYTE *srcBuf); + +EXTERN UBYTE cmhCC_set_speech_serv ( T_CC_CMD_PRM *pCCCmdPrm); + +#ifdef FAX_AND_DATA +EXTERN UBYTE cmhCC_SelCE ( T_ACI_CBST_CE ce ); +EXTERN UBYTE cmhCC_SelServ ( T_ACI_CBST_NAM name ); +EXTERN UBYTE cmhCC_SelRate ( T_ACI_BS_SPEED speed ); +EXTERN UBYTE cmhCC_SelMT ( T_ACI_BS_SPEED speed ); +EXTERN UBYTE cmhCC_SelTransferCap ( T_ACI_BS_SPEED speed ); +EXTERN UBYTE cmhCC_SelRateAdaption ( T_ACI_BS_SPEED speed); +EXTERN UBYTE cmhCC_SelStopBit ( T_ACI_CMD_SRC srcId ); +EXTERN UBYTE cmhCC_SelDataBit ( T_ACI_CMD_SRC srcId ); +EXTERN UBYTE cmhCC_SelParity ( T_ACI_CMD_SRC srcId ); +#endif /* FAX_AND_DATA */ +EXTERN SHORT cmhCC_GetCallType_from_bearer( void * bearCap ); +#ifdef FAX_AND_DATA +EXTERN SHORT cmhCC_GetSrvType ( void * bearCap ); +EXTERN SHORT cmhCC_GetDataRate ( void * bearCap ); +EXTERN SHORT cmhCC_GetParity ( void * bearCap ); +EXTERN SHORT cmhCC_GetFormat ( void * bearCap ); +#endif /* FAX_AND_DATA */ +EXTERN T_ACI_CLASS cmhCC_GetCallClass ( SHORT cId ); +EXTERN T_ACI_TOA* cmhCC_ctbGetCldNumTyp ( SHORT cId, + T_ACI_TOA * pToaBuf ); +EXTERN T_ACI_TOS* cmhCC_ctbGetCldSubTyp ( SHORT cId, + T_ACI_TOS * pTosBuf ); +EXTERN T_ACI_TOA* cmhCC_ctbGetClrNumTyp ( SHORT cId, + T_ACI_TOA * pToaBuf ); +EXTERN T_ACI_TOS* cmhCC_ctbGetClrSubTyp ( SHORT cId, + T_ACI_TOS * pTosBuf ); +EXTERN T_ACI_TOA* cmhCC_ctbGetRdrNumTyp ( SHORT cId, + T_ACI_TOA * pToaBuf ); +EXTERN T_ACI_TOS* cmhCC_ctbGetRdrSubTyp ( SHORT cId, + T_ACI_TOS * pTosBuf ); +EXTERN void cmhCC_SndDiscRsn ( SHORT cId ); +EXTERN BOOL cmhCC_ChckInCallMdfy ( SHORT cId, UBYTE cmd ); +EXTERN void cmhCC_flagCall ( SHORT cId, + USHORT * flags ); +EXTERN BOOL cmhCC_tstAndUnflagCall( SHORT cId, + USHORT * flags ); +EXTERN void cmhCC_ClearCall ( SHORT cId, + USHORT cs, + T_ACI_CMD_SRC srcId, + UBYTE cmd, + SHORT *waitId); +EXTERN void cmhCC_NewCall ( SHORT cId, + T_ACI_CMD_SRC srcId, + T_ACI_AT_CMD cmd ); +EXTERN void cmhCC_RetrieveCall ( SHORT cId, + T_ACI_CMD_SRC srcId ); +EXTERN void cmhCC_AcceptCall ( SHORT cId, + T_ACI_CMD_SRC srcId, + T_ACI_AT_CMD cmd ); +EXTERN void cmhCC_HoldCall ( SHORT cId, + T_ACI_CMD_SRC srcId, + T_ACI_AT_CMD cmd ); +EXTERN BOOL cmhCC_atdsendok ( SHORT cId ); + +EXTERN void send_CSSX_notification(SHORT ctbIdx, + T_ACI_CSSX_CODE cssx_code, + SHORT index, + CHAR *number, + T_ACI_TOA *toa, + CHAR *subaddr, + T_ACI_TOS *tos); + +EXTERN void cmhrat_ccbs ( UBYTE srcId, + T_ACI_CCBS_IND ccbs_ind, + T_ACI_CCBS_STAT status, + T_ACI_CCBS_SET *setting ); +EXTERN T_CC_CALL_TYPE cmhCC_getcalltype ( SHORT cId ); +EXTERN void cmhCC_NotifySS ( SHORT cId, + T_NOTIFY_SS_INV *ntfySS ); +EXTERN void cmhCC_CheckSS ( SHORT cId ); +EXTERN void cmhCC_MPTYBuild ( SHORT cId, + T_BUILD_MPTY_RES *bldMPTY ); +EXTERN void cmhCC_MPTYSplit ( SHORT cId, + T_SPLIT_MPTY_RES *splMPTY ); +EXTERN void cmhCC_MPTYHeld ( SHORT cId, + T_HOLD_MPTY_RES *hldMPTY ); +EXTERN void cmhCC_MPTYRetrieved ( SHORT cId, + T_RETRIEVE_MPTY_RES *rtvMPTY ); +EXTERN void cmhCC_MPTYTimeout ( void ); +EXTERN void cmhCC_ECTTimeout ( void ); +EXTERN void cmhCC_CCBSRegistered ( SHORT cId, + T_ACC_REGISTER_CC_ENTRY_RES *CCBSreg ); +EXTERN void cmhCC_CDRegistered ( SHORT cId ); +EXTERN T_ACI_RETURN cmhCC_chkKeySeq ( T_ACI_CMD_SRC srcId, + T_CLPTY_PRM *cldPty, + T_ACI_D_TOC *callType, + T_ACI_D_CLIR_OVRD *CLIRovrd, + T_CC_SIM_QLF ccSIMQlf ); +EXTERN T_ACI_RETURN cmhCC_Dial ( T_ACI_CMD_SRC srcId, + T_CLPTY_PRM * cldPty, + T_ACI_D_CLIR_OVRD clirOvrd, + T_ACI_D_CUG_CTRL cugCtrl, + T_ACI_D_TOC callType ); +EXTERN T_ACI_RETURN cmhCC_fillSetupPrm ( SHORT cId, + T_ACI_CMD_SRC srcId, + T_CLPTY_PRM *cldPty, + T_MNCC_bcpara *bc, + UBYTE prio, + T_ACI_D_CLIR_OVRD clirOvrd, + T_ACI_D_CUG_CTRL cugCtrl, + T_ACI_D_TOC callType ); +EXTERN void cmhCC_chkDTMFDig ( CHAR *num, + SHORT cId, + USHORT length, + BOOL within_dial_string ); +EXTERN void cmhCC_DTMFsent ( SHORT cId ); +EXTERN void cmhCC_DTMFstopped ( SHORT cId ); +EXTERN BOOL is_digit_dtmf_separator(CHAR digit); +#ifdef FF_TTY +EXTERN T_ACI_CTTY_TRX cmhCC_getTTYtrx_state (int ttyTrxState); +EXTERN void cmhCC_notifyTTY ( T_ACI_CTTY_NEG neg, + T_ACI_CTTY_TRX trx ); +EXTERN void cmhCC_TTY_Control ( SHORT cId, UBYTE action ); +#else +#define cmhCC_TTY_Control(_x_,_y_) +#endif + +EXTERN void cmhCC_ChngWaitingToIncoming ( void ); +EXTERN void cmhCC_checkALS_Support ( ); +EXTERN void cmhCC_checkALS_Support_cb ( SHORT aId ); +EXTERN void cmhCC_checkALS_Support_2 ( ); +EXTERN void cmhCC_checkALS_Support_cb_2 ( SHORT aId ); +GLOBAL void cmhCC_checkALS_Support_exec ( UBYTE flag ); + +EXTERN T_ACI_RETURN cmhCC_sendFie( T_ACI_FAC_DIR tDirection, + SHORT cId, + T_MNCC_fac_inf *fie ); +#if defined(_TARGET_) +EXTERN T_ACI_RETURN cmhCC_rd_mode_FFS(T_ACI_CC_REDIAL_MODE rdl_mode, + T_ACI_CC_RDL_FFS ffs_mode); +#endif /* _TARGET_ */ +EXTERN void cmhCC_redialTimeout ( void ); +EXTERN void cmhCC_satTimeout (void ); +EXTERN void cmhCC_redialCheck(SHORT cId); +EXTERN T_ACI_RETURN cmhCC_redialChkBlackl(SHORT cId); +EXTERN void cmhCC_CheckRedialTimer( BOOL sim_toolkit_enable ); +/*==== EXPORT =====================================================*/ + +#ifdef CMH_CCF_C + +GLOBAL T_CHLD_ADD_INFO CHLDaddInfo; +GLOBAL T_ACI_CC_REDIAL_PAR rdlPrm; +#else + +EXTERN T_CHLD_ADD_INFO CHLDaddInfo; +EXTERN T_ACI_CC_REDIAL_PAR rdlPrm; +#endif /* CMH_CCF_C */ + + +#endif /* CMH_CC_H */ + +/*==== EOF =======================================================*/