view gsm-fw/gpf/inc/pei.h @ 679:a2a65fdc1a99
alr_em.c compiles
author
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date
Mon, 29 Sep 2014 16:23:20 +0000 (2014-09-29)
parents
79080922d8e4
children
line source
+ − /*
+ − +------------------------------------------------------------------------------
+ − | File: pei.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 : Protocol Entity Interface exported definitions.
+ − +-----------------------------------------------------------------------------
+ − */
+ −
+ −
+ − #ifndef __PEI_H__
+ − #define __PEI_H__
+ −
+ − /*==== INCLUDES ============================================================*/
+ −
+ − #include <stddef.h>
+ −
+ − /*==== CONSTANTS ===========================================================*/
+ −
+ − #define PEI_OK 0
+ − #define PEI_ERROR (-1)
+ −
+ − /*==== TYPES ===============================================================*/
+ −
+ − typedef int T_PEI_RETURN;
+ − typedef char * T_PEI_CONFIG;
+ − typedef void T_PEI_MONITOR;
+ −
+ − /*
+ − * types and macros for pei-jumptable processing
+ − */
+ −
+ − #define PALLOC_TRANSITION /* to reinsert the sdu pointer in pei_primitive */
+ − #define NO_COPY_ROUTING /* has to be set for frame version > 2.5.0 */
+ −
+ − /*
+ − * for definitions of jumptables
+ − */
+ − typedef void (*T_VOID_FUNC)();
+ − typedef short (*T_SHORT_FUNC)();
+ −
+ − typedef struct { T_VOID_FUNC func; size_t size; size_t soff; ULONG opc; } T_FUNC;
+ − #define MAK_FUNC_S(FUNC,OPC) { (T_VOID_FUNC)FUNC, sizeof(T_##OPC), offsetof(T_##OPC,sdu), OPC }
+ − #define MAK_FUNC_0(FUNC,OPC) { (T_VOID_FUNC)FUNC, sizeof(T_##OPC), 0 , OPC }
+ − #define MAK_FUNC_N(FUNC,OPC) { (T_VOID_FUNC)FUNC, 0 , 0 , 0 }
+ −
+ − #define TAB_SIZE(T) (sizeof T / sizeof *T)
+ −
+ − typedef struct
+ − {
+ − SHORT (*pei_init)(T_HANDLE);
+ − SHORT (*pei_exit)(void);
+ − SHORT (*pei_primitive)(void*);
+ − SHORT (*pei_timeout)(USHORT);
+ − SHORT (*pei_signal)(ULONG,void*);
+ − SHORT (*pei_run)(T_HANDLE,T_HANDLE);
+ − SHORT (*pei_config)(char*);
+ − SHORT (*pei_monitor)(void**);
+ − } T_PEI_FUNC;
+ −
+ −
+ − typedef struct
+ − {
+ − char const *Name;
+ − T_PEI_FUNC PeiTable;
+ − ULONG StackSize;
+ − USHORT QueueEntries;
+ − USHORT Priority;
+ − USHORT NumOfTimers;
+ − U32 Flags;
+ − } T_PEI_INFO;
+ −
+ −
+ − #endif /* __PEI_H__ */
+ −