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

📄 csmcc_types.h

📁 最新MTK手机软件源码
💻 H
字号:
/*****************************************************************************
*  Copyright Statement:
*  --------------------
*  This software is protected by Copyright and the information contained
*  herein is confidential. The software may not be copied and the information
*  contained herein may not be used or disclosed except with the written
*  permission of MediaTek Inc. (C) 2005
*
*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
*
*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
*
*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
*
*****************************************************************************/

/*******************************************************************************
 * Filename:
 * ---------
 *	csmcc_types.h
 *
 * Project:
 * --------
 *   MAUI
 *
 * Description:
 * ------------
 *   This file is intends for type definition used in CSM(CC) module.
 *
 * Author:
 * -------
 * -------
 *
 *==============================================================================
 * 				HISTORY
 * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
 *------------------------------------------------------------------------------
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 *------------------------------------------------------------------------------
 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
 *==============================================================================
 *******************************************************************************/

/********************************************************************************
*  Copyright Statement:
*  --------------------
*
*  This product has been developed using a protocol stack
*  developed by Sasken Communication Technologies Limited.
*
********************************************************************************/


#ifndef _CSMCC_TYPES_H
#define _CSMCC_TYPES_H

typedef kal_uint16 csmcc_ret_t;

typedef enum
{
   CSMCC_CALL_FREE,
   CSMCC_CALL_BLK,
   CSMCC_CALL_UNUSED
} csmcc_call_alloc_enum;

typedef enum
{
   CSMCC_AUTO_DTMF,
   CSMCC_MANUAL_DTMF,
   CSMCC_VTS_DTMF,
   CSMCC_INVALID_DTMF_MODE = 255
} csmcc_dtmf_mode_enum;

typedef enum
{
   CSMCC_CALL_IDLE            = 0x0000, /*0*/
   CSMCC_CALL_INIT            = 0x0001, /*1*/
   CSMCC_CALL_ALERT           = 0x0002, /*2*/
   CSMCC_CALL_ACCEPT          = 0x0004, /*4*/
   CSMCC_CALL_ACTIVE          = 0x0008, /*8*/
   CSMCC_MS_CALL_DISC         = 0x0010, /*16*/
   CSMCC_NW_CALL_DISC         = 0x0020, /*32*/
   CSMCC_NW_CALL_DISC_ON_HOLD = 0x0040, /*64*/
   CSMCC_CALL_MODIFY          = 0x0080, /*128*/
   CSMCC_CALL_HOLD_REQ        = 0x0100, /*256*/
   CSMCC_CALL_HOLD            = 0x0200, /*512*/
   CSMCC_CALL_RETRIEVE_REQ    = 0x0400  /*1024*/
} csmcc_call_state_enum;

#define CSMCC_ALL_DISC_STATES (CSMCC_MS_CALL_DISC|   \
                               CSMCC_NW_CALL_DISC|   \
                               CSMCC_NW_CALL_DISC_ON_HOLD)   \

typedef enum
{
   CSMCC_CCBS_NONE,
   CSMCC_CCBS_POSSIBLE,
   CSMCC_CCBS_ACTIVATED,
   CSMCC_CCBS_INVOKED
} csmcc_ccbs_status_enum;

typedef enum
{
   CSMCC_MPTY_IDLE,
   CSMCC_MPTY_REQ,
   CSMCC_MPTY_ACTIVE,
   CSMCC_SPLIT_REQ
} csmcc_mpty_state_enum;

typedef struct csmcc_dtmf_struct
{
   kal_uint8          *digit;
   kal_uint8          cur_digit_index;
   kal_uint8          count;  
} csmcc_dtmf_struct;

typedef struct csmcc_inv_info_struct
{
   kal_bool           used;
   kal_uint32          inv_id;
   kal_uint8          opcode;
} csmcc_inv_info_struct;

typedef struct csmcc_cug_info_struct
{
   kal_uint16 cug_index;
   kal_uint8 cug_suppress;
} csmcc_cug_info_struct;

typedef struct csmcc_call_context_struct
{
   kal_uint8                   call_id;
   kal_uint8                   src_id;
   kal_uint8                   ti;
   kal_bool                    number_present;
   l4_addr_bcd_struct          number;
   kal_bool                    sub_addr_present;
   l4ccsm_cc_sub_addr_struct   sub_addr;
   csmcc_dtmf_mode_enum        dtmf_mode;
   kal_bool                    wait_stop_dtmf;
   csmcc_call_orig_enum        call_orig;   
   csmcc_dtmf_struct           dtmf;
   kal_bool                    cw_flag;                   
   kal_bool                    cug_info;
   kal_uint8                   clir_info;
   csmcc_call_priority_enum    call_priority;   
   csmcc_ccbs_status_enum      ccbs_status;
   kal_uint8                   ccbs_index;
   csmcc_mpty_state_enum       mpty_state;
   csmcc_call_mode_enum        call_mode;
   kal_uint8                   cur_call_type;
   csmcc_call_type_enum        bc[2];
   csmcc_call_state_enum       call_state;
   /* store previous state, when send or receive DISC */
   csmcc_call_state_enum       pre_call_state; 
   kal_uint32                  ccm;
   csmcc_inv_info_struct       inv_info;   

   /* the following variable is for:
      1. sending connect indication after data activation in case of MO data or fax call 
      2. sending incoming call indication after sending alerting request in case of 
         early assignment */
   local_para_struct                *local_para_ptr;
   #ifdef __SAT__
   kal_uint8   sat_call_type;
   #endif

} csmcc_call_context_struct;

typedef struct csmcc_v120_param_struct
{
   csmcc_v120_rah_enum          v120_rah;
   csmcc_v120_mfm_enum          v120_mfm;
   csmcc_v120_mode_enum         v120_mode;
   csmcc_v120_llineg_enum       v120_llineg;
   csmcc_v120_assign_enum       v120_assign;
   csmcc_v120_negtype_enum      v120_negtype;
} csmcc_v120_param_struct;

typedef struct csmcc_rlp_param_struct
{
   kal_uint8           rlp_iws;
   kal_uint8           rlp_mws;
   kal_uint8           rlp_T1;
   kal_uint8            rlp_N2;
   kal_uint8            rlp_ver;
   kal_uint8            rlp_T4;
} csmcc_rlp_param_struct;

typedef struct csmcc_data_compression_param_struct
{
   csmcc_data_compression_dir_enum         dir;
   csmcc_data_compression_nego_enum        negotiation;
   kal_uint16                              max_dict;
   kal_uint8                               max_string;
} csmcc_data_compression_param_struct;

typedef struct csmcc_data_bc_param_struct
{
   csmcc_sync_enum             sync;
   csmcc_bearer_ce_enum        ce;
   csmcc_itc_enum              itc;
   csmcc_other_itc_enum        other_itc;
   csmcc_user_rate_enum        ur;
   csmcc_fnur_enum             fnur;
   csmcc_rate_adaptation_enum                ra;
   csmcc_other_rate_adaptation_enum          other_ra;
   csmcc_modem_type_enum                     mt;
   csmcc_other_modem_type_enum               other_mt;
   csmcc_v120_param_struct                   v120_param;
   csmcc_rlp_param_struct                    rlp_param;
   csmcc_data_compression_param_struct       data_compression_param;
   csmcc_nsb_enum              nsb;
   csmcc_ndb_enum              ndb;
   csmcc_parity_enum           parity;
   
} csmcc_data_bc_param_struct;

typedef struct csmcc_bearer_service_type_struct
{
   csmcc_bearer_speed_enum      bearer_speed;
   csmcc_bearer_name_enum       bearer_name;
   csmcc_bearer_ce_enum         bearer_ce;
} csmcc_bearer_service_type_struct;


typedef struct csmcc_cf_param_struct
{
   csmcc_cf_format_enum          cf_format;
   csmcc_cf_parity_enum          cf_parity;
} csmcc_cf_param_struct;


typedef struct csmcc_cug_param_struct
{
   csmcc_cug_temporary_mode_enum    cug_temporary_mode;
   kal_uint8                        cug_index;
   csmcc_cug_suppress_enum          cug_suppress;
} csmcc_cug_param_struct;

typedef struct csmcc_at_param_struct
{
   csmcc_addr_type_enum          addr_type;
   csmcc_call_mode_enum          call_mode;
   csmcc_bearer_service_type_struct     bearer_service_type;
   csmcc_sns_mode_enum           sns_mode;
   csmcc_data_compression_param_struct  data_compression_param;
   csmcc_cf_param_struct                cf_param;
   csmcc_v120_param_struct              v120_param;
   csmcc_rlp_param_struct               rlp_param;
   csmcc_aoc_mode_enum                  aoc_mode;
   csmcc_cug_param_struct               cug_param;
   csmcc_fclass_mode_enum               fclass_mode;
} csmcc_at_param_struct;

typedef struct csmcc_nego_bc_struct
{
   kal_bool  bc1_present;
   csmcc_bc_struct  bc1;
   kal_bool  bc2_present;
   csmcc_bc_struct  bc2;
   kal_bool  repeat_present;
   mncc_repeat_ind_struct   bc_repeat_ind;
} csmcc_nego_bc_struct;

typedef struct csmcc_mscap_struct
{
   kal_uint8   speech_version;   
   kal_uint8   acc;   
   kal_uint16  data_cap;
} csmcc_mscap_struct;   

typedef struct csmcc_timer_struct
{
   stack_timer_struct timer;   
   kal_uint8 call_id;
   
} csmcc_timer_struct;

#ifdef __CPHS__
typedef struct csmcc_als_struct
{
   kal_uint8   line_id;
} csmcc_als_struct;
#endif


typedef struct csmcc_context_struct
{
   csmcc_call_alloc_enum            call_pool[MAX_CALL_NUM+1];
   csmcc_call_context_struct        call_tab[MAX_CALL_NUM];
   csmcc_data_bc_param_struct       data_bc_param;
   csmcc_at_param_struct            at_param;
   csmcc_nego_bc_struct             nego_bc;
   csmcc_mscap_struct               mscap;
   kal_uint8                        default_call_priority;
   kal_uint8                        auto_answer_priority_level;   
   csmcc_timer_struct               csmcc_timer;   /* used by auto dtmf pause */
   kal_bool                         call_reest;
   csmcc_attach_status_enum         attach_status;   
   csmcc_channel_info_enum          channel_info;
   kal_uint8                        channel_mode;
   kal_uint8                        channel_type;
   csmcc_req_enum                   cur_req;
   kal_uint8                        req_src_id;
   kal_uint8                        req_call_id;
   /*csmcc_req_enum*/kal_uint8                   aux_req;
   kal_uint8                        aux_req_call_id;
   kal_bool                         is_aux_req_processed;
   csmcc_req_enum                   cur_non_l4c_req;
   kal_uint8                        cur_non_l4c_req_call_id;
   kal_uint32                        inv_id_count;
   kal_bool                         acm_valid;
   kal_uint32                       acm;
   kal_uint32                       pre_acm;
   kal_uint32                       acmmax;
   kal_uint32                       acmmax_update_temp;
   kal_uint32                       last_ccm;
   kal_bool                          update_acm_flag;
   kal_uint32                       pause_duration;
   kal_bool                          is_sat_dtmf;
   kal_uint8                         dtmf_src_id;
   /*Michael: add for SAT retry, to store ccp from L4C or SIM until send SAT_CALL_SETUP_CNF*/
   kal_uint8                        ccp_temp[15];
   kal_uint8                         size_of_ccp_temp;
   kal_bool                          is_tch;     /*mtk00924 add 041210 for ECPI*/
   kal_bool                          is_ibt;      /*mtk00924 add 041210 for ECPI*/
   kal_uint8                         ctm_status;
   kal_uint8				activate_data_call_id;
   kal_uint8 			      iwf;
#ifdef __TCPIP__
   /*nvram_ef_csd_profile_struct      csd_prof[MAX_CSD_PROFILE_NUM];*//*mtk00924: for CSD data account can be customized*/
   kal_uint8                        csd_prof_id;   
#endif      

#ifdef __CPHS__
   kal_uint8                              temp_als_id;
   csmcc_als_struct                   als;
#endif

#ifdef __CSD_FAX__
   kal_uint8     fax_dir; /*CSD_FAX_DIRECTION_ENUM*/
#endif
   kal_bool  rscd_P;
#ifdef __SATCE__
   sat_csd_bearer_para_struct sat_cbst;
#endif
} csmcc_context_struct;

extern csmcc_context_struct csmcc_context_g;

#define CSMCC_PTR   (&csmcc_context_g)

/*every ILM from L4C, which relates one call
  shall be having the following header */
  
typedef struct l4ccsm_cc_local_para_hdr_struct {
    kal_uint8 ref_count;
    kal_uint16 msg_len;
    kal_uint8 src_id;
    kal_uint8 call_id;
} l4ccsm_cc_local_para_hdr_struct;

typedef l4_addr_bcd_struct mncc_called_num_struct;
typedef l4ccsm_cc_peer_addr_struct   mncc_calling_num_struct;
typedef l4ccsm_cc_sub_addr_struct mncc_sub_addr_struct;
#endif /* _CSMCC_TYPES_H */


⌨️ 快捷键说明

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