frm_types.h
来自「是一个手机功能的模拟程序」· C头文件 代码 · 共 406 行
H
406 行
/*
+------------------------------------------------------------------------------
| File: frm_types.h
+------------------------------------------------------------------------------
| Copyright 2002 Texas Instruments Berlin, AG
| All rights reserved.
|
| This file is confidential and a trade secret of Texas
| Instruments Berlin, AG
| The receipt of or possession of this file does not convey
| any rights to reproduce or disclose its contents or to
| manufacture, use, or sell anything it may describe, in
| whole, or in part, without the specific written consent of
| Texas Instruments Berlin, AG.
+-----------------------------------------------------------------------------
| Purpose : Definitions for the Frame
+-----------------------------------------------------------------------------
*/
#ifndef FRM_TYPES_H
#define FRM_TYPES_H
/*==== INCLUDES =============================================================*/
/*==== CONSTANTS ============================================================*/
/*==== TYPES ================================================================*/
/*
* Type Definitions for Task Management
*/
#define FRM_TASK_TABLE_ENTRY_SIZE 9
#define FRM_TIMCFG_TABLE_ENTRY_SIZE 2
#define FRM_DRV_TABLE_ENTRY_SIZE 5
#ifndef CONFIG_MODULE
#include "frm_ctrl.h"
#else
typedef struct
{
ULONG Entry [ FRM_TASK_TABLE_ENTRY_SIZE ];
} T_FRM_TASK_TABLE_ENTRY;
typedef struct
{
ULONG Entry [ FRM_TIMCFG_TABLE_ENTRY_SIZE ];
} T_FRM_TIMCFG_TABLE_ENTRY;
typedef struct
{
ULONG Entry [ FRM_DRV_TABLE_ENTRY_SIZE ];
} T_DRV_TABLE_ENTRY;
#define PRIMPOOL_0_SIZE ((PRIMPART_0_SIZE+PT_CHKOVERHEAD+PT_OVERHEAD)*PRIMPOOL_0_PARTITIONS)
#define PRIMPOOL_1_SIZE ((PRIMPART_1_SIZE+PT_CHKOVERHEAD+PT_OVERHEAD)*PRIMPOOL_1_PARTITIONS)
#define PRIMPOOL_2_SIZE ((PRIMPART_2_SIZE+PT_CHKOVERHEAD+PT_OVERHEAD)*PRIMPOOL_2_PARTITIONS)
#define PRIMPOOL_3_SIZE ((PRIMPART_3_SIZE+PT_CHKOVERHEAD+PT_OVERHEAD)*PRIMPOOL_3_PARTITIONS)
#define PRIMPOOL_4_SIZE ((PRIMPART_4_SIZE+PT_CHKOVERHEAD+PT_OVERHEAD)*PRIMPOOL_4_PARTITIONS)
#define PRIMPOOL_5_SIZE ((PRIMPART_5_SIZE+PT_CHKOVERHEAD+PT_OVERHEAD)*PRIMPOOL_5_PARTITIONS)
#define PRIMPOOL_0_OFFSET 0
#define PRIMPOOL_1_OFFSET (PRIMPOOL_0_OFFSET + PRIMPOOL_0_SIZE)
#define PRIMPOOL_2_OFFSET (PRIMPOOL_1_OFFSET + PRIMPOOL_1_SIZE)
#define PRIMPOOL_3_OFFSET (PRIMPOOL_2_OFFSET + PRIMPOOL_2_SIZE)
#define PRIMPOOL_4_OFFSET (PRIMPOOL_3_OFFSET + PRIMPOOL_3_SIZE)
#define PRIMPOOL_5_OFFSET (PRIMPOOL_4_OFFSET + PRIMPOOL_4_SIZE)
#define PRIMGROUP_SIZE (PRIMPOOL_0_SIZE+PRIMPOOL_1_SIZE+PRIMPOOL_2_SIZE+\
PRIMPOOL_3_SIZE+PRIMPOOL_4_SIZE+PRIMPOOL_5_SIZE+\
POOL_OVERHEAD)
#define DMEMPOOL_0_SIZE ((DMEMPART_0_SIZE+PT_CHKOVERHEAD+PT_OVERHEAD)*DMEMPOOL_0_PARTITIONS)
#define DMEMPOOL_1_SIZE ((DMEMPART_1_SIZE+PT_CHKOVERHEAD+PT_OVERHEAD)*DMEMPOOL_1_PARTITIONS)
#define DMEMPOOL_2_SIZE ((DMEMPART_2_SIZE+PT_CHKOVERHEAD+PT_OVERHEAD)*DMEMPOOL_2_PARTITIONS)
#define DMEMPOOL_3_SIZE ((DMEMPART_3_SIZE+PT_CHKOVERHEAD+PT_OVERHEAD)*DMEMPOOL_3_PARTITIONS)
#define DMEMPOOL_4_SIZE ((DMEMPART_4_SIZE+PT_CHKOVERHEAD+PT_OVERHEAD)*DMEMPOOL_4_PARTITIONS)
#define DMEMPOOL_5_SIZE ((DMEMPART_5_SIZE+PT_CHKOVERHEAD+PT_OVERHEAD)*DMEMPOOL_5_PARTITIONS)
#define DMEMPOOL_0_OFFSET 0
#define DMEMPOOL_1_OFFSET (DMEMPOOL_0_OFFSET + DMEMPOOL_0_SIZE)
#define DMEMPOOL_2_OFFSET (DMEMPOOL_1_OFFSET + DMEMPOOL_1_SIZE)
#define DMEMPOOL_3_OFFSET (DMEMPOOL_2_OFFSET + DMEMPOOL_2_SIZE)
#define DMEMPOOL_4_OFFSET (DMEMPOOL_3_OFFSET + DMEMPOOL_3_SIZE)
#define DMEMPOOL_5_OFFSET (DMEMPOOL_4_OFFSET + DMEMPOOL_4_SIZE)
#define _DMEMGROUP_SIZE (DMEMPOOL_0_SIZE+DMEMPOOL_1_SIZE+DMEMPOOL_2_SIZE+\
DMEMPOOL_3_SIZE+DMEMPOOL_4_SIZE+DMEMPOOL_5_SIZE+\
POOL_OVERHEAD)
#define DMEMGROUP_SIZE (_DMEMGROUP_SIZE ? _DMEMGROUP_SIZE : 1)
#define TESTPOOL_0_SIZE ((TESTPART_0_SIZE+PT_CHKOVERHEAD+PT_OVERHEAD)*TESTPOOL_0_PARTITIONS)
#define TESTPOOL_1_SIZE ((TESTPART_1_SIZE+PT_CHKOVERHEAD+PT_OVERHEAD)*TESTPOOL_1_PARTITIONS)
#define TESTPOOL_2_SIZE ((TESTPART_2_SIZE+PT_CHKOVERHEAD+PT_OVERHEAD)*TESTPOOL_2_PARTITIONS)
#define TESTPOOL_3_SIZE ((TESTPART_3_SIZE+PT_CHKOVERHEAD+PT_OVERHEAD)*TESTPOOL_3_PARTITIONS)
#define TESTPOOL_4_SIZE ((TESTPART_4_SIZE+PT_CHKOVERHEAD+PT_OVERHEAD)*TESTPOOL_4_PARTITIONS)
#define TESTPOOL_5_SIZE ((TESTPART_5_SIZE+PT_CHKOVERHEAD+PT_OVERHEAD)*TESTPOOL_5_PARTITIONS)
#define TESTPOOL_0_OFFSET 0
#define TESTPOOL_1_OFFSET (TESTPOOL_0_OFFSET + TESTPOOL_0_SIZE)
#define TESTPOOL_2_OFFSET (TESTPOOL_1_OFFSET + TESTPOOL_1_SIZE)
#define TESTPOOL_3_OFFSET (TESTPOOL_2_OFFSET + TESTPOOL_2_SIZE)
#define TESTPOOL_4_OFFSET (TESTPOOL_3_OFFSET + TESTPOOL_3_SIZE)
#define TESTPOOL_5_OFFSET (TESTPOOL_4_OFFSET + TESTPOOL_4_SIZE)
#define TESTGROUP_SIZE (TESTPOOL_0_SIZE+TESTPOOL_1_SIZE+TESTPOOL_2_SIZE+\
TESTPOOL_3_SIZE+TESTPOOL_4_SIZE+TESTPOOL_5_SIZE+\
POOL_OVERHEAD)
/*
* Evalute partition sizes that are next next number that can be divided by 4
* for the PRIMPOOLs
*/
#if (PRIM_PARTITION_0_SIZE%4 > 0)
#define PRIMPART_0_SIZE (PRIM_PARTITION_0_SIZE-((PRIM_PARTITION_0_SIZE)%sizeof(ULONG))+sizeof(ULONG))
#else
#define PRIMPART_0_SIZE PRIM_PARTITION_0_SIZE
#endif
#if (PRIM_PARTITION_1_SIZE%4 > 0)
#define PRIMPART_1_SIZE (PRIM_PARTITION_1_SIZE-((PRIM_PARTITION_1_SIZE)%sizeof(ULONG))+sizeof(ULONG))
#else
#define PRIMPART_1_SIZE PRIM_PARTITION_1_SIZE
#endif
#if (PRIM_PARTITION_2_SIZE%4 > 0)
#define PRIMPART_2_SIZE (PRIM_PARTITION_2_SIZE-((PRIM_PARTITION_2_SIZE)%sizeof(ULONG))+sizeof(ULONG))
#else
#define PRIMPART_2_SIZE PRIM_PARTITION_2_SIZE
#endif
#if (PRIM_PARTITION_3_SIZE%4 > 0)
#define PRIMPART_3_SIZE (PRIM_PARTITION_3_SIZE-((PRIM_PARTITION_3_SIZE)%sizeof(ULONG))+sizeof(ULONG))
#else
#define PRIMPART_3_SIZE PRIM_PARTITION_3_SIZE
#endif
#if (PRIM_PARTITION_4_SIZE%4 > 0)
#define PRIMPART_4_SIZE (PRIM_PARTITION_4_SIZE-((PRIM_PARTITION_4_SIZE)%sizeof(ULONG))+sizeof(ULONG))
#else
#define PRIMPART_4_SIZE PRIM_PARTITION_4_SIZE
#endif
#if (PRIM_PARTITION_5_SIZE%4 > 0)
#define PRIMPART_5_SIZE (PRIM_PARTITION_5_SIZE-((PRIM_PARTITION_5_SIZE)%sizeof(ULONG))+sizeof(ULONG))
#else
#define PRIMPART_5_SIZE PRIM_PARTITION_5_SIZE
#endif
/*
* Evalute partition sizes that are next next number that can be divided by 4
* for the DMEMPOOLs
*/
#if (DMEM_PARTITION_0_SIZE%4 > 0)
#define DMEMPART_0_SIZE (DMEM_PARTITION_0_SIZE-((DMEM_PARTITION_0_SIZE)%sizeof(ULONG))+sizeof(ULONG))
#else
#define DMEMPART_0_SIZE DMEM_PARTITION_0_SIZE
#endif
#if (DMEM_PARTITION_1_SIZE%4 > 0)
#define DMEMPART_1_SIZE (DMEM_PARTITION_1_SIZE-((DMEM_PARTITION_1_SIZE)%sizeof(ULONG))+sizeof(ULONG))
#else
#define DMEMPART_1_SIZE DMEM_PARTITION_1_SIZE
#endif
#if (DMEM_PARTITION_2_SIZE%4 > 0)
#define DMEMPART_2_SIZE (DMEM_PARTITION_2_SIZE-((DMEM_PARTITION_2_SIZE)%sizeof(ULONG))+sizeof(ULONG))
#else
#define DMEMPART_2_SIZE DMEM_PARTITION_2_SIZE
#endif
#if (DMEM_PARTITION_3_SIZE%4 > 0)
#define DMEMPART_3_SIZE (DMEM_PARTITION_3_SIZE-((DMEM_PARTITION_3_SIZE)%sizeof(ULONG))+sizeof(ULONG))
#else
#define DMEMPART_3_SIZE DMEM_PARTITION_3_SIZE
#endif
#if (DMEM_PARTITION_4_SIZE%4 > 0)
#define DMEMPART_4_SIZE (DMEM_PARTITION_4_SIZE-((DMEM_PARTITION_4_SIZE)%sizeof(ULONG))+sizeof(ULONG))
#else
#define DMEMPART_4_SIZE DMEM_PARTITION_4_SIZE
#endif
#if (DMEM_PARTITION_5_SIZE%4 > 0)
#define DMEMPART_5_SIZE (DMEM_PARTITION_5_SIZE-((DMEM_PARTITION_5_SIZE)%sizeof(ULONG))+sizeof(ULONG))
#else
#define DMEMPART_5_SIZE DMEM_PARTITION_5_SIZE
#endif
/*
* Evalute partition sizes that are next next number that can be divided by 4
* for the TESTPOOLs
*/
#if (TEST_PARTITION_0_SIZE%4 > 0)
#define TESTPART_0_SIZE (TEST_PARTITION_0_SIZE-((TEST_PARTITION_0_SIZE)%sizeof(ULONG))+sizeof(ULONG))
#else
#define TESTPART_0_SIZE TEST_PARTITION_0_SIZE
#endif
#if (TEST_PARTITION_1_SIZE%4 > 0)
#define TESTPART_1_SIZE (TEST_PARTITION_1_SIZE-((TEST_PARTITION_1_SIZE)%sizeof(ULONG))+sizeof(ULONG))
#else
#define TESTPART_1_SIZE TEST_PARTITION_1_SIZE
#endif
#if (TEST_PARTITION_2_SIZE%4 > 0)
#define TESTPART_2_SIZE (TEST_PARTITION_2_SIZE-((TEST_PARTITION_2_SIZE)%sizeof(ULONG))+sizeof(ULONG))
#else
#define TESTPART_2_SIZE TEST_PARTITION_2_SIZE
#endif
#if (TEST_PARTITION_3_SIZE%4 > 0)
#define TESTPART_3_SIZE (TEST_PARTITION_3_SIZE-((TEST_PARTITION_3_SIZE)%sizeof(ULONG))+sizeof(ULONG))
#else
#define TESTPART_3_SIZE TEST_PARTITION_3_SIZE
#endif
#if (TEST_PARTITION_4_SIZE%4 > 0)
#define TESTPART_4_SIZE (TEST_PARTITION_4_SIZE-((TEST_PARTITION_4_SIZE)%sizeof(ULONG))+sizeof(ULONG))
#else
#define TESTPART_4_SIZE TEST_PARTITION_4_SIZE
#endif
#if (TEST_PARTITION_5_SIZE%4 > 0)
#define TESTPART_5_SIZE (TEST_PARTITION_5_SIZE-((TEST_PARTITION_5_SIZE)%sizeof(ULONG))+sizeof(ULONG))
#else
#define TESTPART_5_SIZE TEST_PARTITION_5_SIZE
#endif
#if PRIM_PARTITION_5_SIZE > 0
#define NUM_OF_PRIM_POOLS 6
#define MAX_PRIMPART_SIZE PRIMPART_5_SIZE
#elif PRIM_PARTITION_4_SIZE > 0
#undef NUM_OF_PRIM_POOLS
#define NUM_OF_PRIM_POOLS 5
#undef MAX_PRIMPART_SIZE
#define MAX_PRIMPART_SIZE PRIMPART_4_SIZE
#elif PRIM_PARTITION_3_SIZE > 0
#undef NUM_OF_PRIM_POOLS
#define NUM_OF_PRIM_POOLS 4
#undef MAX_PRIMPART_SIZE
#define MAX_PRIMPART_SIZE PRIMPART_3_SIZE
#elif PRIM_PARTITION_2_SIZE > 0
#undef NUM_OF_PRIM_POOLS
#define NUM_OF_PRIM_POOLS 3
#undef MAX_PRIMPART_SIZE
#define MAX_PRIMPART_SIZE PRIMPART_2_SIZE
#elif PRIM_PARTITION_1_SIZE > 0
#undef NUM_OF_PRIM_POOLS
#define NUM_OF_PRIM_POOLS 2
#undef MAX_PRIMPART_SIZE
#define MAX_PRIMPART_SIZE PRIMPART_1_SIZE
#elif PRIM_PARTITION_0_SIZE > 0
#undef NUM_OF_PRIM_POOLS
#define NUM_OF_PRIM_POOLS 1
#undef MAX_PRIMPART_SIZE
#define MAX_PRIMPART_SIZE PRIMPART_0_SIZE
#else
#undef NUM_OF_PRIM_POOLS
#define NUM_OF_PRIM_POOLS 0
#endif
#if DMEM_PARTITION_5_SIZE > 0
#define NUM_OF_DMEM_POOLS 6
#elif DMEM_PARTITION_4_SIZE > 0
#undef NUM_OF_DMEM_POOLS
#define NUM_OF_DMEM_POOLS 5
#elif DMEM_PARTITION_3_SIZE > 0
#undef NUM_OF_DMEM_POOLS
#define NUM_OF_DMEM_POOLS 4
#elif DMEM_PARTITION_2_SIZE > 0
#undef NUM_OF_DMEM_POOLS
#define NUM_OF_DMEM_POOLS 3
#elif DMEM_PARTITION_1_SIZE > 0
#undef NUM_OF_DMEM_POOLS
#define NUM_OF_DMEM_POOLS 2
#elif DMEM_PARTITION_0_SIZE > 0
#undef NUM_OF_DMEM_POOLS
#define NUM_OF_DMEM_POOLS 1
#else
#undef NUM_OF_DMEM_POOLS
#define NUM_OF_DMEM_POOLS 1
#endif
#if TEST_PARTITION_5_SIZE > 0
#define NUM_OF_TEST_POOLS 6
#elif TEST_PARTITION_4_SIZE > 0
#undef NUM_OF_TEST_POOLS
#define NUM_OF_TEST_POOLS 5
#elif TEST_PARTITION_3_SIZE > 0
#undef NUM_OF_TEST_POOLS
#define NUM_OF_TEST_POOLS 4
#elif TEST_PARTITION_2_SIZE > 0
#undef NUM_OF_TEST_POOLS
#define NUM_OF_TEST_POOLS 3
#elif TEST_PARTITION_1_SIZE > 0
#undef NUM_OF_TEST_POOLS
#define NUM_OF_TEST_POOLS 2
#elif TEST_PARTITION_0_SIZE > 0
#undef NUM_OF_TEST_POOLS
#define NUM_OF_TEST_POOLS 1
#else
#undef NUM_OF_TEST_POOLS
#define NUM_OF_TEST_POOLS 0
#endif
#define NUM_OF_PPM_POOLS (MAX_POOL_GROUPS*MAX_POOLS_PER_GROUP)
#define NUM_OF_PPM_PARTITIONS (PRIMPOOL_0_PARTITIONS + PRIMPOOL_1_PARTITIONS+\
PRIMPOOL_2_PARTITIONS + PRIMPOOL_3_PARTITIONS+\
PRIMPOOL_4_PARTITIONS + PRIMPOOL_5_PARTITIONS+\
DMEMPOOL_0_PARTITIONS + DMEMPOOL_1_PARTITIONS+\
DMEMPOOL_2_PARTITIONS + DMEMPOOL_3_PARTITIONS+\
DMEMPOOL_4_PARTITIONS + DMEMPOOL_5_PARTITIONS)
#define NUM_OF_PPM_RANGES (MAX_POOL_GROUPS*MAX_POOLS_PER_GROUP*RANGES_PER_POOL)
#endif /* CONFIG_MODULE */
typedef struct
{
ULONG PartitionSize;
USHORT NumOfPartitions;
void *PoolAddress;
} T_PARTITION_POOL_CONFIG;
typedef struct
{
char *Name;
USHORT ppm;
USHORT UsedPools;
T_HANDLE *PoolGroupHandle;
T_PARTITION_POOL_CONFIG PoolConfig [ MAX_POOLS_PER_GROUP+1 ];
} T_PARTITION_POOL_GROUP_CONFIG;
typedef struct
{
char *Name;
ULONG Size;
UBYTE *PoolAddress;
} T_MEMORY_POOL_CONFIG;
typedef struct
{
T_HANDLE *PoolHandle;
T_MEMORY_POOL_CONFIG *PoolConfig;
} T_MEMORY_POOL_PARAMETER;
typedef SHORT T_PEI_CREATE ( T_PEI_INFO const **Info );
typedef struct
{
T_PEI_CREATE *PeiCreate;
char *Name;
int Priority;
} T_COMPONENT_ADDRESS;
#ifdef MEMORY_SUPERVISION
typedef struct
{
ULONG Total; /* total number of elements */
ULONG Current; /* current number of elements */
ULONG Maximum; /* maximum number of elements */
ULONG MaxByteMemory; /* number of allocated bytes at maximum of elements */
ULONG MaxPartMemory; /* number of allocated partitions at maximum of elements */
} T_COUNTER;
typedef struct
{
ULONG UsedSize; /* size of stored primitive */
ULONG RequestedSize; /* requested size during allocation */
ULONG time; /* time when partition is touched */
USHORT Status; /* status of partition */
T_HANDLE owner;
ULONG PrimOPC; /* opc of primitive that uses this partition */
void *ptr;
const char *Userfile; /* file that accesses partition */
int Line; /* line where partition is accessed */
} T_PARTITION_STATUS;
typedef struct
{
ULONG PrimOPC; /* opc of primitive that does not fit in partition */
const char *Userfile; /* file that access partition */
int Line; /* line where partition is accessed */
} T_OVERSIZE_STATUS;
typedef struct
{
T_PARTITION_STATUS *PartitionStatus;
T_OVERSIZE_STATUS *PartitionOversize;
T_COUNTER *PartitionCounter;
#ifdef OPTIMIZE_POOL
T_COUNTER *ByteCounter;
T_COUNTER *RangeCounter;
#endif /* OPTIMIZE_POOL */
} T_PARTITION_POOL_STATUS;
#endif
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?