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

📄 mfw_mfw.h

📁 是一个手机功能的模拟程序
💻 H
字号:
/*
+--------------------------------------------------------------------+
| PROJECT: MMI-Framework (8417)         $Workfile:: mfw_mfw.h       $|
| $Author: root $ CONDAT GmbH           $Revision: 1.1.1.1 $|
| CREATED: 21.09.98                     $Modtime:: 23.03.00 16:37   $|
| STATE  : code                                                      |
+--------------------------------------------------------------------+

   MODULE  : MFW_MFW

   PURPOSE : Framework common types & constants

   EXPORT  :

   TO DO   :

   $History:: mfw_mfw.h                                             $
 * 
 * *****************  Version 13  *****************
 * User: Kk           Date: 24.03.00   Time: 11:02
 * Updated in $/GSM/Condat/MS/SRC/MFW
 *
 * *****************  Version 12  *****************
 * User: Es           Date: 23.03.00   Time: 14:43
 * Updated in $/GSM/Condat/MS/SRC/MFW
 * Added 'mfwParent(elem)'
 *
 * *****************  Version 11  *****************
 * User: Es           Date: 18.02.00   Time: 15:45
 * Updated in $/GSM/Condat/MS/SRC/MFW
 * fixed alloc/free bug (shrink)
 * changed MfwMemLarge macro
 * added constants for MMI event handler return values
 *
 * *****************  Version 10  *****************
 * User: Kk           Date: 10.01.00   Time: 14:03
 * Updated in $/GSM/Condat/MS/SRC/MFW
 *
 * *****************  Version 9  *****************
 * User: Le           Date: 6.01.00    Time: 9:23
 * Updated in $/GSM/Condat/MS/SRC/MFW
 * Alignment of MFW versions
 *
 * *****************  Version 3  *****************
 * User: Xsp          Date: 8/12/99    Time: 15:34
 * Updated in $/GSM/Condat/SND-MMI/MFW
 * Patch for CHAR botch...
 *
 * *****************  Version 2  *****************
 * User: Es           Date: 22.11.99   Time: 10:29
 * Updated in $/GSM/Condat/SND-MMI/MFW
 *
 * *****************  Version 1  *****************
 * User: Es           Date: 18.11.99   Time: 16:35
 * Created in $/GSM/Condat/SND-MMI/MFW
 * Initial
 *
 * *****************  Version 8  *****************
 * User: Es           Date: 14.06.99   Time: 12:14
 * Updated in $/GSM/DEV/MS/SRC/MFW
 *
 * *****************  Version 6  *****************
 * User: Es           Date: 25.02.99   Time: 9:53
 * Updated in $/GSM/DEV/MS/SRC/MFW
 *
 * *****************  Version 5  *****************
 * User: Es           Date: 20.02.99   Time: 11:54
 * Updated in $/GSM/DEV/MS/SRC/MFW
 *
 * *****************  Version 4  *****************
 * User: Es           Date: 17.02.99   Time: 20:00
 * Updated in $/GSM/DEV/MS/SRC/MFW
 *
 * *****************  Version 3  *****************
 * User: Es           Date: 14.01.99   Time: 17:19
 * Updated in $/GSM/DEV/MS/SRC/MFW
 *
 * *****************  Version 2  *****************
 * User: Es           Date: 23.12.98   Time: 16:19
 * Updated in $/GSM/DEV/MS/SRC/MFW
*/

#ifndef _DEF_MFW_MFW_H_
#define _DEF_MFW_MFW_H_

#define ENTITY_MFW

#ifndef NO_ASCIIZ
#define NO_ASCIIZ
#endif

#define TCS20_VER	0
/**************************************//* PORTABILITY TYPES        */

// modify by clrobert
// change
// #if 0
// to
#pragma warning(disable: 4305)
#ifdef _INNOVATION_EMULATOR_
extern short mmi_handle;
// modify end
typedef unsigned char		U8;
typedef signed char 		S8;
typedef unsigned short		U16;
typedef signed short		S16;
typedef unsigned long		U32;
typedef signed long 		S32;
typedef char				CHAR;
#else
#define U8	unsigned char
#define S8	signed char
#define U16 unsigned short
#define S16 signed short
#define U32 unsigned long
#define S32 signed long
#endif

/**************************************//* MMI EVENT HANDLER RETURN */

#define MFW_EVENT_CONSUMED	1			/* return, if event handled */
#define MFW_EVENT_REJECTED	0			/* return, if event unknown */
#define ONEKEY_TOIDLE
/**************************************//* COMMON MFW TYPES         */

typedef void * MfwHnd;                  /* MFW element handle       */
typedef U32 MfwEvt;                     /* MFW event mask           */
typedef int (*MfwCb) (MfwEvt, MfwHnd);  /* MFW event handler        */

typedef struct MfwRectTag               /* RECTANGLE SPEC           */
{
    U16 px;                             /* top left pos x           */
    U16 py;                             /* top left pos y           */
    U16 sx;                             /* horizontal size          */
    U16 sy;                             /* vertical size            */
} MfwRect;

typedef enum                            /* Error codes              */
{
    MfwResOk = 0,                       /* no error                 */
    MfwResDone,                         /* OK, handler ready        */
    MfwResErr,                          /* unspecific error         */
    MfwResNoMem,                        /* insufficient memory      */
    MfwResIllHnd,                       /* invalid handle           */
    MfwResDriver                        /* driver error             */
} MfwRes;

typedef enum                            /* MFW commands to modules  */
{
    MfwCmdNone = 0,                     /* no command               */
    MfwCmdDelete,                       /* delete element           */
    MfwCmdUpdate                        /* repaint visibles         */
} MfwCmd;

typedef enum                            /* MFW element types        */
{
    MfwTypNone = 0,                     /* no element (first !!)    */
    MfwTypWin,                          /* window                   */
    MfwTypEdt,                          /* editor                   */
    MfwTypMnu,                          /* menu handler             */
    MfwTypIcn,                          /* icon handler             */
    MfwTypKbd,                          /* keyboard                 */
    MfwTypTim,                          /* timer                    */
    MfwTypMme,                          /* misc. mobile equipment   */
    MfwTypVmm,                          /* MDL virtual machine      */
    MfwTypNm,                           /* network                  */
    MfwTypSim,                          /* SIM card                 */
    MfwTypCm,                           /* call handling            */
    MfwTypPhb,                          /* phonebook handling       */
    MfwTypSms,                          /* short message handling   */
    MfwTypSs,                           /* supl. services handling  */
    MfwTypSat,                          /* SIM Toolkit handling     */
    MfwTypLng,                          /* language handling        */
    MfwTypInp,                          /* input handling           */
    MfwTypNode,                         /* node element             */
    MfwTypCphs,                         /* CPHS element             */
    MfwTypGprs,                         /* GPRS handling            */
/* glowing,2004-06-10, import from TCS2112 */
    MfwTypEm,							/*MC, SPR 1209 Eng Mode handling*/
    MfwTypTd, 							/*MC, SPr 1725, Time/date handling*/
/* glowing,2004-06-10, end of import */
#ifdef BT_INTERFACE
  MfwTypBt,                           /* bluetooth handling       */
#endif
    MfwTypMax                           /* end of types (last !!)   */
} MfwTyp;

typedef struct MfwHdrTag                /* header structure         */
{
    struct MfwHdrTag *next;             /* next header              */
    MfwTyp type;                        /* elem type code           */
    void *data;                         /* elem control structure   */

} MfwHdr;

typedef struct                          /* memory management header */
{
    U16 next;                           /* index of next free block */
    U16 len;                            /* length of this block     */
} MfwMemHdr;
								/* sizeof(MfwMemHdr) must be 2^n !! */
                                        /* align with header length */
/* glowing,2004-06-10, import from M188A */
typedef struct EcMemInfoTag
{
	MfwHnd addr;  // address of allocated memory
	MfwHnd win;   //the win this memory allocated from
	U16   size;   // size of allocated memory
	struct EcMemInfoTag *next;
}EcMemInfo;
/* glowing,2004-06-10, end of import */
#define mfwMemLarge(x) (((x)+sizeof(MfwMemHdr)-1)&(~(sizeof(MfwMemHdr)-1)))
/* not used:     #define mfwMemShrink(x) ((x)&(~(sizeof(MfwMemHdr)-1))) */

/**************************************//* MFW EXPORTED VARIABLES   */

extern MfwHdr *mfwFocus;                /* the focus node           */
extern MfwHdr *mfwRoot;                 /* root of MFW elements     */
extern MfwCb mfwCommand [];             /* MFW commands to modules  */


/**************************************//* MFW FUNCTION PROTOTYPES  */

MfwRes mfwInit (void *externalRoot, U16 dynMemSize);
void mfwExit (void);
MfwHdr *mfwAppend (MfwHdr **h, MfwHdr *e);
MfwHdr **mfwRemove (MfwHdr *e);
MfwHdr *mfwInsert (MfwHdr *h, MfwHdr *e);
MfwHnd mfwParent (MfwHdr *h);
MfwHnd mfwControl (MfwHdr *h);
U8 *mfwAlloc (U16 size);
void mfwFree (U8 *mem, U16 size);
MfwHnd mfwHeader (void);
MfwRes mfwSetSignallingMethod (U8 method);
/* glowing, 2004-06-10, import from M188A */
int freeAll(void);
void Tracememory();
void Trace_All(char *name,MfwHnd handle);
unsigned char Set_regflag(unsigned char flag);
void traceallmemory(void);
void freeandreg(void * addr);
/* glowing, 2004-06-10, end of import */
U16 mfwCheckMemoryLeft(void);

extern U8 mfwSignallingMethod;
/**************************************//* PRELIMINARIES ES!!       */

#define T_MFW int
#define T_MFW_HND MfwHnd
#define T_MFW_EVENT MfwEvt
#define T_MFW_HDR MfwHdr
#define T_MFW_RES MfwRes
#define T_MFW_CB MfwCb
#define MFW_TYP_SIM MfwTypSim
#define MFW_TYP_NM MfwTypNm
#define MFW_TYP_CM MfwTypCm
#define MFW_TYP_PHB MfwTypPhb
#define MFW_TYP_SMS MfwTypSms
#define MFW_TYP_SS MfwTypSs
#define MFW_RES_ILL_HND MfwResIllHnd
#define MFW_RES_OK MfwResOk
#define MFW_RES_ERR MfwResErr
#define T_MFW_PREF_PLMN_LIST MfwNmPrefPlmnList

/* glowing,2004-06-10,import from M188A */
#define TIMCREATE_SETFLLAG(f)\
	{\
		UBYTE old_flag;\
             old_flag=Set_regflag(0);\
            f\
	    Set_regflag(old_flag);\
    	}
/* glowing,2004-06-10, end of import */
#endif

⌨️ 快捷键说明

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