Structure defining parameters for the FrameQ module. More...
#include <FrameQBufMgr_ShMem.h>
Data Fields | |
FrameQBufMgr_CreateParams | commonCreateParams |
GateMP_Handle | gate |
GateMP_LocalProtect | localProtect |
GateMP_RemoteProtect | remoteProtect |
Ptr | sharedAddr |
UInt32 | sharedAddrSize |
UInt32 | regionId |
UInt32 | headerInterfaceType |
UInt32 | bufInterfaceType |
Ptr | sharedAddrHdrBuf |
UInt32 | sharedAddrHdrBufSize |
UInt32 | hdrBuf_regionId |
Ptr | sharedAddrFrmBuf |
UInt32 | sharedAddrFrmBufSize |
UInt32 | frmBuf_regionId |
UInt32 | numFreeFramePools |
UInt32 | numFreeFramesInPool [FrameQBufMgr_MAX_POOLS] |
UInt32 | numFreeHeaderBufsInPool [FrameQBufMgr_MAX_POOLS] |
UInt32 | frameHeaderBufSize [FrameQBufMgr_MAX_POOLS] |
UInt32 | numFrameBufsInFrame [FrameQBufMgr_MAX_POOLS] |
FrameQBufMgr_FrameBufParams * | frameBufParams [FrameQBufMgr_MAX_POOLS] |
UInt32 | cpuAccessFlags |
UInt32 | numNotifyEntries |
Structure defining parameters for the FrameQ module.
Common create parameters .Same for all the implementations
gate used for critical region management of the shared memory.
If it is null, FrameQBufMgr decides the gate based on the following 1. If module's usedefaultgate is set to FALSE, It creates a gate internally based on the localProtect and remoteProtect flags provided in this params. 2. If module's usedefaultgate is set to TRUE, it uses the module' s gloabl gate for the instance. if module's global gate does not exist FrameQBufMgr uses the GateMP's default gate for the instance.
Local protection level for the module instance.
Default multiprocessor protection for the module instances.
Virtual Address of the shared memory.Must be mapped on other processors if instance needs to be accessible from other processors.
The creator must supply the shared memory that this will use for maintain shared state information. Required parameter.
======== sharedAddrSize ======== Size of shareAddr
Can use the FrameQBufMgr_ShMem_sharedMemReq call to determine the required size.
Required parameter.
Shared region ID
The ID corresponding to the shared region in which this shared instance is to be placed.
Type of the interface used for frame headers.
Required parameter.
Type of the interface used for frame buffers.
Required parameter.
Virtual Address of the shared memory for frame header buffers.Must be mapped on other processors if the buffers managed by this instance needs to be accessible from other processors.
The creator can supply the shared memory that this will use for maintaining the data buffers. Applications can create instances without passing this address.In this case applications need to add buffers to the instance at runtime.
Size of sharedAddrHdrBuf
Shared region ID for Header buffers.
The ID corresponding to the shared region in From which Header buffers will be allocated if sharedAddrHdrBuf is not provided. Virtual shared Region Address of chunk for frame buffers.
sharedAddrHdrBufSize Size of the sharedAddrFrmBuf.
Shared region ID for Frame buffers.
The ID corresponding to the shared region in From which Frame buffers will be allocated if sharedAddrFrmBuf is not provided. Number of buffer pools.
UInt32 FrameQBufMgr_ShMem_Params_tag::numFreeFramesInPool[FrameQBufMgr_MAX_POOLS] |
Number of free frames in each pool
UInt32 FrameQBufMgr_ShMem_Params_tag::numFreeHeaderBufsInPool[FrameQBufMgr_MAX_POOLS] |
Number of free header buffers in each pool
UInt32 FrameQBufMgr_ShMem_Params_tag::frameHeaderBufSize[FrameQBufMgr_MAX_POOLS] |
Array of frame header buffer sizes for all the pools
UInt32 FrameQBufMgr_ShMem_Params_tag::numFrameBufsInFrame[FrameQBufMgr_MAX_POOLS] |
Number of frame buffers in a frame. For each pool, Apps can specify the number of buffers in frames
FrameQBufMgr_FrameBufParams* FrameQBufMgr_ShMem_Params_tag::frameBufParams[FrameQBufMgr_MAX_POOLS] |
frame buffer size of framebuffers in pool
cpuAccessFlags flags denoting whether frame buffers are accessed through CPU or not. All the conrol structure and header buffers cache flags will be derived internally based on shared region settings.