📄 mfw_ffs.h
字号:
#ifndef MFW_FFS_H_
#define MFW_FFS_H_
#include "ffs.h"
#include "ffs_coat.h"
//#include "Ffs.h"
#include "mfw_mfw.h"
#include "mfw_sms.h"
#define MAXCB 20 //It should be equal MAX_IDENTS
/*2004/04/13,talcon modify*/
#define CommonMsgNum 15 /*10*/ //It should be equal MAX_IDENTS
#define FFSFILE_DIRECTORY "/bmi"
#define FFSFILE_CONSTCONFIG_PATH "/bmi/ConConfigData" //
#define FFSFILE_DCTB_PATH "/bmi/MobileDctbData" //index=0
#define FFSFILE_VM_PATH "/voicememory/VM" //index=1
#define FFSFILE_PHB1_PATH "/bmi/PhoneRecord1" //index=2
#define FFSFILE_PHB2_PATH "/bmi/PhoneRecord2" //index=3
#define FFSFILE_PHB3_PATH "/bmi/PhoneRecord3" //index=4
#define FFSFILE_PBO_PATH "/bmi/PBOData" //index=5
#define FFSFILE_CONFIG_PATH "/bmi/BmiConfigData" //index=6
#define FFSFILE_SETTING_PATH "/bmi/MobileSettingData" //index=7
#define FFSFILE_HOSTKEY_PATH "/bmi/MobileHostkeyData" //index=8
#define FFSFILE_ENVIR_PATH "/bmi/MobileProfiles" //index=9 /* 2003/12/08 sunsj */
#define FFSFILE_STOPWATCH_PATH "/bmi/MobileSW" //index=a
#define FFSFILE_WAP_PATH "/bmi/MobileWapData" //index=b
#define FFSFILE_SCHEDUE1_PATH "/bmi/DateSchedule1" //index=c
#define FFSFILE_SCHEDUE2_PATH "/bmi/DateSchedule2" //index=d
#define FFSFILE_SCHEDUE3_PATH "/bmi/DateSchedule3" //index=e
#define FFSFILE_CONFIG_CHECK_PATH "/bmi/BmiConfigCheckData" //index=f
#define FFSFILE_SMS_PATH "/bmi/MobileSmsData" //index=10
#define FFSFILE_MEMO_PATH "/bmi/PersonMemory" ///index=11
#define FFSFILE_GAME_PATH "/bmi/SmallGameData" //index=12
#define FFSFILE_COM_SMS_PATH "/bmi/MobileCSmsData" //index=22
#define FFSFILE_FIELDTEST_PATH "/bmi/MobileFieldTestData" //field test add by xzy 0124
typedef struct
{
uint16 Mmidata_sum;
uint16 Mmidata_size;
uint16 Environment_sum;
uint16 Environment_size;
uint16 DCTbdata_sum;
uint16 DCTbdata_size;
uint16 Settingdata_sum;
uint16 Settingdata_size;
uint16 Hostkeydata_sum;
uint16 Hostkeydata_size;
}ConfigDataCheck;
typedef struct
{
char greeting_word[15]; /* 2004/07/01 sunsj modify */
int GreetingWordIsOn;//0,1问候语开启关闭0/1
char BackgroundTable[5][21];// 背景名称
int BGI;//background
int OutBGI; //Out idle wallpaper /* 2004/04/10 sunsj modify */
int saving_mode;//0,1省电模式
int switch_animation;//关机动画
int theme;//主题
int backlight_intensity;//背光强度
uint8 backlight_on_time_hour;
uint8 backlight_on_time_minute;
uint8 backlight_off_time_hour;//省电背光关闭时间
uint8 backlight_off_time_minute;
uint8 hallonconnect;//0,1翻盖打开接听0:ok;1:no
uint8 gprsattachmode;//0:manual;1:Automatic
uint8 ledon;//0,1led control on off
uint8 LedSwitch; //关盖是否要闪烁LED跑马灯 /* 2004/04/10 sunsj add */
}FlashSetting;
typedef struct
{
uint8 UsedTbIdx; //record the next index of UsedNumberTable
uint8 UsedNumberTable[10][21]; //Usual used forwarding number
uint8 GroupedNumber[10][9];
uint8 SettedCUGIndex[10][2];
//Call Record
uint8 LMNTable[10][24];//missed number
uint8 LJNTable[10][24];//reject number missed number
uint8 LRNTable[10][24];//missed number
uint8 LDNTable[10][24];//missed number
uint8 LMNTime[10][21];
uint8 LJNTime[10][21];//reject number
uint8 LRNTime[10][21];
uint8 LDNTime[10][21];
uint8 LMNID;
uint8 LJNID; //reject number
uint8 LRNID;
uint8 LDNID;
uint8 nextcall;
uint8 hideIDflag;
uint8 callwaitflag;
uint8 lineselectflag; //线路选择标志位
uint8 AutoAnswerFlag;
uint8 MissedCallNum;
uint8 LMNflag[10];
uint8 CFFlag; // use the last 4 bits to mark CFNRc CFB CFNRy CFU
uint8 MForNameFlag[10];
uint8 JForNameFlag[10];
uint8 RForNameFlag[10];
uint8 DForNameFlag[10];
char Mname[10][24];
char Jname[10][24];
char Rname[10][24];
char Dname[10][24];
uint32 GPRSOUTCOUNTER;
uint32 GPRSINCOUNTER;
} FlashDCTb;//usual used number and cug number table
extern FlashDCTb FlashDCTbData;
typedef struct
{
uint8 HostLock_flag;
uint8 HostLock_Key[8];
uint8 HostProtect_Items[5];
uint8 SimLockFlag;
uint8 imsi[8];
}FlashHostkey;
typedef enum
{
NORMAL_ENV=0,
OUTDOOR_ENV,
MEETING_ENV,
INCAR_ENV,
MUTE_ENV,
iconSceneMax
}EnvironmentEnum;
typedef enum
{
RING=0,
VIBRA,
VIBRARING,
RINGANDVIBRA,
ALERTMUTE
}PromptEnum;
typedef enum
{
SMSRING=0, //ring
SPECIALRING1, //special ring strong more twice
SPECIALRING2,
SPECIALRING3,
SPECIALRING4,
SPECIALRING5,
SMSVIBRA, //vibra
SMSRVIBRA, //ring and vibrate
SMSMUTE //No ring and no vibrate
} SmsAlertType;
typedef struct
{
PromptEnum prompttype;
uint8 ringtype;
uint8 ringvolume;
uint8 Autoanswerflag;
uint8 Anykeyanswerflag;
uint8 connecttone;
PromptEnum alarmprompt;
uint8 alarmtype;
uint8 alarmvolume;
uint8 speakervolume; //for adjusting speaker volume
SmsAlertType SMSTone;
uint8 smsvolume;
uint8 KeypadTone;
uint8 MissedcallTone;
uint8 UnreadSMSTone;
//uint8 settings_status;
uint8 KeypadVolume; /* 2003/12/08 sunsj add */
//2003.1.13 wyj add on&off ring
uint8 OnRingtype; //最高位为静音开关 1-静音
uint8 OnVolume;
uint8 OffRingtype;
uint8 OffVolume;
//2004.2.12 WYJ add Hall On&Off Ring
uint8 HallOnRingtype; //最高位为静音开关 1-静音
uint8 HallOnVolume;
uint8 HallOffRingtype;
uint8 HallOffVolume;
}EnvironmentStruct;
typedef struct
{
EnvironmentEnum CurrentEnv; //current enviorment
EnvironmentStruct EnviroProfile[5];
}FlashEnvironment;
#define FLSAH_SMS_NUM 50
#define FlashSMS_Table 5
#define FlashSMS_table_len 10
typedef struct
{
UBYTE index;
UBYTE id;
} T_MMI_FLASH_SORT_INDEX;
typedef struct
{
UBYTE index;
UBYTE id;
CHAR addr[MFW_NUM_LEN];
T_MFW_SMS_SCTP time;
T_MFW_SMS_STAT state;
BOOL flag;
} T_MMI_FLASH_SMS_INDEX;
typedef struct
{
UBYTE id;
CHAR addr[MFW_NUM_LEN];
T_MFW_SMS_SCTP time;
CHAR sms_msg[MAX_MSG_LEN];
USHORT msg_len;
T_MFW_SMS_STAT state;
SHORT dcs;
BOOL flag;
}FlashSms;
typedef struct
{
FlashSms NVMSMS[FlashSMS_table_len];
//UBYTE total;
} FlashSMSdata;
#define ALL_NVM_LIST 200
#define ALL_SIM_LIST 256
#define ALL_NUMBER_LIST ALL_NVM_LIST+ALL_SIM_LIST
/* glowing: change the record times from 20 seconds to 30 seconds */
//#define VM_file 10
#define VM_file 6
#define PHB_name_len 13 //2004-04-05 Sunny modify.old value:21
#define PHB_number_len 21 //2004-04-13 Sunny modify.old value:21
#define PHB_numberExt_len 7
#define PHB_memo_len 22
#define PHB_PBTable 3
#define PHB_table_len 72
#define PE_SIZE 5
#define MAX_Grouping 10
#define MAX_ShortCutDial 9
#define MAX_COMSG_LEN 53
#define GroupingName_len 17//2003/12/01,talcon change 13 to 17
#define CheckFlag(i) (((l_phb_index[i].flag & 0x40)==0x40)?TRUE:FALSE)
#define CheckDelFlag(i) (((l_phb_index[i].flag & 0x80)==0x80)?TRUE:FALSE)
#define SetAddFlag(i) ((l_phb_index[i].flag & 0x3F) | 0x40)
#define SetDelFlag(i) ((l_phb_index[i].flag & 0x3F) | 0x80)
#define SetFirstNumFlag(i,j) ((l_phb_index[i].flag & 0xCF) | ((j<<4) & 0x30))
#define CheckFirstNumFlag(i) ((l_phb_index[i].flag>>4) & 0x03)
#define SetGroupingFlag(i,j) ((l_phb_index[i].flag & 0xF0) | (j & 0x0F))
#define CheckGroupingFlag(i) (l_phb_index[i].flag & 0x0F)
#if(MAIN_LCD_SIZE==4)
#define GetFree(i) ((i>3)?3:i) /* 2004/05/26 sunsj modify */
#elif(MAIN_LCD_SIZE==3)
#define GetFree(i) ((i>3)?3:i)
#endif
typedef enum
{
COPYINGALL,
COPYINGSELECT,
COPYNONE
} T_EntryEvent;
typedef struct
{
U8 name [PHB_name_len+3];
U8 number [PHB_number_len+1];
U8 office [PHB_number_len+1];
U8 home [PHB_number_len+1];
U8 memo [PHB_memo_len+3];
U8 info;
} PhbkDetailItem;
typedef enum
{
PhoneBook1=0,
PhoneBook2=1,
PhoneBook3=2,
PhoneBook4=3,
PhoneBook5=4,
PhoneBook6=5,
PhoneBook7=6,
PhoneBookNULL
} T_MFW_PHB_TABLE;
typedef enum
{
SIM_BOOK_SEL,
NVM_BOOK_SEL
} T_MFW_PHB_SELECT;
typedef struct
{
U8 name [PHB_name_len+3];
U8 number[PHB_number_len/2+2];
U8 office [(PHB_number_len+PHB_numberExt_len)/2+1];
U8 home [PHB_number_len/2+2];
U8 memo [PHB_memo_len+3];
U8 info;
} PhbkListItem;
typedef struct
{
PhbkListItem NVMBook[PHB_table_len];
} FlashPBdata;
typedef struct
{
U8 name [PHB_name_len+3];
U8 number [(PHB_number_len/2)+2];
} PhbkShortCutItem;
typedef struct
{
char GroupingName[GroupingName_len];//分组名
U8 GroupingIcon;
U8 GroupingRing;
} PhbkGroupingItem;
typedef struct
{
PhbkShortCutItem ShortCutDial[MAX_ShortCutDial];//快捷拨号
PhbkGroupingItem GroupingItem[MAX_Grouping];
} FlashPBotherdata;
typedef struct
{
unsigned char name [PHB_name_len+3];
T_MFW_PHB_SELECT phonebook;
int index;
U16 number[3];
U8 flag;
} T_MFW_PHB_INDEX;
typedef struct //sort index table
{
USHORT name;
int index;
} T_MFW_PHB_SORT_INDEX;
typedef struct
{
char vm_name[PHB_name_len];
UINT8 minute; /* minutes after the hour - [0,59] */
UINT8 hour; /* hours after the midnight - [0,23] */
UINT8 day; /* day of the month - [1,31] */
UINT8 month; /* months - [01,12] */
UINT8 year; /*year -[00,99]*/
BOOL mode_12_hour; /* TRUE->12 hour mode ; FALSE-> 24 hour mode */
BOOL PM_flag; /* if 12 hour flag = TRUE TRUE->PM ; FALSE->AM */
UINT8 length; /*the time in second of this voice file*/
} VMTable;
typedef struct
{
VMTable VM[VM_file];
} FlashVMdata;
//-----------------------------------------------------------------------------
//schedule data
#define SCHE_LEN 98
#define MEMO_LEN 100
#define SCHEDULE_NUMBER 70
#define STOPWRECORD_NUM 40
#define STOPWGROUP_NUM 5
typedef struct
{
int date[2];
uint8 wday;
uint8 hour;
uint8 minute;
uint8 ringandf; //是否有闹钟以及闹钟的频率是多高
uint8 type;//是会议、生日还是别的
uint8 text[SCHE_LEN];//记录的内容
}FlashSchedule;//日程管理数据
typedef struct
{
uint8 index;
int date[2];
uint8 wday;
uint8 hour;
uint8 minute;
uint8 number;
uint8 ringandt;
}T_MFW_DetailSche_index;
typedef struct
{
int date[2];
uint8 wday;
uint8 hour;
uint8 minute;
uint8 index;
}T_MFW_SCHE_INDEX;
//------------------------------------------------------------------------------
typedef enum
{
AllLanguage,
NoLanguage,
ListLanguage
}CBLANG;
typedef struct
{
UBYTE message[MAX_COMSG_LEN]; /* in ASCII*/
}CoMessage;
typedef struct
{
FlashSchedule FfsSche[70];
}Flash_Sche;
//stopwatch data
typedef struct
{
unsigned int record[STOPWRECORD_NUM];
char name[14];
uint8 type;
uint8 group_number;
}FlashStopwatch;
typedef struct
{
uint8 flag;
char name[14];
uint8 type;
uint8 group_number;
}T_MFW_Stopw_INDEX;
typedef struct
{
FlashStopwatch group[STOPWGROUP_NUM];
}Flash_Stopw;
typedef struct
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -