⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mfw_cm.h

📁 是一个手机功能的模拟程序
💻 H
📖 第 1 页 / 共 2 页
字号:
{
  Linear,
  Circular
} T_MFW_CM_RI;

typedef enum  /* SS notification result code */
{
    MFW_CM_NOTIFY_UNKNOWN,
    MFW_CM_HOLD,         /* call has been put on hold      */
    MFW_CM_RETRIEVED     /* call has been retrieved        */
} T_MFW_CM_NOTIFY_CODES;

typedef enum   /* connection element */
{
  MFW_MPTY_NotPresent = -1,
  MFW_NO_MTPY_MEMBER,
  MFW_MTPY_MEMBER
} T_MFW_MTPY_MEMBER;

typedef UBYTE T_CM_CLI;

typedef struct
{
  SHORT  call_number;
  UBYTE  cause;
} T_MFW_CM_DISCONNECT;
/* glowing,2004-06-10, import from TCS2112 */
typedef struct
{
  UBYTE result;
  UBYTE cause;
} T_MFW_CM_DISCONNECT_ALL;
/* glowig,2004-06-10, end of import */

typedef struct
{
  UBYTE rate;                   /* used baud rate       */
  UBYTE bearer_serv;            /* used bearer service  */
  UBYTE conn_elem;              /* used connect_element */
  UBYTE stop_bits;              /* used stop bits       */
  UBYTE data_bits;              /* used data bits       */
  UBYTE parity;                 /* used parity          */
  UBYTE flow_control;           /* used flow control    */
} T_MFW_CM_BC_PARA;


#ifdef NO_ASCIIZ 
typedef struct {
  SHORT             call_id;                   /* call identify        */
  UBYTE             number[MFW_NUM_LEN];       /* call number          */
  UBYTE             ton;                       /* type of number       */
  UBYTE             type;                 
  T_MFW_PHB_TEXT    name;                      /* alpha identfier      */
  UBYTE             subaddr[MFW_SUBADR_LEN];   /* subaddress           */
} T_MFW_CM_MO_INFO; /* type definition for E_CM_COLP event */
#else
typedef struct {
  SHORT             call_id;                   /* call identify        */
  UBYTE             number[MFW_NUM_LEN];       /* call number          */
  UBYTE             ton;                       /* type of number       */
  UBYTE             type;                
  UBYTE             name[MFW_TAG_LEN];         /* alpha identfier      */
  UBYTE             subaddr[MFW_SUBADR_LEN];   /* subaddress           */
} T_MFW_CM_MO_INFO; /* type definition for E_CM_COLP event */
#endif




typedef struct {
  UBYTE             result;                    /* result of operation  */
  SHORT             call_number;               /* call index           */
  UBYTE             number[MFW_NUM_LEN];       /* call number          */
  UBYTE             ton;                       /* type of number       */
  T_MFW_CM_CALL_TYPE  type;                      /* type of this call    */
#ifdef NO_ASCIIZ  
  T_MFW_PHB_TEXT    name;                      /* alpha identfier      */
#else
  UBYTE             name[MFW_TAG_LEN];         /* alpha identfier      */
#endif
  UBYTE             subaddr[MFW_SUBADR_LEN];   /* subaddress           */
  UBYTE             ri;                        /* repeat indicator     */
  T_MFW_CM_BC_PARA  bc1;                       /* bearer parameter 1   */
  T_MFW_CM_BC_PARA  bc2;                       /* bearer parameter 2   */
} T_MFW_CM_CW_INFO; /* type definition for E_CM_CW (indicator a new incomming call) event */

/*glowing,2004-06-10, import from TCS2112 */
/* Marcus: CCBS: 14/11/2002: Start */
/* Type definitions for E_CM_CCBS events */
typedef enum
{
    CM_CCBS_NONE,                   /* Used to indicate no CCBS operation in progress */
    CM_CCBS_DELETE_ALL,             /* Response to cm_ccbs_delete_all */
    CM_CCBS_DELETE,                 /* Response to cm_ccbs_delete */
    CM_CCBS_LIST,                   /* Response to cm_ccbs_list */
    CM_CCBS_ACCEPT_REGISTRATION,    /* Response to cm_ccbs_accept_registration */
    CM_CCBS_REJECT_REGISTRATION,    /* Response to cm_ccbs_reject_registration */
    CM_CCBS_ACCEPT_RECALL,          /* Response to cm_ccbs_accept_recall */
    CM_CCBS_REJECT_RECALL,          /* Response to cm_ccbs_reject_recall */
    CM_CCBS_ASYNC                   /* An asynchronous event not related to an operation */
} T_MFW_CM_CCBS_OP; /* Type definition for the operation associated E_CM_CCBS event */

typedef enum
{
    CM_CCBS_INFO,                   /* rAT_PercentCCBS information */
    CM_CCBS_OK,                     /* OK completion of a CCBS operation */
    CM_CCBS_ERROR                   /* ERROR completion of a CCBS operation */
} T_MFW_CM_CCBS_TYPE;   /* Type definition for the type of E_CM_CCBS event */

typedef struct
{
    T_MFW_CM_CCBS_OP    operation;  /* CCBS operation in progress */
    T_MFW_CM_CCBS_TYPE  type;       /* type of E_CM_CCBS event */
    T_ACI_CCBS_IND      indct;      /* Type of CM_CCBS_INFO indication */
    T_ACI_CCBS_STAT     status;     /* Status of CM_CCBS_INFO indication */
    SHORT               idx;        /* Index to specific CCBS (1..5), else 0 */
    UBYTE               number[MFW_NUM_LEN];       /* call number          */
    UBYTE               ton;                       /* type of number       */
    T_MFW_CM_CALL_TYPE  call_type;                 /* type of this call    */
    UBYTE               subaddr[MFW_SUBADR_LEN];   /* subaddress           */
    T_ACI_ALRT_PTRN     alrtPtn;                   /* Alerting pattern     */
} T_MFW_CM_CCBS_INFO; /* type definition for E_CM_CCBS event */
/* Marcus: CCBS: 14/11/2002: End */
/*glowing,2004-06-10, end of import */
typedef struct
{
  SHORT  call_number;           /* number of call      */
  UBYTE  command;               /* requested command   */
  UBYTE  result;                /* result of operation */
} T_MFW_CM_COMMAND; /* type definition for E_CM_COMMAND (ss command) event */

// PATCH TB Add 10 to acm_puct & acm_puct avoid buffer override
typedef struct
{
  UBYTE       requested_type;       /* requested type                             */
  LONG        actual_call_timer;    /* time of actual call                        */
//  LONG        total_call_timer;     /* time of all calls                        */
  LONG        ccm;                  /* current call meter                         */
  UBYTE       ccm_puct[MAX_LEN+10];    /* current call meter using PUCT              */
  LONG        acm;                  /* accumulated call meter                     */
  UBYTE       acm_puct[MAX_LEN+10];    /* accumulated call meter using PUCT          */
  LONG        acm_max;              /* accumulated call meter maximum PUCT        */
  UBYTE       cur[MAX_CURRENCY];    /* currency table                             */
  ULONG       eppu;                 /* elementary price per unit                  */
  ULONG       exp;                  /* decimal logarithm                          */
  ULONG       sexp;                 /* sign of decimal logarithm                  */
  UBYTE       ppu[MAX_LEN];         /* price per unit                             */
} T_MFW_CM_AOC_INFO;  /* type definition for E_CM_AOC event. */

typedef struct
{
  UBYTE              requested_type; 
  T_MFW_AOC_CNF_RES  result;  
} T_MFW_CM_AOC_CNF; /* type definition for E_CM_AOC_CONF event */

typedef struct
{
  UBYTE       redial_mode;              /* redial mode                 */
  SHORT       call_id;                  /* call identify               */
  UBYTE       number[MFW_NUM_LEN];      /* called number               */
  UBYTE       ton;                      /* type of number       */
  UBYTE       type;
#ifdef NO_ASCIIZ  
  T_MFW_PHB_TEXT name;                  /* alpha identfier      */
#else
  UBYTE       name[MFW_TAG_LEN];        /* alpha identfier             */
#endif
  UBYTE       subaddr[MFW_SUBADR_LEN];  /* subaddress                  */
  UBYTE       left_attempts;            /* redialing left attempts     */
} T_MFW_CM_REDIAL;   /* type definition for E_CM_REDIAL event. */

/* Call status information */
typedef struct
{
  SHORT               call_number;
  UBYTE               stat;                 /* T_MFW_CM_CALL_STAT   */
  UBYTE               number[MFW_NUM_LEN];  /* called number        */
  UBYTE               ton;                  /* type of number       */
  T_MFW_CM_CALL_TYPE  type;                 /* type of call         */
#ifdef NO_ASCIIZ  

  T_MFW_PHB_TEXT      name;                 /* alpha identfier      */
#else
  UBYTE               name[MFW_TAG_LEN];    /* alpha identfier      */
#endif
  T_MFW_MTPY_MEMBER   mtpy;
} T_MFW_CM_STATUS;

/* Notify message */
typedef struct
{
  SHORT                 call_number;
  T_MFW_CM_NOTIFY_CODES notification;
} T_MFW_CM_NOTIFY;

/* call progress information */
typedef struct
{
  SHORT          call_number;
  T_MFW_CPI_TYPE type;
  T_MFW_CPI_IBT  inband;
  T_MFW_CPI_TCH  tch;
} T_MFW_CM_CPI;

/* glowing,2004-06-10, import from TCS2112 */
/* SPR#1352 - SH - TTY information */

/* This structure passes TTY status to the MMI */
typedef struct
{
  UBYTE neg;	/* Status of TTY request - possible values below*/
} 
T_MFW_CM_CTYI;

/* Possible values from CTYI callback - indicates TTY status*/
enum
{
	CTYI_NONE,
	CTYI_REQUEST,
	CTYI_REJECT,
	CTYI_GRANT
};
/* end SH */
/*glowing,2004-06-10, end of import */
/*
 * CM Parameter
 */
typedef union
{
  T_MFW_CM_DISCONNECT disconnect;
  T_MFW_CM_DISCONNECT_ALL disconnect_all;  //glowing,2004-06-10, import from TCS2112
  T_MFW_CM_CW_INFO    cw_info;
  T_MFW_CM_COMMAND    command;
  T_MFW_CM_AOC_INFO   aoc_info;
  T_MFW_CM_REDIAL     rdl;
  T_MFW_CM_NOTIFY     notify;
  T_MFW_CM_CPI        cm_cpi;
  SHORT               call_id;
  T_MFW_CM_AOC_CNF    aoc_cnf;
  UBYTE               dtmf_tone;
// PATCH - add new parameter
  T_MFW_CM_MO_INFO	  mo_data;
/* glowing, 2004-06-10, import from TCS2112 */
  T_MFW_CM_CCBS_INFO  ccbs; // Marcus: CCBS: 14/11/2002
// END PATCH
/*MC, SPR 1392, added call deflection status param*/
  BOOL call_deflect_status;
  /* SPR#1352 - SH - Add parameter for TTY */
  T_MFW_CM_CTYI			ctyi;
  /* end SH*/
/* glowing,2004-06-10, end of import */
} T_MFW_CM_PARA;


EXTERN void      cm_init                  (void);
EXTERN T_MFW_HND cm_create                (T_MFW_HND          hWin,
                                           T_MFW_EVENT        event,
                                           T_MFW_CB           cbfunc);
EXTERN T_MFW_RES cm_delete                (T_MFW_HND h);
EXTERN T_MFW     cm_check_emergency       (UBYTE *number);
EXTERN T_MFW     cm_mo_call               (UBYTE             *number,
                                           T_MFW_CM_CALL_TYPE type);
EXTERN void      cm_mt_reject             (void);
EXTERN void      cm_mt_accept             (void);
EXTERN void      cm_end_all               (void);  //glowing,2004-06-10,import from TCS2112
EXTERN T_MFW     cm_disconnect            (SHORT              call_number);
EXTERN T_MFW     cm_command               (SHORT              call_number,
                                           UBYTE              command,
                                           UBYTE              crss_string);
EXTERN T_MFW     cm_get_aoc_value         (UBYTE              request_type,
                                           T_MFW_CM_AOC_INFO *aoc_info);
EXTERN T_MFW     cm_set_aoc_value         (UBYTE              request_type, 
                                           T_MFW_CM_AOC_INFO *aoc_info, 
                                           UBYTE             *pwd);
EXTERN void      cm_set_bc_para           (T_MFW_CM_BC_PARA * bc, UBYTE ti);
EXTERN void      cm_set_redial            (UBYTE redial_mode);
EXTERN void      cm_redial                (void);
EXTERN void      cm_autoredial_start      (void);
EXTERN void      cm_redial_abort          (void);
EXTERN UBYTE    cm_redial_get_count      (void);

EXTERN int       cm_status                (SHORT call_number, 
                                           T_MFW_CM_STATUS *status,
                                           UBYTE num);
EXTERN void      cm_exit                  (void);
EXTERN T_CM_CLI  cm_mo_prefix             (T_CM_CLI prefix);
EXTERN T_MFW     cm_get_redial_mode       (void);
EXTERN T_MFW     cm_command_abort         (UBYTE command);

/* glowing,2004-06-10, import from TCS2112 */
/*MC, SPR 1392*/
T_MFW cm_deflect_incoming_call(char* number);
void cm_ok_CTFR(void);
void cm_error_CTFR(void);
/* Marcus: CCBS: 13/11/2002: Start */
EXTERN T_MFW    cm_ccbs_delete_all(void);
EXTERN T_MFW    cm_ccbs_delete(SHORT idx);
EXTERN T_MFW    cm_ccbs_list(void);
EXTERN T_MFW    cm_ccbs_accept_registration(void);
EXTERN T_MFW    cm_ccbs_reject_registration(void);
EXTERN T_MFW    cm_ccbs_accept_recall(UBYTE *number, T_MFW_CM_CALL_TYPE type);
EXTERN T_MFW    cm_ccbs_reject_recall(void);
EXTERN void     cm_ccbs_ok(void);
EXTERN void     cm_ccbs_error(void);
/* Marcus: CCBS: 13/11/2002: End */

/* SPR#1985 - SH - TTY */
void cm_tty_enable(UBYTE enable);
void cm_tty_query(void);
/* glowing,2004-06-10, end of import */
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -