46 #ifndef ti_xdais_IALG_
47 #define ti_xdais_IALG_
60 #define IALG_DEFMEMRECS 4
61 #define IALG_OBJMEMREC 0
62 #define IALG_SYSCMD 256
65 #define IALG_EFAIL (-1)
67 #define IALG_CUSTOMFAILBASE (-2048)
71 #define IALG_CUSTOMFAILEND (-256)
79 typedef enum IALG_MemAttrs {
85 #define IALG_MPROG 0x0008
86 #define IALG_MXTRN 0x0010
121 #define IALG_isProg(s) ( \
122 (((int)(s)) & IALG_MPROG) \
128 #define IALG_isOffChip(s) ( \
129 (((int)(s)) & IALG_MXTRN) \
struct IALG_MemRec IALG_MemRec
Memory records.
Memory records.
Definition: ialg.h:142
Int(* algInit)(IALG_Handle handle, const IALG_MemRec *memTab, IALG_Handle parent, const IALG_Params *params)
Initialize an algorithm's instance object. Must be non-NULL.
Definition: ialg.h:677
struct IALG_Params IALG_Params
Algorithm instance creation parameters.
IALG_MemAttrs attrs
Definition: ialg.h:146
Pointer to algorithm specific status structure.
Definition: ialg.h:187
IALG_MemSpace
Defined memory spaces.
Definition: ialg.h:100
Algorithm instance object definition.
Definition: ialg.h:159
Void(* algActivate)(IALG_Handle handle)
Notification to the algorithm that its memory is "active" and algorithm processing methods may be cal...
Definition: ialg.h:281
struct IALG_Status IALG_Status
Pointer to algorithm specific status structure.
Void(* algDeactivate)(IALG_Handle handle)
Save all persistent data to non-scratch memory.
Definition: ialg.h:460
Int size
Definition: ialg.h:177
#define IALG_MXTRN
Definition: ialg.h:92
struct IALG_Fxns IALG_Fxns
Defines the fields and methods that must be supplied by all XDAIS algorithms.
IALG_MemAttrs
Memory attributes.
Definition: ialg.h:85
Algorithm instance creation parameters.
Definition: ialg.h:176
Int(* algControl)(IALG_Handle handle, IALG_Cmd cmd, IALG_Status *status)
Algorithm specific control and status.
Definition: ialg.h:404
struct IALG_Fxns * fxns
Definition: ialg.h:160
#define IALG_MPROG
Definition: ialg.h:91
Int alignment
Definition: ialg.h:144
IALG_MemSpace space
Definition: ialg.h:145
Void(* algMoved)(IALG_Handle handle, const IALG_MemRec *memTab, IALG_Handle parent, const IALG_Params *params)
Notify algorithm instance that instance memory has been relocated.
Definition: ialg.h:700
Int(* algNumAlloc)(Void)
Number of memory allocation requests required.
Definition: ialg.h:759
struct IALG_Obj * IALG_Handle
Handle to an algorithm instance object.
Definition: ialg.h:167
Int(* algAlloc)(const IALG_Params *params, struct IALG_Fxns **parentFxns, IALG_MemRec *memTab)
Apps call this to query the algorithm about its memory requirements. Must be non-NULL.
Definition: ialg.h:361
Defines the fields and methods that must be supplied by all XDAIS algorithms.
Definition: ialg.h:225
Void * base
Definition: ialg.h:147
struct IALG_Obj IALG_Obj
Algorithm instance object definition.
Int size
Definition: ialg.h:188
Int(* algFree)(IALG_Handle handle, IALG_MemRec *memTab)
Apps call this to allow the algorithm to initialize memory requested via algAlloc(). Must be non-NULL.
Definition: ialg.h:502
Uns size
Definition: ialg.h:143
unsigned int IALG_Cmd
Algorithm specific command.
Definition: ialg.h:199
Void * implementationId
Unique pointer that identifies the module implementing this interface.
Definition: ialg.h:230