00001 00043 #if !defined (MPLISTDEFS_H) 00044 #define MPLISTDEFS_H 00045 00046 00047 /* ----------------------------------- DSP/BIOS LINK Headers */ 00048 #include <dsplink.h> 00049 #include <mpcsdefs.h> 00050 00051 00052 #if defined (__cplusplus) 00053 extern "C" { 00054 #endif /* defined (__cplusplus) */ 00055 00056 00066 typedef struct MPLIST_Attrs_tag { 00067 PoolId poolId ; 00068 } MPLIST_Attrs ; 00069 00076 typedef void * MPLIST_Handle ; 00077 00089 typedef struct MPLIST_Header_tag { 00090 struct MPLIST_Header_tag * next ; 00091 struct MPLIST_Header_tag * prev ; 00092 } MPLIST_Header ; 00093 00100 typedef MPLIST_Header * MPLIST_Elem ; 00101 00115 typedef struct MPLIST_List_tag { 00116 MPLIST_Header head ; 00117 ADD_PADDING (padding, MPLIST_LIST_PADDING) 00118 MPCS_ShObj mpcsObj ; 00119 } MPLIST_List ; 00120 00139 typedef struct MPLIST_Entry_tag { 00140 Uint16 ownerProcId ; 00141 Uint16 poolId ; 00142 Pvoid phyListHandle ; 00143 Char8 name [DSP_MAX_STRLEN] ; 00144 ADD_PADDING (padding, MPLIST_ENTRY_PADDING) 00145 } MPLIST_Entry ; 00146 00176 typedef struct MPLIST_Ctrl_tag { 00177 Uint32 isInitialized ; 00178 Uint32 dspId ; 00179 Uint32 maxEntries ; 00180 Uint32 ipsId ; 00181 Uint32 ipsEventNo ; 00182 MPLIST_Entry * dspAddrEntry ; 00183 ADD_PADDING (padding, MPLIST_CTRL_PADDING) 00184 MPCS_ShObj lockObj ; 00185 } MPLIST_Ctrl ; 00186 00202 typedef struct MPLIST_MemInfo_tag { 00203 ProcessorId procId ; 00204 Uint32 physAddr ; 00205 Uint32 kernAddr ; 00206 Uint32 userAddr ; 00207 Uint32 size ; 00208 } MPLIST_MemInfo ; 00209 00210 00211 #if defined (__cplusplus) 00212 } 00213 #endif /* defined (__cplusplus) */ 00214 00215 #endif /* if !defined (MPLISTDEFS_H) */