blob: 2c96de1ae946fa706b53eb706500a7c561d61788 [file] [log] [blame]
/*****************************************************************************
* 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).
*
*****************************************************************************/
/*******************************************************************************
* 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) 2001
*
*******************************************************************************/
/*******************************************************************************
* Filename:
* ---------
* rmmi_strcut.h
*
* Project:
* --------
* MAUI
*
* Description:
* ------------
*
*
* Author:
* -------
* -------
*
*============================================================================
****************************************************************************/
#ifndef __RMMI_STRUCT_H__
#define __RMMI_STRUCT_H__
//#include "kal_non_specific_general_types.h"
#include "kal_general_types.h"
//#include "l4c_common_enum.h"
#include "ps_public_enum.h"
#include "kal_public_defs.h"
#include "ps_public_struct.h"
#ifndef __MTK_TARGET__
#include "dcl.h" //for DCL_DEV_T
#endif
typedef struct{
LOCAL_PARA_HDR
kal_uint8 data[256];
} rmmi_inject_msg_req_struct;
typedef struct{
LOCAL_PARA_HDR
kal_uint8 data[256];
} rmmi_inject_msg_cnf_struct;
typedef struct{
LOCAL_PARA_HDR
} rmmi_atcidt_force_transfer_req_struct;
typedef struct{
LOCAL_PARA_HDR
kal_uint8 port;
kal_bool is_dt;
} rmmi_atcidt_force_transfer_cnf_struct;
typedef struct{
LOCAL_PARA_HDR
rmmi_sim_uart_setting_enum sim_setting;
} rmmi_master_sim_change_req_struct;
typedef struct{
LOCAL_PARA_HDR
kal_bool result;
} rmmi_master_sim_change_cnf_struct;
typedef struct{
LOCAL_PARA_HDR
kal_uint8 ch_num;
} rmmi_register_channel_req_struct;
typedef struct{
LOCAL_PARA_HDR
kal_bool result;
kal_uint8 begin_port_id;
} rmmi_register_channel_cnf_struct;
typedef struct{
LOCAL_PARA_HDR
kal_uint8 port_id;
kal_uint16 length;
} rmmi_exe_at_req_struct;
typedef struct{
LOCAL_PARA_HDR
kal_bool result;
kal_uint8 port_id;
} rmmi_exe_at_cnf_struct;
typedef struct{
LOCAL_PARA_HDR
kal_uint8 port_id;
kal_uint16 length;
} rmmi_response_at_ind_struct;
typedef struct{
LOCAL_PARA_HDR
kal_uint16 length;
} rmmi_urc_at_ind_struct;
typedef struct rmmi_report_mode_struct
{
kal_uint32 einfo; /* proprietary +ECPI: call progress information */
kal_uint32 ecpi; /* proprietary +ECPI: call progress information */
kal_uint32 eind; /* proprietary +EIND: general indication */ /* Bit 0(SMS ready), Bit 1(PHB ready), Bit 7(AT ready), others reserved */
kal_uint8 ccm; /* rmmi_report_mode_enum */
kal_uint8 acm_warning; /* rmmi_report_mode_enum */
kal_uint8 call_wait; /* rmmi_report_mode_enum */
kal_uint8 cdip; /* rmmi_report_mode_enum */
kal_uint8 clip; /* rmmi_report_mode_enum */
kal_uint8 clir; /* rmmi_report_mode_enum */
kal_uint8 cnap; /* rmmi_report_mode_enum */
kal_uint8 colp; /* rmmi_report_mode_enum */
kal_uint8 ss_mo; /* rmmi_report_mode_enum */
kal_uint8 ss_mt; /* rmmi_report_mode_enum */
kal_uint8 ussd; /* rmmi_report_mode_enum */
kal_uint8 compression; /* rmmi_report_mode_enum */
kal_uint8 ps_reg; /* rmmi_nw_reg_report_mode_enum */
kal_uint8 nr_reg; /* rmmi_nw_reg_report_mode_enum */
kal_uint8 cs_reg; /* rmmi_nw_reg_report_mode_enum */
kal_uint8 timezone; /* rmmi_time_zone_report_mode_enum */
kal_uint8 crc; /* rmmi_report_mode_enum, for +CRC */
kal_uint8 cr; /* rmmi_report_mode_enum, for +CR */
kal_uint8 ecsq;
kal_uint8 cen; // +CEN
kal_uint8 ecsq_count;
kal_uint8 cgerep;
kal_uint8 cgerep_bfr;
kal_uint8 cmer_mode;
kal_uint8 cmer_keyp;
kal_uint8 cmer_ind;
kal_uint8 cmer_bfr;
kal_uint8 esims;
kal_uint8 eusim;
kal_uint8 etestsim;
#if defined(__MOD_TCM__)
kal_uint8 psbearer_indicate; // for +PSBEARER
#endif
kal_uint8 pacsp;
#ifdef __CSG_SUPPORT__
kal_uint8 ecsg;
#endif
#ifdef __IMS_SUPPORT__
kal_uint8 cireg;
kal_uint8 cirep;
kal_uint8 cnem;
#endif
kal_uint8 ecell;
kal_uint8 armee;
kal_uint8 eemcinfo;
kal_uint8 essac;
kal_uint8 emobd;
kal_uint8 cusats;
kal_uint8 ecusats;
kal_uint8 eccause;
kal_uint8 ecsra;
kal_uint8 evocd;
kal_uint8 erlm_mode;
kal_uint8 edrb;
kal_uint8 ecamp;
kal_uint8 eslband;
kal_uint8 cscon;
kal_uint8 scp_cellinfo;
kal_uint8 emodcfg;
kal_uint8 elce;
kal_uint8 elatency;
kal_uint8 ereginfo; //to enable/disable +EREGINFO URC
kal_uint8 eimsps;
kal_uint8 eimscons;
kal_uint8 ecgreg;
kal_uint8 ecereg;
kal_uint8 ecmpcid; //to enable/disable +ECMPCID URC
kal_uint8 ecreg;
kal_uint8 esimecc;
kal_uint8 eltebwinfo;
kal_uint8 eacb;
kal_uint8 eppi; //to enable/disable +EPPI URC
//#ifdef __FAST_ROAMING_SEARCH__
kal_uint8 efmcc;
//#endif
kal_uint8 eimsess; // to enable/disable +EIMSESS URC
kal_uint8 ecainfo; //to enable/disable +ECAINFO URC
kal_uint8 eplwth;
kal_uint8 ercefc; // to enable/disable +ERCEFC URC
kal_uint8 iccid; // to enable/disable +ICCID URC
kal_uint8 ecbdinfo_mode; // to enable/disable +ECBDINFO
kal_uint8 edmfapp; // to enable/disable +EDMFAPP
kal_uint8 eatnusd; // to enable/disable +EATNUSD URC
kal_uint8 edsda; // to enable/disable +EDSDA URC
kal_uint8 eopsu; // to enable/disable +EOPSU URC
kal_uint8 ecampui; // enable/disable +ECAMPUI URC
kal_uint8 epcellinfo; // to enable/disable +EPCELLINFO URC
kal_uint8 egtchs; /* to enable/disable +EGTCHS URC */
#ifdef __EPSFB_SUPPORT__
kal_uint8 cepsfb; // to enable/disable +CEPSFB
#endif
kal_uint8 cladn;
kal_uint8 erejinfo; // to enable/disable +EREJINFO URC
#ifdef __SAR_SENSOR_TX_DETECTION_SUPPORT__
kal_uint8 etxpwrstus; /* to enable/disable +ETXPWRSTUS URC*/
#endif
kal_uint8 euacalv; // to enable/disable +EUACALV URC
kal_uint8 enwcfginfo; /* to enable/disable +ENWCFGINFO URC*/
kal_uint8 e5guw; /* to enable/disable +E5GUW URC*/
kal_uint8 enrcaband; /* to enable/disable +ENRCABAND URC*/
kal_uint8 epnwcause;
} rmmi_report_mode_struct;
typedef struct rmmi_op01_report_mode_struct
{
kal_uint8 dsci;
kal_uint8 rfsw;
kal_uint8 cardmode;
} rmmi_op01_report_mode_struct;
typedef struct{
LOCAL_PARA_HDR
kal_bool lock; //KAL_TRUE: lock, KAL_FALSE: unlock
} rmmi_lock_at_cmd_req_struct;
typedef struct{
LOCAL_PARA_HDR
kal_bool result; //KAL_TRUE: success, KAL_FALSE: fail
} rmmi_lock_at_cmd_cnf_struct;
#ifdef __GAS_SUPPORT__
/* Message Structure */
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 src_id;
kal_uint8 data[1500]; /* data */
kal_uint16 size; /* size of the input data */
kal_uint16 buf_size; /* avariable size of the output buffer */
} gas_data_ind_struct;
typedef struct
{
LOCAL_PARA_HDR
kal_uint8 src_id;
kal_uint8 data[1500]; /* data */
kal_uint16 size; /* size of the input data */
kal_uint8 data_type; /* gati_output_data_type_enum */
} gas_data_req_struct;
typedef enum
{
GAS_OUTPUT_NORMAL, /* The type of output data is normal type which might be partially put to the output buffer of the ATCI */
GAS_OUTPUT_URC, /* The type of output data is a URC. Note that this type of data is an integrity type implicitly. */
} gas_output_data_type_enum;
#endif /*__GAS_SUPPORT__*/
/* for thermal_protection */
typedef struct
{
LOCAL_PARA_HDR
kal_int16 value;
kal_uint8 type;
} atci_thermal_event_report_ind_struct;
typedef struct
{
l4c_rac_ecc_number_struct ecc_list[MAX_NW_ECC_NUM]; /* ecc number list*/
kal_uint8 no_ecc; /* number of ecc number*/
} rmmi_ecc_number_list_struct;
#ifndef __MTK_TARGET__
#define MAX_UT_UART_LENGTH 2048
typedef enum
{
ATCI_UT_UART_PORT1 = uart_port1,
ATCI_UT_UART_PORT2 = uart_port2,
ATCI_UT_UART_PORT_USB = uart_port_usb,
ATCI_UT_UART_PORT_USB2 = uart_port_usb2,
ATCI_UT_UART_PORT_CCCI = uart_port_at_ccci,
ATCI_UT_UART_PORT_GPS = uart_port_gps_ccci,
#ifdef __HIF_CCISM_SCP_SUPPORT__
ATCI_UT_UART_CELLINFO_CCCI = uart_port_cellinfo_ccci,
#endif
/* CMUX virtual port for SIM1 */
ATCI_UT_UART_VIRTUAL_PORT_START = start_of_virtual_port,
ATCI_UT_UART_VIRTUAL_PORT2,
ATCI_UT_UART_VIRTUAL_PORT3,
ATCI_UT_UART_VIRTUAL_PORT4,
ATCI_UT_UART_VIRTUAL_PORT5,
ATCI_UT_UART_VIRTUAL_PORT6, //CMUX extention port for TTL
/* CMUX virtual port for SIM2 */
ATCI_UT_UART_VIRTUAL_PORT7,
ATCI_UT_UART_VIRTUAL_PORT8,
ATCI_UT_UART_VIRTUAL_PORT9,
ATCI_UT_UART_VIRTUAL_PORT10,
ATCI_UT_UART_VIRTUAL_PORT11,
ATCI_UT_UART_VIRTUAL_PORT12,
/* no list all of CMUX_VP_NUM virtual ports */
ATCI_UT_UART_VIRTUAL_PORT_END = end_of_virtual_port,
} atci_ut_uart_port_enum;
typedef struct
{
LOCAL_PARA_HDR
atci_ut_uart_port_enum port;
kal_uint8 string[MAX_UT_UART_LENGTH];
kal_uint16 str_len;
} atci_ut_uart_input_ind_struct; // MSG_ID_ATCI_UT_UART_INPUT_IND
#endif
typedef enum{
RMMI_SCP_CMD_DISABLE = 0,
RMMI_SCP_CMD_ENABLE_CHANGE_OF_CELL_ID, //Phase 1: enable but report only when camping cell id has changed
RMMI_SCP_CMD_ENABLE_CHANGE_OF_CELL_RSSI, //Phase 2: enable but report only when camping cell's RSSI has changed
RMMI_SCP_CMD_END
}rmmi_scp_cmd_enum;
typedef enum{
RMMI_SCP_CELLINFO_GSM = 0,
RMMI_SCP_CELLINFO_CDMA,
RMMI_SCP_CELLINFO_UMTS,
RMMI_SCP_CELLINFO_LTE,
RMMI_SCP_CELLINFO_TYPE_END
}rmmi_scp_cellinfo_type_enum;
typedef struct{
kal_uint16 mdm_type;
kal_uint16 mcc;
kal_uint16 mnc;
kal_uint16 area; /* lac or tac */
kal_uint16 pci;
kal_uint16 strength; /* RSSI or RSCP or RSRP */
kal_uint32 cell; /* cid or uc or ci */
kal_uint32 isCamping; /* 0: neighbor cell; 1: camping cell */
}rmmi_scp_cellinfo_struct;
#define SCP_NBR_CELLINFO_MAX 9
#define SCP_CELLINFO_MAX (SCP_NBR_CELLINFO_MAX+1)
typedef struct{
kal_uint32 length;
rmmi_scp_cellinfo_struct info[SCP_CELLINFO_MAX];
}rmmi_scp_cellinfo_data_struct;
typedef struct {
kal_uint8 date_string[20];
kal_uint8 tz[4];
kal_uint8 dst;
} rmmi_nitz_time_struct; // CCLK
#endif