#include <idma3.h>
getEnvMemRec() - Called by the DMA manager when creating a logical DMA channel, to query the IDMA3 protocol's memory requirements for its environment.
initHandle() - Called by the DMA manager after allocation the environment, to allow the IDMA3 protocol to do any initialization of its environment.
deInitHandle() - Called by the DMA manager when a channel is freed, so that the IDMA3 protocol can do any required de-initialization or freeing any memory that may have been allocated in initHandle().
Data Fields | |
String | name |
Void(* | getEnvMemRec )(IDMA3_ChannelRec *chnlRec, IDMA3_MemRec *memRec) |
Bool(* | initHandle )(IDMA3_Handle handle) |
Bool(* | deInitHandle )(IDMA3_Handle handle) |
String IDMA3_ProtocolObj::name |
Name of the protocol
Void(* IDMA3_ProtocolObj::getEnvMemRec)(IDMA3_ChannelRec *chnlRec, IDMA3_MemRec *memRec) |
Fill in the IDMA3_MemRec with the memory attributes needed for allocation of the IDMA3 protocol's environment buffer.
Bool(* IDMA3_ProtocolObj::initHandle)(IDMA3_Handle handle) |
Initialize the env stored in the IDMA3 channel handle. Return TRUE on success, FALSE otherwise. If FALSE is returned channel creation will fail.
When (and if) the framework/resource manager allocates requested internal 'env' memory as 'scratch', the 'env' pointer passed in the IDMA3_Handle points to a persistent, private memory which contains the address of the 'scratch' allocated 'internal' 'env' memory in the first word of the 'persistent' 'env' pointer. If the first word of the env memory is NULL, then no separate 'scratch' memory has been allocated and 'env' memory itself is 'persistent'.
Bool(* IDMA3_ProtocolObj::deInitHandle)(IDMA3_Handle handle) |
De-Initialize the env stored in the IDMA3 channel handle, before it is freed by the DMA manager.