SysLink API Reference  2.21.03.11
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Data Fields
FrameQBufMgr_ShMem_Params_tag Struct Reference

Structure defining parameters for the FrameQ module. More...

#include <FrameQBufMgr_ShMem.h>

Collaboration diagram for FrameQBufMgr_ShMem_Params_tag:
Collaboration graph

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 [(64u)]
UInt32 numFreeHeaderBufsInPool [(64u)]
UInt32 frameHeaderBufSize [(64u)]
UInt32 numFrameBufsInFrame [(64u)]
FrameQBufMgr_FrameBufParamsframeBufParams [(64u)]
UInt32 cpuAccessFlags
UInt32 numNotifyEntries

Detailed Description

Structure defining parameters for the FrameQ module.


Field Documentation

FrameQBufMgr_CreateParams FrameQBufMgr_ShMem_Params_tag::commonCreateParams

Common create parameters. Same for all the implementations.

GateMP_Handle FrameQBufMgr_ShMem_Params_tag::gate

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 global gate for the instance. If module's global gate does not exist, FrameQBufMgr uses the GateMP's default gate for the instance.

GateMP_LocalProtect FrameQBufMgr_ShMem_Params_tag::localProtect

Local protection level for the module instance.

GateMP_RemoteProtect FrameQBufMgr_ShMem_Params_tag::remoteProtect

Default multiprocessor protection for the module instances.

Ptr FrameQBufMgr_ShMem_Params_tag::sharedAddr

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.

UInt32 FrameQBufMgr_ShMem_Params_tag::sharedAddrSize

Size of shareAddr

Can use FrameQBufMgr_ShMem_sharedMemReq() call to determine the required size.

Required parameter.

UInt32 FrameQBufMgr_ShMem_Params_tag::regionId

Shared region ID

The ID corresponding to the shared region in which this shared instance is to be placed.

UInt32 FrameQBufMgr_ShMem_Params_tag::headerInterfaceType

Type of the interface used for frame headers.

Required parameter.

UInt32 FrameQBufMgr_ShMem_Params_tag::bufInterfaceType

Type of the interface used for frame buffers.

Required parameter.

Ptr FrameQBufMgr_ShMem_Params_tag::sharedAddrHdrBuf

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.

UInt32 FrameQBufMgr_ShMem_Params_tag::sharedAddrHdrBufSize

Size of sharedAddrHdrBuf

UInt32 FrameQBufMgr_ShMem_Params_tag::hdrBuf_regionId
Ptr FrameQBufMgr_ShMem_Params_tag::sharedAddrFrmBuf

Shared region ID for Header buffers.

The ID corresponding to the shared region from which header buffers will be allocated if sharedAddrHdrBuf is not provided. Virtual shared Region Address of chunk for frame buffers.

UInt32 FrameQBufMgr_ShMem_Params_tag::sharedAddrFrmBufSize

Size of the sharedAddrFrmBuf

UInt32 FrameQBufMgr_ShMem_Params_tag::frmBuf_regionId

Shared region ID for Frame buffers.

The ID corresponding to the shared region from which frame buffers will be allocated if sharedAddrFrmBuf is not provided.

UInt32 FrameQBufMgr_ShMem_Params_tag::numFreeFramePools

Number of buffer pools

UInt32 FrameQBufMgr_ShMem_Params_tag::numFreeFramesInPool[(64u)]

Number of free frames in each pool

UInt32 FrameQBufMgr_ShMem_Params_tag::numFreeHeaderBufsInPool[(64u)]

Number of free header buffers in each pool

UInt32 FrameQBufMgr_ShMem_Params_tag::frameHeaderBufSize[(64u)]

Array of frame header buffer sizes for all the pools

UInt32 FrameQBufMgr_ShMem_Params_tag::numFrameBufsInFrame[(64u)]

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[(64u)]

frame buffer size of framebuffers in pool

UInt32 FrameQBufMgr_ShMem_Params_tag::cpuAccessFlags

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.

UInt32 FrameQBufMgr_ShMem_Params_tag::numNotifyEntries

Number of clients that have registered callback functions with the instance.


The documentation for this struct was generated from the following file:
Copyright 2014, Texas Instruments Incorporated