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

📄 kal_common_defs.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:
 * ---------
 *   kal_common_defs.h
 *
 * Project:
 * --------
 *   Maui_Software
 *
 * Description:
 * ------------
 *
 *
 * 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!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * 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!!
 *============================================================================
 ****************************************************************************/

/*********************************************************************
	(C) _____ (year of first publication) Sasken communication
	Technologies Limited, All rights reserved.
*   This file provides a template for .c files. This space
*   should be used to describe the file contents
*   Component-specific prefix : xxxx
*********************************************************************/

#ifndef _KAL_COMMON_DEFS_H
#define _KAL_COMMON_DEFS_H

/*************************************************************************
 * Constant Definition
 *************************************************************************/
#define KAL_MAX_NUM_HISRS           20

/*************************************************************************
 * Type Definitions
 *************************************************************************/
typedef enum {
    KAL_NO_WAIT,
    KAL_INFINITE_WAIT
} kal_wait_mode;

typedef enum {
    KAL_SUCCESS,
    KAL_ERROR,
    KAL_Q_FULL,
    KAL_Q_EMPTY,
    KAL_SEM_NOT_AVAILABLE,
    KAL_WOULD_BLOCK,
    KAL_MESSAGE_TOO_BIG,
    KAL_INVALID_ID,
    KAL_NOT_INITIALIZED,
    KAL_INVALID_LENGHT,
    KAL_NULL_ADDRESS,
    KAL_NOT_RECEIVE,
    KAL_NOT_SEND,
    KAL_MEMORY_NOT_VALID,
    KAL_NOT_PRESENT,
    KAL_MEMORY_NOT_RELEASE
} kal_status;

typedef enum {
    KAL_SEM_GIVEN,
    KAL_SEM_TAKEN
} kal_sem_state;

typedef enum {
    KAL_MUTEX_GIVEN,
    KAL_MUTEX_TAKEN
} kal_mutex_state;

typedef enum {
    /* General KAL Error */
    KAL_ERROR_KAL_INTERNAL_FAIL                     = 0,

    KAL_ERROR_KAL_SUB_ERROR_CODE1                   = 1,
    KAL_ERROR_KAL_SUB_ERROR_CODE2                   = 2,
    KAL_ERROR_KAL_SUB_ERROR_CODE3                   = 3,
    KAL_ERROR_KAL_SUB_ERROR_CODE4                   = 4,
    KAL_ERROR_KAL_SUB_ERROR_CODE5                   = 5,
    KAL_ERROR_KAL_SUB_ERROR_CODE6                   = 6,
    KAL_ERROR_KAL_SUB_ERROR_CODE7                   = 7,
    KAL_ERROR_KAL_SUB_ERROR_CODE8                   = 8,

    /* System Initialization */
    KAL_ERROR_KALINIT_INIT_FAILED                   = 0x0101,
    KAL_ERROR_KALINIT_INIT_CREATE_SEM_FAILED,
    KAL_ERROR_KALINIT_INIT_CREATE_QU_MUTEX_FAILED,
    KAL_ERROR_KALINIT_INIT_CREATE_POOL_MUTEX_FAILED,
    KAL_ERROR_KALINIT_INIT_CREATE_TIMER_MUTEX_FAILED,
    KAL_ERROR_KALINIT_INIT_CREATE_MEM_MUTEX_FAILED,
    KAL_ERROR_KALINIT_INIT_MEMFAILED,
    KAL_ERROR_KALINIT_MEMINIT_FAILED,
    KAL_ERROR_KALINIT_CACHEINIT_FAILED,
    KAL_ERROR_KALINIT_CRCCHECK_FAILED,

    /* Task Management Error */
    KAL_ERROR_TASKMNGT_CREATE_MEMFAILED             = 0x0201,
    KAL_ERROR_TASKMNGT_CREATE_STACKFAILED,
    KAL_ERROR_TASKMNGT_CREATE_FAILED,
    KAL_ERROR_TASKMNGT_DELETE_FAILED,
    KAL_ERROR_TASKMNGT_SLEEP_FAILED,
    KAL_ERROR_TASKMNGT_GETID_FAILED,
    KAL_ERROR_TASKMNGT_STACKOVERFLOW,

    /* HISR Management Error */
    KAL_ERROR_HISRMNGT_CREATE_MEMFAILED             = 0x0211,
    KAL_ERROR_HISRMNGT_CREATE_STACKFAILED,
    KAL_ERROR_HISRMNGT_CREATE_FAILED,
    KAL_ERROR_HISRMNGT_DELETE_FAILED,
    KAL_ERROR_HISRMNGT_SLEEP_FAILED,
    KAL_ERROR_HISRMNGT_ACTIVATE_FAILED,
    KAL_ERROR_HISRMNGT_GETID_FAILED,
    KAL_ERROR_HISRMNGT_STACKOVERFLOW,
    KAL_HISRMNGT_REG_FAILED,

    /* Communication Management */
    KAL_ERROR_ITC_QCREATE_MEMFAILED                 = 0x0301,
    KAL_ERROR_ITC_QCREATE_DATAMEMFAILED,
    KAL_ERROR_ITC_QCREATE_FAILED,    
    KAL_ERROR_ITC_QCREATE_FAILED_INT,
    KAL_ERROR_ITC_QDELETE_FAILED = KAL_ERROR_ITC_QCREATE_FAILED_INT,
    KAL_ERROR_ITC_QENQUE_FAILED,
    KAL_ERROR_ITC_QENQUE_MEMFAILED,
    KAL_ERROR_ITC_QDEQUE_FAILED,

    KAL_ERROR_ITC_MCREATE_MEMFAILED                 = 0x0401,
    KAL_ERROR_ITC_MDELETE_FAILED,
    KAL_ERROR_ITC_MCREATE_FAILED,
    KAL_ERROR_ITC_MTAKE_FAILED,
    KAL_ERROR_ITC_MGIVE_FAILED,
    KAL_ERROR_ITC_MTAKE_INTERNAL_FAILED,
    KAL_ERROR_ITC_MGIVE_INTERNAL_FAILED,

    KAL_ERROR_ITC_SCREATE_MEMFAILED                 = 0x0411,
    KAL_ERROR_ITC_SDELETE_FAILED,
    KAL_ERROR_ITC_SCREATE_FAILED,
    KAL_ERROR_ITC_STAKE_FAILED,
    KAL_ERROR_ITC_SGIVE_FAILED,

    KAL_ERROR_ITC_EGCREATE_MEMFAILED                = 0x0421,
    KAL_ERROR_ITC_EGDELETE_FAILED,
    KAL_ERROR_ITC_EGCREATE_FAILED,
    KAL_ERROR_ITC_EGSET_FAILED,
    KAL_ERROR_ITC_EGRETRIEVE_FAILED,

    KAL_ERROR_ITC_ILM_MULTIALLOC                    = 0x0431,
    KAL_ERROR_ITC_ILM_NOT_ALLOC,

    KAL_ERROR_ITC_MSGID_CODE_EXCEED                 = 0x441,

    /* Timer Management */
    KAL_ERROR_TIMER_CREATE_MEMFAILED                = 0x0601,
    KAL_ERROR_TIMER_CREATE_FAILED,
    KAL_ERROR_TIMER_DELETE_FAILED,
    KAL_ERROR_TIMER_SET_FAILED,
    KAL_ERROR_TIMER_CANCEL_FAILED,
    KAL_ERROR_TIMER_GETTIME_FAILED,
    KAL_ERROR_TIMER_GETTIMEREMAINING_FAILED,
    KAL_ERROR_TIMER_SCHED_FAILED,
    KAL_ERROR_TIMER_CONTROL_FAILED,

    /* Resource Management */
    KAL_ERROR_MEMMNGT_ALLOC_FAILED                  = 0x0701,
    KAL_ERROR_MEMMNGT_ALLOC_DEBUGMEM_FAILED,
    KAL_ERROR_MEMMNGT_DEALLOC_FAILED,
    KAL_ERROR_MEMMNGT_DEALLOC_DEBUGMEM_FAILED,
    KAL_ERROR_MEMMNGT_MEMCPY_FAILED,
    KAL_ERROR_MEMMNGT_MEMSET_FAILED,

    /* Control Buffer */
    KAL_ERROR_BUFFMNGR_CREATE_MEMFAILED             = 0x0801,
    KAL_ERROR_BUFFMNGR_CREATE_FAILED,
    KAL_ERROR_BUFFMNGR_DELETE_FAILED,
    KAL_ERROR_BUFFMNGR_GETBUFF_FAILED,
    KAL_ERROR_BUFFMNGR_GETBUFF_SIZE_FAILED,
    KAL_ERROR_BUFFMNGR_GET_DATABUFF_FAILED,
    KAL_ERROR_BUFFMNGR_RELEASEBUFF_FAILED,
    KAL_ERROR_BUFFMNGR_RELEASE_DATABUFF_FAILED,
    KAL_ERROR_BUFFMNGR_ISVALID_FAILED,
    KAL_ERROR_BUFFMNGR_FOOTER_FAILED,
    KAL_ERROR_BUFFMNGR_HEADER_FAILED,
    KAL_ERROR_BUFFMNGR_FOOTER_FAILED_GET,
    KAL_ERROR_BUFFMNGR_HEADER_FAILED_GET,   
    KAL_ERROR_BUFFMNGR_STAMP_FAILED,
    KAL_ERROR_BUFFMNGR_GETBUFF_INTERNAL_FAILED,
    KAL_ERROR_BUFFMNGR_FREEBUFF_INTERNAL_FAILED,

    /* Error Message */
    KAL_ERROR_ERRORMNGR_FATALHANDLER_FAILED         = 0x0901,
    KAL_ERROR_ERRORMNGR_REGISTERHANDLER_FAILED,

    /* File System */
    KAL_ERROR_FILESYS_INTERNAL_FAILED               = 0x0a01,

    /* MISC */
    KAL_ERROR_NUCLEUS_INTERNAL_FAILED               = 0x0b01,
    KAL_ERROR_DIV_BY_0_FAILED,
    KAL_ERROR_ABNORMAL_RESET_FAILED,
    KAL_ERROR_NON_REGISTERED_LISR,
    KAL_ERROR_DEBUGJ2ME_INTERNAL_ALERT,
    KAL_ERROR_SHOULD_NOT_EXECUTE,

    /* Event Scheduler */
    KAL_ERROR_EVTSCH_CREATE_MEMFAILED               = 0x0c01,
    KAL_ERROR_EVTSCH_CREATE_FAILED,
    KAL_ERROR_EVTSCH_GETBUFF_FAILED,
    KAL_ERROR_EVTSCH_RELEASEBUFF_FAILED,
    KAL_ERROR_EVTSCH_CANCEL_FAILED,

    /* DEBUG */
    KAL_ERROR_DEBUGBUFFMNGR_GETPOOLSTAT_FAILED      = 0x1001,
    KAL_ERROR_DEBUGBUFFMNGR_RESETPOOLSTAT_FAILED,
    KAL_ERROR_DEBUGBUFFMNGR_GETBUFFSTAT_FAILED,
    KAL_ERROR_DEBUGBUFFMNGR_RESETBUFFSTAT_FAILED,
    KAL_ERROR_DEBUGBUFFMNGR_POOLID_VALIDATION_FALIED,
    KAL_ERROR_DEBUGBUFFMNGR_BUFF_OVERRUN_FAILED,

    KAL_ERROR_DEBUGERRORMNGR_REGISTERPRINT_FAILED   = 0x1101,
    KAL_ERROR_DEBUGERRORMNGR_PRINT_FAILED,

    KAL_ERROR_DEBUGITC_GETQSTAT_FAILED              = 0x1201,
    KAL_ERROR_DEBUGITC_RESETQSTAT_FAILED,

    KAL_ERROR_DEBUGTIMER_GETTIMERSTAT_FAILED        = 0x1301,
    KAL_ERROR_DEBUGTIMER_RESETTIMERSTAT_FAILED,

    KAL_ERROR_CUSTOMER_TASK_ID_EXCEED_UPPER_BOUND   = 0x1501,
    KAL_ERROR_CUSTOMER_MOD_ID_EXCEED_UPPER_BOUND,
    KAL_ERROR_CUSTOMER_MEESAGE_ID_EXCEED_UPPER_BOUND,
    KAL_ERROR_CUSTOMER_SAP_ID_EXCEED_UPPER_BOUND

} kal_error_type;

typedef struct
{
    kal_uint32 param1;
    kal_uint32 param2;
    kal_uint32 param3;
    kal_uint32 param4;
    kal_uint32 param5;
    kal_uint32 param6;
    kal_uint32 param7;
} kal_error_param;

#ifdef APPMEM_SUPPORT

/* application shared memory type */
typedef enum { KAL_APPMEM_APP, KAL_APPMEM_SCREEN, KAL_APPMEM_FUNC, KAL_APPMEM_ASYNC, KAL_APPMEM_TOTAL } KAL_APPMEM_TYPE;

/* application-shared-memory allocate information */
typedef struct
{
    kal_int32 app_string_id;
    kal_int32 app_hint_id;
} KAL_APPMEM_APP_INFO;

#endif  /* APPMEM_SUPPORT */

/* To separate from l1 simuatlion environment */
#if defined(__MTK_TARGET__) || defined (MTK_KAL_MNT) || defined (KAL_ON_OSCAR)
typedef void (* kal_task_func_ptr)(task_entry_struct *task_entry_ptr);
typedef void (* kal_hisr_func_ptr)(void);
typedef void (* kal_error_func_ptr)(kal_char *, kal_uint32, kal_uint32);
typedef void (* kal_timer_func_ptr)(void *);
#endif /* non-L1 simulation */

#endif /* _KAL_COMMON_DEFS_H */


⌨️ 快捷键说明

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