module ti.syslink.ipc.rtos.shMem.FrameQBufMgr_ShMem
C synopsis target-domain sourced in ti/syslink/ipc/rtos/shMem/FrameQBufMgr_ShMem.xdc
#include <ti/syslink/ipc/rtos/shMem/FrameQBufMgr_ShMem.h>
Functions
Int32 
Int32 
Void
UInt32 
Functions common to all IFrameQBufMgr modules
Ptr 
Int32 
Int32 
Int32 
Int32 
Int32 
Int32 
Int32 
Int32 
Ptr 
UInt32 
Int32 
Int32 
Int32 
Int32 
FrameQBufMgr_ShMem_invalidateFrameBuf// (FrameQBufMgr_ShMem_Handle handle, Ptr frameBuf, UInt32 size, UInt8 bufNumInFrame);
Int32 
Bool 
Bool 
Int32 
Int32 
Int32 
Int32 
Int32 
Int32 
Int32 
Functions common to all target instances
Functions common to all target modules
Defines
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
Typedefs
typedef enum
typedef struct
typedef enum
typedef struct
typedef struct
typedef struct
typedef enum
typedef struct
typedef struct
typedef struct
typedef struct
typedef struct
typedef enum
typedef Void 
typedef struct
typedef struct
typedef struct
typedef struct
typedef UInt32 
typedef struct
Constants
extern const UInt32 
extern const Assert_Id 
extern const Assert_Id 
extern const Assert_Id 
extern const Assert_Id 
extern const Assert_Id 
extern const Assert_Id 
extern const Assert_Id 
extern const Assert_Id 
extern const UInt32 
extern const Error_Id 
extern const Error_Id 
extern const Error_Id 
extern const Error_Id 
extern const Error_Id 
extern const Error_Id 
extern const Error_Id 
extern const Error_Id 
extern const Error_Id 
extern const Error_Id 
extern const Error_Id 
extern const Error_Id 
extern const Error_Id 
extern const Error_Id 
extern const Error_Id 
extern const UInt32 
extern const UInt32 
extern const NameServer_Handle 
extern const UInt32 
extern const Bool 
 
 
const FrameQBufMgr_ShMem_DYNAMIC_CREATE

Type of creation

C synopsis target-domain
#define FrameQBufMgr_ShMem_DYNAMIC_CREATE (UInt32)0x4
 
 
const FrameQBufMgr_ShMem_DYNAMIC_CREATE_USEDREGION

Type of creation

C synopsis target-domain
#define FrameQBufMgr_ShMem_DYNAMIC_CREATE_USEDREGION (UInt32)0x8
 
 
const FrameQBufMgr_ShMem_DYNAMIC_FRAME

Denotes Frame belongs to dynamic frame grougp that are added dynamically at runtime

C synopsis target-domain
#define FrameQBufMgr_ShMem_DYNAMIC_FRAME (UInt8)2
 
 
const FrameQBufMgr_ShMem_DYNAMIC_OPEN

Type of open

C synopsis target-domain
#define FrameQBufMgr_ShMem_DYNAMIC_OPEN (UInt32)0x20
 
 
const FrameQBufMgr_ShMem_FRAMEBUF_CPUACCESSFLAGS_BITOFFSET
C synopsis target-domain
#define FrameQBufMgr_ShMem_FRAMEBUF_CPUACCESSFLAGS_BITOFFSET (UInt32)16
 
 
const FrameQBufMgr_ShMem_INVALID

Type of open

C synopsis target-domain
#define FrameQBufMgr_ShMem_INVALID (UInt32)0xFF
 
 
const FrameQBufMgr_ShMem_MAX_FRAMEBUFS

Maximum number of frame buffers in a frame managed by in FrameQBufMgr instance

C synopsis target-domain
#define FrameQBufMgr_ShMem_MAX_FRAMEBUFS (UInt32)8
 
 
const FrameQBufMgr_ShMem_MAX_POOLS

Maximum number of Free Frame pools pools managed by FrameQBufMgr instance

C synopsis target-domain
#define FrameQBufMgr_ShMem_MAX_POOLS (UInt32)64
 
 
const FrameQBufMgr_ShMem_POOL_DYNAMIC_MAXFRAMES

Maximum number of dynbuffers managed by each buffer pool in FrameQBufMgr instance

C synopsis target-domain
#define FrameQBufMgr_ShMem_POOL_DYNAMIC_MAXFRAMES (UInt32)1
 
 
const FrameQBufMgr_ShMem_POOL_DYNAMIC_MAXHDRS

Maximum number of additional dynamic free headers managed by FrameQBufMgr instance for each Free Frame pool

C synopsis target-domain
#define FrameQBufMgr_ShMem_POOL_DYNAMIC_MAXHDRS (UInt32)1
 
 
const FrameQBufMgr_ShMem_POOL_MAXFRAMES

Maximum number of static free Frames managed by FrameQBufMgr instance for a Free Frame pool

C synopsis target-domain
#define FrameQBufMgr_ShMem_POOL_MAXFRAMES (UInt32)32
 
 
const FrameQBufMgr_ShMem_POOL_MAXHDRS

Maximum number of additional static free headers managed by FrameQBufMgr instance for each Free Frame pool

C synopsis target-domain
#define FrameQBufMgr_ShMem_POOL_MAXHDRS (UInt32)64
 
 
const FrameQBufMgr_ShMem_STATIC_CREATE

Type of creation

C synopsis target-domain
#define FrameQBufMgr_ShMem_STATIC_CREATE (UInt32)0x1
 
 
const FrameQBufMgr_ShMem_STATIC_CREATE_USEDREGION

Type of creation

C synopsis target-domain
#define FrameQBufMgr_ShMem_STATIC_CREATE_USEDREGION (UInt32)0x2
 
 
const FrameQBufMgr_ShMem_STATIC_FRAME

Denotes Frame belongs to static frames that are populated at create time of the instance

C synopsis target-domain
#define FrameQBufMgr_ShMem_STATIC_FRAME (UInt8)1
 
 
const FrameQBufMgr_ShMem_STATIC_OPEN

Type of open

C synopsis target-domain
#define FrameQBufMgr_ShMem_STATIC_OPEN (UInt32)0x10
 
 
const FrameQBufMgr_ShMem_VERSION
C synopsis target-domain
#define FrameQBufMgr_ShMem_VERSION (UInt32)1
 
 
enum FrameQBufMgr_ShMem_AddrType

Enumerations to indicate address types used for translation

C synopsis target-domain
typedef enum FrameQBufMgr_ShMem_AddrType {
    FrameQBufMgr_ShMem_AddrType_Virtual,
    FrameQBufMgr_ShMem_AddrType_Portable,
    FrameQBufMgr_ShMem_AddrType_EndValue
} FrameQBufMgr_ShMem_AddrType;
 
VALUES
AddrType_Virtual — Virtual address on calling process on DSP where MMU is not configured it could be the physical address.
AddrType_Portable — This is the shared region address incase sharedmemory manager plugged in to frameQbufMgr. In case of tiler it could be the tiler specific portable address
AddrType_EndValue — End delimiter indicating start of invalid values for this enum
 
enum FrameQBufMgr_ShMem_BufType

Enumerations to indicate address types used for translation

C synopsis target-domain
typedef enum FrameQBufMgr_ShMem_BufType {
    FrameQBufMgr_ShMem_BUF_FRAMEHEADER,
    FrameQBufMgr_ShMem_BUF_FRAMEBUF,
    FrameQBufMgr_ShMem_BUF_ENDVALUE
} FrameQBufMgr_ShMem_BufType;
 
VALUES
BUF_FRAMEHEADER — Denotes buffer is of type used for frame headers.
BUF_FRAMEBUF — Denotes buffer is of type used for frame buffers
AddrType_EndValue — End delimiter indicating start of invalid values for this enum
 
enum FrameQBufMgr_ShMem_CpuAccessFlags

Enumeration of CPU access flags for frame buffers. For frame headers CPUACCESS is assumed to be TRUE

C synopsis target-domain
typedef enum FrameQBufMgr_ShMem_CpuAccessFlags {
    FrameQBufMgr_ShMem_FRAMEBUF0_CPUACCESS,
    FrameQBufMgr_ShMem_FRAMEBUF1_CPUACCESS,
    FrameQBufMgr_ShMem_FRAMEBUF2_CPUACCESS,
    FrameQBufMgr_ShMem_FRAMEBUF3_CPUACCESS,
    FrameQBufMgr_ShMem_FRAMEBUF4_CPUACCESS,
    FrameQBufMgr_ShMem_FRAMEBUF5_CPUACCESS,
    FrameQBufMgr_ShMem_FRAMEBUF6_CPUACCESS,
    FrameQBufMgr_ShMem_FRAMEBUF7_CPUACCESS
} FrameQBufMgr_ShMem_CpuAccessFlags;
 
VALUES
FRAMEBUF0_CPUACCESS — If specified first frame buffer is accessed through CPU(direct memory access).
FRAMEBUF1_CPUACCESS — If specified second frame buffer is accessed through CPU(direct memory access).
FRAMEBUF2_CPUACCESS — If specified third frame buffer is accessed through CPU(direct memory access).
FRAMEBUF3_CPUACCESS — If specified fourth frame buffer is accessed through CPU(direct memory access).
FRAMEBUF4_CPUACCESS — If specified fifth frame buffer is accessed through CPU(direct memory access).
FRAMEBUF5_CPUACCESS — If specified sixth frame buffer is accessed through CPU(direct memory access).
FRAMEBUF6_CPUACCESS — If specified seventh frame buffer is accessed through CPU(direct memory access).
FRAMEBUF7_CPUACCESS — If specified eigth frame buffer is accessed through CPU(direct memory access).
 
enum FrameQBufMgr_ShMem_Interface

Enumeration of FrameQBufMgr interface types.Denotes different implementation types

C synopsis target-domain
typedef enum FrameQBufMgr_ShMem_Interface {
    FrameQBufMgr_ShMem_INTERFACE_SHAREDMEM,
    FrameQBufMgr_ShMem_INTERFACE_TILERMEM,
    FrameQBufMgr_ShMem_INTERFACE_NONE
} FrameQBufMgr_ShMem_Interface;
 
VALUES
INTERFACE_SHAREDMEM — FrameQNufMgr implementation (FrameQBufMgr_ShMem Implementation) on shared memory.
 
typedef FrameQBufMgr_ShMem_Frame
C synopsis target-domain
typedef IFrame_FrameHeader *FrameQBufMgr_ShMem_Frame;
 
 
typedef FrameQBufMgr_ShMem_NotifyFunc

Prototype of the FrameQbufMgr call back function

C synopsis target-domain
typedef Void (*FrameQBufMgr_ShMem_NotifyFunc)(IFrameQBufMgr_Handle,Ptr,UInt16);
 
 
typedef FrameQBufMgr_ShMem_Status

type used for API return code

C synopsis target-domain
typedef UInt32 FrameQBufMgr_ShMem_Status;
 
 
struct FrameQBufMgr_ShMem_Attrs

Shared control strucrue for the instance attributes

C synopsis target-domain
typedef struct FrameQBufMgr_ShMem_Attrs {
    UInt32 status;
    UInt32 version;
    UInt32 localProtect;
    UInt32 remoteProtect;
    Ptr gateMPAddr;
    Char name[IFrameQBufMgr_MAX_NAMELEN];
    Ptr sharedDataBufAddr;
    UInt32 sharedAddrSize;
    UInt32 numFreeFramePools;
    UInt32 numNotifyEntries;
    UInt16 entryId;
} FrameQBufMgr_ShMem_Attrs;
 
FIELDS
status — Flag denoting whether instance is created or not.
version — Version of the instance.
localProtect — Local protection type.See GateMP.LocalProtect
remoteProtect — Remote protection types.See GateMP.RemoteProtect
gateMPAddr — GateMP address (shm safe)
name — Name of the instance.
sharedDataBufAddr — Holds Data buffer start address provided at instance crate time.
sharedAddrSize — The size of the data buffer.
FILED
Number of free frame pools maintained by this instance.
Unique id of the instance in the system. Combination of creator procId and instance no on that processor.
 
struct FrameQBufMgr_ShMem_CommonOpenParams

Common paramters requiredto open a FrameQBufMgr instance of any implementation

C synopsis target-domain
typedef struct FrameQBufMgr_ShMem_CommonOpenParams {
    String name;
    UInt32 cpuAccessFlags;
    Ptr sharedAddr;
    IGateProvider_Handle gate;
} FrameQBufMgr_ShMem_CommonOpenParams;
 
FIELDS
name — Name of the instance to open.
— (cacheFlags) Cache flags to perform cache operations .
sharedAddr — Shared addr in case open by address is required.
gate — gate for protection.
 
struct FrameQBufMgr_ShMem_Config

mouduleconfig structure

C synopsis target-domain
typedef struct FrameQBufMgr_ShMem_Config {
    UInt32 eventNo;
    Bool useNameServer;
    Bool maxInstances;
} FrameQBufMgr_ShMem_Config;
 
FIELDS
sharedAddr — Shared region address for module initialization.
sharedAddrSize — Size of the shared region .
— (cacheFlags) Cache flags to perform cache operations on module wide shared control structure.
eventNo — The event number used for notification.
name — Name for the module.
shCtrlOpenFlag — Boolean flag if set to FALSE, populate the shared control info required between processors for this module. If it set to TRUE, module initialize call opens the shared control info.Ideally master processor set this flag to FALSE to crate the shared control info.
 
struct FrameQBufMgr_ShMem_ControlStruct

Shared control structure for the FrameQBufMgr instance

C synopsis target-domain
typedef struct FrameQBufMgr_ShMem_ControlStruct {
    IFrameQBufMgr_Attrs attrs;
} FrameQBufMgr_ShMem_ControlStruct;
 
FIELDS
attrs — Shared control info of type Attrs.
bufPool — Array of buffer pools of type bufPoolList.
 
struct FrameQBufMgr_ShMem_CreateParams

Structure defining common instance parameters for the FrameQ module.Should be the first element in the create params strcture of the actual implementation

C synopsis target-domain
typedef struct FrameQBufMgr_ShMem_CreateParams {
    UInt32 size;
    IFrameQBufMgr_Interface ctrlInterfaceType;
    String name;
    Bool openFlag;
} FrameQBufMgr_ShMem_CreateParams;
 
FIELDS
size — Size of the Create params structure(Should be the size of the actual implementation's Create params structure in which this FrameQ_CreateParams is the first element.
interface — type of implementation. See Interface.
name — Name of the instance.
openFlag — Denotes whether create should actually create/open instance.
 
struct FrameQBufMgr_ShMem_FrameBufInfo

Structure of the framebuffer info in frame

C synopsis target-domain
typedef struct FrameQBufMgr_ShMem_FrameBufInfo {
    UInt32 bufPtr;
    UInt32 bufSize;
    UInt32 startOffset;
    UInt32 validSize;
    UInt32 pixelFormat;
    UInt32 height;
    UInt32 width;
    UInt32 stride;
} FrameQBufMgr_ShMem_FrameBufInfo;
 
FIELDS
bufPtr — Pointer to the frame buffer.
bufSize — Size of the buffer.
startOffSet — Start offset in the buffer from where valid data starts.
validSize — Valid size in the buffer from the zeroth offset in the frame buffer.
height — Pointer to the frame buffer.
width — Size of the buffer.
stride — Multiple of page size and needs to be added to Tile start address in order to get the address starting on next row in same tile.
 
struct FrameQBufMgr_ShMem_FrameBufParams

Structure defining common frame buf params for tiled as well as non tiled buffers

C synopsis target-domain
typedef struct FrameQBufMgr_ShMem_FrameBufParams {
    UInt32 size;
    UInt32 pixelFormat;
    UInt32 height;
    UInt32 width;
    UInt32 align;
} FrameQBufMgr_ShMem_FrameBufParams;
 
FIELDS
size — size for non tiled buffer. Structure defining parameters for the Tiled data buffers
pixelFormat — pixel format for tiled buffer.
height — height .
width — width .
stride — stride of container, must be multiple of page size.
align — Alignment of the buffer .
 
struct FrameQBufMgr_ShMem_FrameHeader

Structure of the base frame header. FrameQ maintains list of frames to be retrieved by FrameQ reader client. Application is expected to use Helper API to extract fileds and exteneded header pointer

C synopsis target-domain
typedef struct FrameQBufMgr_ShMem_FrameHeader {
    UInt32 reserved0;
    UInt32 reserved1;
    UInt16 baseHeaderSize;
    UInt16 headerSize;
    UInt32 frmAllocaterId;
    UInt32 frameBufType;
    UInt8 freeFrmQueueNo;
    UInt8 numFrameBuffers;
    IFrame_FrameBufInfo frameBufInfo[1];
} FrameQBufMgr_ShMem_FrameHeader;
 
FIELDS
baseHeaderSize — Size of the base frame header.
headerSize — Size of the frame header(total size of base header and extended header).
frmAllocaterId — Denotes the FrameQBufMgr Id from which frame is allocated.
freeFrmQueueNo — Free quque No from which frame is allocated in FrameQBufMgr.
numFrameBuffers — Number of framebuffers in a frame.
frameBufInfo — Information of Frame buffer. FrameBufInfo
 
struct FrameQBufMgr_ShMem_FreeFramePoolObj

Free Frame pool structure to keep track of the free frames in a frame pool

C synopsis target-domain
typedef struct FrameQBufMgr_ShMem_FreeFramePoolObj {
    UInt32 numFrms;
    UInt32 freeFrms;
    UInt32 numFrmHdrBufs;
    UInt32 freeFrmHdrBufs;
    UInt32 frmHdrBufSize;
    UInt32 numBufsInFrame;
    UInt32 numDynamicHdrBufs;
    UInt32 freeDynamicHdrBufs;
    UInt32 numDynamicFrames;
    UInt32 freeDynamicFrames;
    UInt32 frmStartAddrp;
    UInt32 frmEndAddrp;
    UInt32 hdrBufStartAddrp;
    UInt32 hdrBufEndAddrp;
    UInt32 frmBufsStartAddrp;
    UInt32 frmBufsEndAddrp;
    UInt32 frmBufSize[IFrameQBufMgr_MAX_FRAMEBUFS];
    UInt32 frmRefCnt[IFrameQBufMgr_POOL_MAXFRAMES];
    UInt32 dynFrame[IFrameQBufMgr_POOL_DYNAMIC_MAXFRAMES];
    UInt32 dynFrmRefCnt[IFrameQBufMgr_POOL_DYNAMIC_MAXFRAMES];
    UInt32 hdrBuf_refCntIndex[IFrameQBufMgr_POOL_MAXHDRS];
    UInt32 dynHdrBuf_refCntIndex[IFrameQBufMgr_POOL_DYNAMIC_MAXHDRS];
    UInt32 dynHdrBufs[IFrameQBufMgr_POOL_DYNAMIC_MAXHDRS];
    Bool hdrBufIsUsed[IFrameQBufMgr_POOL_MAXHDRS];
    Bool dynHdrBufIsUsed[IFrameQBufMgr_POOL_DYNAMIC_MAXHDRS];
    UInt8 hdrBuf_refCntIndexType[IFrameQBufMgr_POOL_MAXHDRS];
    UInt8 dynHdrBuf_refCntIndexType[IFrameQBufMgr_POOL_DYNAMIC_MAXHDRS];
} FrameQBufMgr_ShMem_FreeFramePoolObj;
 
 
struct FrameQBufMgr_ShMem_NotifyParams

Structure defining notification parameter structure

C synopsis target-domain
typedef struct FrameQBufMgr_ShMem_NotifyParams {
    SysLink_NotifyType notifyType;
    UInt32 watermark;
    IFrameQBufMgr_NotifyFunc cbFxnPtr;
    Ptr cbContext;
    Ptr cbClientHandle;
} FrameQBufMgr_ShMem_NotifyParams;
 
FIELDS
notifyType — notification type.See SysLink.NotifyType.
watermark — Minumum number of free frames required to generate notification Same water mark for all the individual freeFramePools in the set.
cbFxnPtr — Cacll back function.
cbContext — Context pointer that needs to be passed to call back function.
cbClientHandle — Handle that needs to be passed as first arg to call back.Ideally this should be callers client handle.
 
struct FrameQBufMgr_ShMem_OpenParams

mouduleconfig structure

C synopsis target-domain
typedef struct FrameQBufMgr_ShMem_OpenParams {
    FrameQBufMgr_ShMem_CommonOpenParams commonOpenParams;
} FrameQBufMgr_ShMem_OpenParams;
 
FIELDS
commonOpenParams — Open params common to all the implementations. see CommonOpenParams
 
config FrameQBufMgr_ShMem_A_InvalidCreatorProcId  // module-wide

Assert raised when creator processor id of the instance is not valid

C synopsis target-domain
extern const Assert_Id FrameQBufMgr_ShMem_A_InvalidCreatorProcId;
 
 
config FrameQBufMgr_ShMem_A_InvalidInstNo  // module-wide

Assert raised when Inst No of the instance is not valid

C synopsis target-domain
extern const Assert_Id FrameQBufMgr_ShMem_A_InvalidInstNo;
 
 
config FrameQBufMgr_ShMem_A_invalidFree  // module-wide

Error raised when invalid FrameQ_free is called

C synopsis target-domain
extern const Assert_Id FrameQBufMgr_ShMem_A_invalidFree;
 
 
config FrameQBufMgr_ShMem_A_invalidParams  // module-wide

Assert raised when an invalid parameter(s) is passed into a function

C synopsis target-domain
extern const Assert_Id FrameQBufMgr_ShMem_A_invalidParams;
 
 
config FrameQBufMgr_ShMem_A_invalid_MemMgrType  // module-wide

Assert raised when invalid MemMgr type specified

C synopsis target-domain
extern const Assert_Id FrameQBufMgr_ShMem_A_invalid_MemMgrType;
 
 
config FrameQBufMgr_ShMem_A_localProtection  // module-wide

Assert raised when local protection provided is not sufficient for ClientNotifyMgr

C synopsis target-domain
extern const Assert_Id FrameQBufMgr_ShMem_A_localProtection;
 
 
config FrameQBufMgr_ShMem_A_nullHandle  // module-wide

Assert raised when null handle is returned from modules

C synopsis target-domain
extern const Assert_Id FrameQBufMgr_ShMem_A_nullHandle;
 
 
config FrameQBufMgr_ShMem_A_nullPointer  // module-wide

Assert raised when a null pointer needs to be dereferenced

C synopsis target-domain
extern const Assert_Id FrameQBufMgr_ShMem_A_nullPointer;
 
 
config FrameQBufMgr_ShMem_Attrs_STRUCT_PADDING  // module-wide

Padding required for the Attrs structure

C synopsis target-domain
extern const UInt32 FrameQBufMgr_ShMem_Attrs_STRUCT_PADDING;
 
 
config FrameQBufMgr_ShMem_CACHE_LINESIZE  // module-wide

Cache line size

C synopsis target-domain
extern const UInt32 FrameQBufMgr_ShMem_CACHE_LINESIZE;
 
 
config FrameQBufMgr_ShMem_E_CacheAlign  // module-wide

Error raised when buffersize is not aligned to Cache line size

C synopsis target-domain
extern const Error_Id FrameQBufMgr_ShMem_E_CacheAlign;
 
 
config FrameQBufMgr_ShMem_E_ClientNotifyMgrCreate  // module-wide

Error raised when ClientNotifyMgr Create failed

C synopsis target-domain
extern const Error_Id FrameQBufMgr_ShMem_E_ClientNotifyMgrCreate;
 
 
config FrameQBufMgr_ShMem_E_ClientNotifyMgrOpen  // module-wide

Error raised when ClientNotifyMgrOpen failed

C synopsis target-domain
extern const Error_Id FrameQBufMgr_ShMem_E_ClientNotifyMgrOpen;
 
 
config FrameQBufMgr_ShMem_E_Fail  // module-wide

Error raised when postinitialize API failed

C synopsis target-domain
extern const Error_Id FrameQBufMgr_ShMem_E_Fail;
 
 
config FrameQBufMgr_ShMem_E_FrameQBufMgrNotCreated  // module-wide

Error raised when FrameQBufMgr is not created

C synopsis target-domain
extern const Error_Id FrameQBufMgr_ShMem_E_FrameQBufMgrNotCreated;
 
 
config FrameQBufMgr_ShMem_E_FrameQBufMgrNotFound  // module-wide

Error raised when FrameQBufMgr is not Found in NameServer

C synopsis target-domain
extern const Error_Id FrameQBufMgr_ShMem_E_FrameQBufMgrNotFound;
 
 
config FrameQBufMgr_ShMem_E_GateMPCreate  // module-wide

Error raised when GateMP create failed

C synopsis target-domain
extern const Error_Id FrameQBufMgr_ShMem_E_GateMPCreate;
 
 
config FrameQBufMgr_ShMem_E_GateMPOpen  // module-wide

Error raised when GateMP open failed

C synopsis target-domain
extern const Error_Id FrameQBufMgr_ShMem_E_GateMPOpen;
 
 
config FrameQBufMgr_ShMem_E_InvAddr  // module-wide

Error raised when Insufficient shared addrprovided to create call

C synopsis target-domain
extern const Error_Id FrameQBufMgr_ShMem_E_InvAddr;
 
 
config FrameQBufMgr_ShMem_E_InvArg  // module-wide

Error raised when invalid arguments passed to the create call

C synopsis target-domain
extern const Error_Id FrameQBufMgr_ShMem_E_InvArg;
 
 
config FrameQBufMgr_ShMem_E_InvSize  // module-wide

Error raised when Insufficient shared memory provided to create call

C synopsis target-domain
extern const Error_Id FrameQBufMgr_ShMem_E_InvSize;
 
 
config FrameQBufMgr_ShMem_E_InvalidMemMgrType  // module-wide

Error raised when invalid MemMgr type specified

C synopsis target-domain
extern const Error_Id FrameQBufMgr_ShMem_E_InvalidMemMgrType;
 
 
config FrameQBufMgr_ShMem_E_MemoryAlloc  // module-wide

Error raised when Memory_alloc API failed

C synopsis target-domain
extern const Error_Id FrameQBufMgr_ShMem_E_MemoryAlloc;
 
 
config FrameQBufMgr_ShMem_E_maxInstances  // module-wide

Error raised when max instances limit is reached

C synopsis target-domain
extern const Error_Id FrameQBufMgr_ShMem_E_maxInstances;
 
 
config FrameQBufMgr_ShMem_E_postInitFail  // module-wide

Error raised when postinitialize API failed

C synopsis target-domain
extern const Error_Id FrameQBufMgr_ShMem_E_postInitFail;
 
 
config FrameQBufMgr_ShMem_MAXINSTANCES  // module-wide

Maximum number of instances that can be created for this module

C synopsis target-domain
extern const UInt32 FrameQBufMgr_ShMem_MAXINSTANCES;
 
 
config FrameQBufMgr_ShMem_MAX_NAMELEN  // module-wide

Maximum length of the name strings

C synopsis target-domain
extern const UInt32 FrameQBufMgr_ShMem_MAX_NAMELEN;
 
 
config FrameQBufMgr_ShMem_NOTIFY_RESERVED_EVENTNO  // module-wide

Event Number to be used by FrameQBufMgr module

C synopsis target-domain
extern const UInt32 FrameQBufMgr_ShMem_NOTIFY_RESERVED_EVENTNO;
 
 
config FrameQBufMgr_ShMem_nameServer  // module-wide

Handle to the name server

C synopsis target-domain
extern const NameServer_Handle FrameQBufMgr_ShMem_nameServer;
 
 
config FrameQBufMgr_ShMem_usedefaultgate  // module-wide

If set to true FrameQBufMgr instances will use dafault gate set in FrameQBufMgr. If default gate is not set in FrameQBufMgr, it uses GateMP's default gate. Set it to zero if FrameQBufMgr needs to create gate for a instance (remoteProtect and localProtect flags should be valid in params in this case)

C synopsis target-domain
extern const Bool FrameQBufMgr_ShMem_usedefaultgate;
 
 
FrameQBufMgr_ShMem_close()  // module-wide

Function to close the dynamically opened instance using open call

C synopsis target-domain
Int32 FrameQBufMgr_ShMem_close(FrameQBufMgr_ShMem_Handle *handlePtr);
 
RETURNS
returns 0 if successfully registered the call back function.
 
FrameQBufMgr_ShMem_getConfig()  // module-wide

Initialize the passed pointer with the current parameters

C synopsis target-domain
Int32 FrameQBufMgr_ShMem_getConfig(IFrameQBufMgr_Config *cfgParams);
 
ARGUMENTS
cfgParams — Pointer to parameter structure to be initialized.
 
FrameQBufMgr_ShMem_getHandle()  // module-wide

Function to create a nameServer

C synopsis target-domain
Ptr FrameQBufMgr_ShMem_getHandle(UInt32 id);
 
ARGUMENTS
id — Id of the FrameQBufMgr instance.
RETURNS
Returns instance handle if it is created or opened on the caller processor.
 
FrameQBufMgr_ShMem_open()  // module-wide

API to open the created instance and to get a handle to it

C synopsis target-domain
Int32 FrameQBufMgr_ShMem_open(FrameQBufMgr_ShMem_Handle *handlePtr, FrameQBufMgr_ShMem_OpenParams *openParams);
 
ARGUMENTS
handlePtr — Handle to the instance will be returned through this pointer.
name — Name of the instance that needs to opened.ignored if name server is not configured.
sharedAddr — Address of the shared control info of the instance. Must be passed if name server is not configured for use by the module.
gate — Gate for critical region protection.
RETURNS
Returns positive value if success.
DETAILS
The instance must be created usng create call before opening it.
 
FrameQBufMgr_ShMem_sharedMemReq()  // module-wide

Amount of shared memory required for creation of each instance

C synopsis target-domain
UInt32 FrameQBufMgr_ShMem_sharedMemReq(FrameQBufMgr_ShMem_Params *params, UInt32 *frmHdrBufChunkSize, UInt32 *frmBufChunkSize);
 
ARGUMENTS
params — Instance create/open parameters.
frmHdrBufChunkSize — Buffer chunk size for frame headers.
frmBufChunkSize — Buffer chunk size for framebuffers.
RETURNS
Amount of shared memory required
DETAILS
Can be used to make sure the sharedAddr buffer is large enough before calling create.
All parameters except sharedAddr and sharedAddrSize must be the same that will be used in the create.
Module-Wide Built-Ins

C synopsis target-domain
Types_ModuleId FrameQBufMgr_ShMem_Module_id();
// Get this module's unique id
 
Bool FrameQBufMgr_ShMem_Module_startupDone();
// Test if this module has completed startup
 
IHeap_Handle FrameQBufMgr_ShMem_Module_heap();
// The heap from which this module allocates memory
 
Bool FrameQBufMgr_ShMem_Module_hasMask();
// Test whether this module has a diagnostics mask
 
Bits16 FrameQBufMgr_ShMem_Module_getMask();
// Returns the diagnostics mask for this module
 
Void FrameQBufMgr_ShMem_Module_setMask(Bits16 mask);
// Set the diagnostics mask for this module
Instance Object Types

C synopsis target-domain
typedef struct FrameQBufMgr_ShMem_Object FrameQBufMgr_ShMem_Object;
// Opaque internal representation of an instance object
 
typedef FrameQBufMgr_ShMem_Object *FrameQBufMgr_ShMem_Handle;
// Client reference to an instance object
 
typedef struct FrameQBufMgr_ShMem_Struct FrameQBufMgr_ShMem_Struct;
// Opaque client structure large enough to hold an instance object
 
FrameQBufMgr_ShMem_Handle FrameQBufMgr_ShMem_handle(FrameQBufMgr_ShMem_Struct *structP);
// Convert this instance structure pointer into an instance handle
 
FrameQBufMgr_ShMem_Struct *FrameQBufMgr_ShMem_struct(FrameQBufMgr_ShMem_Handle handle);
// Convert this instance handle into an instance structure pointer
Instance Config Parameters

C synopsis target-domain
typedef struct FrameQBufMgr_ShMem_Params {
// Instance config-params structure
    IInstance_Params *instance;
    // Common per-instance configs
    SizeT align;
    // Alignment (in MAUs) of each block
    UInt32 bufInterfaceType;
    // 
    FrameQBufMgr_ShMem_CreateParams commonCreateParams;
    // Create params common to all the implementations of FrameQBufMgr
    UInt32 cpuAccessFlags;
    // Cache flags denoting whether cache coherence operations are needed to be performed on instance shared control structures
    // Frame buffer params common to all types of allocations of buffers
    UInt32 **frameBufSizes;
    // UInt32 pointer to pointer pointing to frame buf sizes of frame buffers in each pool
    UInt32 *frameHeaderBufSize;
    // UInt32 pointer pointing to headerBuffer sizes in each pool
    UInt32 frmBuf_regionId;
    // Shared region ID for Frame buffers
    GateMP_Handle gate;
    // IGateProvider used for critical region management of the shared memory
    UInt32 hdrBuf_regionId;
    // Shared region ID for Header buffers
    UInt32 headerInterfaceType;
    // 
    GateMP_LocalProtect localProtect;
    // Default local protection level for the module instance
    UInt32 *numFrameBufsInFrame;
    // UInt32 pointer pointing to number of frame buffers in each pool
    UInt32 numFreeFramePools;
    // Number of buffer pools
    UInt32 *numFreeFramesInPool;
    // UInt32 pointer pointing to Number of frames in each pool
    UInt32 *numFreeHeaderBufsInPool;
    // UInt32 pointer pointing to Number of additional frame headers in each pool
    UInt32 numNotifyEntries;
    // How many clients that do reister callback function with the instance
    UInt32 regionId;
    // Shared region ID
    GateMP_RemoteProtect remoteProtect;
    // Default multiprocessor protection for the module instances
    Ptr sharedAddr;
    // Virtual Address of the shared memory.Must be mapped on other processors if instance needs to be accessible from other processors
    Ptr sharedAddrFrmBuf;
    // Virtual shared Region Address of chunk for frame buffers
    UInt32 sharedAddrFrmBufSize;
    // sharedAddrHdrBufSize Size of the sharedAddrFrmBuf
    Ptr 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
    UInt32 sharedAddrHdrBufSize;
    // Size of sharedAddrHdrBuf
    UInt32 sharedAddrSize;
    // Size of shareAddr
} FrameQBufMgr_ShMem_Params;
 
Void FrameQBufMgr_ShMem_Params_init(FrameQBufMgr_ShMem_Params *params);
// Initialize this config-params structure with supplier-specified defaults before instance creation
 
config FrameQBufMgr_ShMem_align  // instance

Alignment (in MAUs) of each block

C synopsis target-domain
      ...
    SizeT align;
 
DETAILS
The alignment must be a power of 2. If the value 0 is specified, the value will be changed to meet the minimum structure alignment requirements (refer to xdc.runtime.Memory.getMaxDefaultTypeAlign and xdc.runtime.Memory.getMaxDefaultTypeAlignMeta), so the actual alignment may be larger.
For static creates, the FrameQBufMgr will allocate space for the buffer and will align the buffer on this requested alignment.
For dynamic creates, this parameter is used solely for error checking. The buffer provided to a dynamically created FrameQBufMgr must be aligned manually, and an assert will be raised if the buffer is not properly aligned. For dynamic creates, FrameQBufMgr will NOT adjust the buffer to satisfy the alignment.
The default alignment is 0.
 
config FrameQBufMgr_ShMem_bufInterfaceType  // instance
C synopsis target-domain
      ...
    UInt32 bufInterfaceType;
 
 
config FrameQBufMgr_ShMem_commonCreateParams  // instance

Create params common to all the implementations of FrameQBufMgr

C synopsis target-domain
      ...
    FrameQBufMgr_ShMem_CreateParams commonCreateParams;
 
 
config FrameQBufMgr_ShMem_cpuAccessFlags  // instance

Cache flags denoting whether cache coherence operations are needed to be performed on instance shared control structures

C synopsis target-domain
      ...
    UInt32 cpuAccessFlags;
 
 
config FrameQBufMgr_ShMem_frameBufParams  // instance

Frame buffer params common to all types of allocations of buffers

C synopsis target-domain
      ...
 
 
config FrameQBufMgr_ShMem_frameBufSizes  // instance

UInt32 pointer to pointer pointing to frame buf sizes of frame buffers in each pool

C synopsis target-domain
      ...
    UInt32 **frameBufSizes;
 
 
config FrameQBufMgr_ShMem_frameHeaderBufSize  // instance

UInt32 pointer pointing to headerBuffer sizes in each pool

C synopsis target-domain
      ...
    UInt32 *frameHeaderBufSize;
 
 
config FrameQBufMgr_ShMem_frmBuf_regionId  // instance

Shared region ID for Frame buffers

C synopsis target-domain
      ...
    UInt32 frmBuf_regionId;
 
DETAILS
The ID corresponding to the shared region in From which Frame buffers will be allocated if sharedAddrFrmBuf is not provided.
 
config FrameQBufMgr_ShMem_gate  // instance

IGateProvider used for critical region management of the shared memory

C synopsis target-domain
      ...
    GateMP_Handle gate;
 
DETAILS
This must be a shared memory gate.
 
config FrameQBufMgr_ShMem_hdrBuf_regionId  // instance

Shared region ID for Header buffers

C synopsis target-domain
      ...
    UInt32 hdrBuf_regionId;
 
DETAILS
The ID corresponding to the shared region in From which Header buffers will be allocated if sharedAddrHdrBuf is not provided.
 
config FrameQBufMgr_ShMem_headerInterfaceType  // instance
C synopsis target-domain
      ...
    UInt32 headerInterfaceType;
 
 
config FrameQBufMgr_ShMem_localProtect  // instance

Default local protection level for the module instance

C synopsis target-domain
      ...
    GateMP_LocalProtect localProtect;
 
 
config FrameQBufMgr_ShMem_numFrameBufsInFrame  // instance

UInt32 pointer pointing to number of frame buffers in each pool

C synopsis target-domain
      ...
    UInt32 *numFrameBufsInFrame;
 
 
config FrameQBufMgr_ShMem_numFreeFramePools  // instance

Number of buffer pools

C synopsis target-domain
      ...
    UInt32 numFreeFramePools;
 
DETAILS
Required parameter.
The default number of free Frame pools is 0.
 
config FrameQBufMgr_ShMem_numFreeFramesInPool  // instance

UInt32 pointer pointing to Number of frames in each pool

C synopsis target-domain
      ...
    UInt32 *numFreeFramesInPool;
 
 
config FrameQBufMgr_ShMem_numFreeHeaderBufsInPool  // instance

UInt32 pointer pointing to Number of additional frame headers in each pool

C synopsis target-domain
      ...
    UInt32 *numFreeHeaderBufsInPool;
 
 
config FrameQBufMgr_ShMem_numNotifyEntries  // instance

How many clients that do reister callback function with the instance

C synopsis target-domain
      ...
    UInt32 numNotifyEntries;
 
 
config FrameQBufMgr_ShMem_regionId  // instance

Shared region ID

C synopsis target-domain
      ...
    UInt32 regionId;
 
DETAILS
The ID corresponding to the shared region in which this shared instance is to be placed.
 
config FrameQBufMgr_ShMem_remoteProtect  // instance

Default multiprocessor protection for the module instances

C synopsis target-domain
      ...
    GateMP_RemoteProtect remoteProtect;
 
 
config FrameQBufMgr_ShMem_sharedAddr  // instance

Virtual Address of the shared memory.Must be mapped on other processors if instance needs to be accessible from other processors

C synopsis target-domain
      ...
    Ptr sharedAddr;
 
DETAILS
The creator must supply the shared memory that this will use for maintain shared state information. Required parameter.
 
config FrameQBufMgr_ShMem_sharedAddrFrmBuf  // instance

Virtual shared Region Address of chunk for frame buffers

C synopsis target-domain
      ...
    Ptr sharedAddrFrmBuf;
 
 
config FrameQBufMgr_ShMem_sharedAddrFrmBufSize  // instance

sharedAddrHdrBufSize Size of the sharedAddrFrmBuf

C synopsis target-domain
      ...
    UInt32 sharedAddrFrmBufSize;
 
 
config FrameQBufMgr_ShMem_sharedAddrHdrBuf  // instance

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

C synopsis target-domain
      ...
    Ptr sharedAddrHdrBuf;
 
DETAILS
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.
 
config FrameQBufMgr_ShMem_sharedAddrHdrBufSize  // instance

Size of sharedAddrHdrBuf

C synopsis target-domain
      ...
    UInt32 sharedAddrHdrBufSize;
 
 
config FrameQBufMgr_ShMem_sharedAddrSize  // instance

Size of shareAddr

C synopsis target-domain
      ...
    UInt32 sharedAddrSize;
 
DETAILS
Can use the sharedMemReq or sharedMemReqMeta call to determine the required size.
Required parameter.
 
FrameQBufMgr_ShMem_add()  // instance

Function to add free frames dynamically which are allocated out side of FrmaeQbufMgr through the same memory manager

C synopsis target-domain
Ptr FrameQBufMgr_ShMem_add(FrameQBufMgr_ShMem_Handle handle, UInt8 freeQId);
 
ARGUMENTS
handle — handle of a previously-created FrameQBufMgr_ShMem instance object
freeQId — freeFrame Pool No to whcih the frame needs to be added.
framePtr — frame to be added.
RETURNS
returns 0 if successfully added the frame.
 
FrameQBufMgr_ShMem_alloc()  // instance

Function to allocate a buffer from the FrameQBufMgr instance

C synopsis target-domain
Int32 FrameQBufMgr_ShMem_alloc(FrameQBufMgr_ShMem_Handle handle, IFrameQBufMgr_Frame *frame);
 
ARGUMENTS
handle — handle of a previously-created FrameQBufMgr_ShMem instance object
frame — Location to receive the allocated frame pointer.
RETURNS
returns 0 if successfully allocated the buffer.
 
FrameQBufMgr_ShMem_allocv()  // instance

Function to allocate multiple frames from the FrameQBufMgr instance from the free Frame pool nos given

C synopsis target-domain
Int32 FrameQBufMgr_ShMem_allocv(FrameQBufMgr_ShMem_Handle handle, IFrameQBufMgr_Frame framePtr[], UInt32 freeQId[], UInt8 *numFrames);
 
ARGUMENTS
handle — handle of a previously-created FrameQBufMgr_ShMem instance object
framePtr — array of pointers to receive allocate frame pointers.
freeQId — array of freeFrame poolNos to allocate frames from. if API retruns success, this represents ths actual size of the buffer allocated.
numFrames — Number of frames to allocate.
RETURNS
returns value greater than zero if successfully allocated frames.
 
FrameQBufMgr_ShMem_control()  // instance

Provides a hook to perform implementation dependent operation

C synopsis target-domain
Int32 FrameQBufMgr_ShMem_control(FrameQBufMgr_ShMem_Handle handle, Int32 cmd, Ptr arg);
 
ARGUMENTS
handle — handle of a previously-created FrameQBufMgr_ShMem instance object
cmd — command to exectue.
arg — argument of type void*.
 
FrameQBufMgr_ShMem_dup()  // instance

API to duplicate the given frame i.e it increments the corresponding frames 's reference count.It internally allocates headers for the duped frames.It fails if it is not able to dup all the frames

C synopsis target-domain
Int32 FrameQBufMgr_ShMem_dup(FrameQBufMgr_ShMem_Handle handle, IFrameQBufMgr_Frame framePtr, IFrameQBufMgr_Frame dupedFramePtr[], UInt32 numDupedFrames);
 
ARGUMENTS
handle — handle of a previously-created FrameQBufMgr_ShMem instance object
buf — Pointer to the frame which needs to be duplicated.
size — Size of the buffer.
dupCount — Duplication count.
 
FrameQBufMgr_ShMem_dupv()  // instance

API to duplicate the given frames i.e it increments the corresponding frames 's reference count.It internally allocates headers for the duped frames.It fails if it is not able to dup all the frames

C synopsis target-domain
Int32 FrameQBufMgr_ShMem_dupv(FrameQBufMgr_ShMem_Handle handle, IFrameQBufMgr_Frame framePtr[], IFrameQBufMgr_Frame **dupedFramePtr, UInt32 numDupedFrames, UInt32 numFrames);
 
ARGUMENTS
handle — handle of a previously-created FrameQBufMgr_ShMem instance object
buf — Pointer to the frames which needs to be duplicated.
size — Size of the buffer.
dupCount — Duplication count.
 
FrameQBufMgr_ShMem_free()  // instance

Function to free frame

C synopsis target-domain
Int32 FrameQBufMgr_ShMem_free(FrameQBufMgr_ShMem_Handle handle, IFrameQBufMgr_Frame frame);
 
ARGUMENTS
handle — handle of a previously-created FrameQBufMgr_ShMem instance object
frame — frame to be freed.
RETURNS
returns 0 if successfully freed the allocated buffer.
 
FrameQBufMgr_ShMem_freev()  // instance

Function to free frames

C synopsis target-domain
Int32 FrameQBufMgr_ShMem_freev(FrameQBufMgr_ShMem_Handle handle, IFrameQBufMgr_Frame framePtr[], UInt32 numFrames);
 
ARGUMENTS
handle — handle of a previously-created FrameQBufMgr_ShMem instance object
framePtr — array of frames to be freed.
RETURNS
returns 0 if successfully freed the allocated frames.
 
FrameQBufMgr_ShMem_getId()  // instance

Function to get the id of the instance

C synopsis target-domain
UInt32 FrameQBufMgr_ShMem_getId(FrameQBufMgr_ShMem_Handle handle);
 
ARGUMENTS
handle — handle of a previously-created FrameQBufMgr_ShMem instance object
RETURNS
Returns FrameQBufMgr Id for the handle.
 
FrameQBufMgr_ShMem_getNumFreeFrames()  // instance

Function to get the number of free frames available in the in FrameQbufMgr's FreeFramePool 0. The returned number free frame may not exist in the frameQbufMgr after this call.This is because if any allocs are done by the other FrameQ writers on the same FrameQBufMgr.If frees are not other frameQ writers the free Frames would be even more than the value that we have got

C synopsis target-domain
Int32 FrameQBufMgr_ShMem_getNumFreeFrames(FrameQBufMgr_ShMem_Handle handle, UInt32 *numFreeFrames);
 
ARGUMENTS
handle — handle of a previously-created FrameQBufMgr_ShMem instance object
numFrames — Outputparameter indicates number of free frames .
RETURNS
returns 0 if successfully returned the number of free frames.
 
FrameQBufMgr_ShMem_getvNumFreeFrames()  // instance

Function to get the number of free frames available in the in the given Free FramePool

C synopsis target-domain
Int32 FrameQBufMgr_ShMem_getvNumFreeFrames(FrameQBufMgr_ShMem_Handle handle, UInt32 numFreeFrames[], UInt8 freeFramePoolNo[], UInt8 numFreeFramePools);
 
ARGUMENTS
handle — handle of a previously-created FrameQBufMgr_ShMem instance object
numFreeFrames — Outputparameter indicates number of free frames in each given free quque at that instance.
filledQId — Array of free Queue ids(freeFramePool nos).
numFreeQids — Number of free queueids same as freeFrame PoolNo of plugged in FrameQBufMgr .
RETURNS
returns 0 if successfully returned the frames.
 
FrameQBufMgr_ShMem_invalidate()  // instance
C synopsis target-domain
Int32 FrameQBufMgr_ShMem_invalidate(FrameQBufMgr_ShMem_Handle handle, IFrameQBufMgr_Frame frame);
 
ARGUMENTS
handle — handle of a previously-created FrameQBufMgr_ShMem instance object
 
FrameQBufMgr_ShMem_invalidateFrameBuf()  // instance
C synopsis target-domain
Int32 FrameQBufMgr_ShMem_invalidateFrameBuf(FrameQBufMgr_ShMem_Handle handle, Ptr frameBuf, UInt32 size, UInt8 bufNumInFrame);
 
ARGUMENTS
handle — handle of a previously-created FrameQBufMgr_ShMem instance object
 
FrameQBufMgr_ShMem_invalidateHeaderBuf()  // instance

invalidates contents of buffer . buffer is treated as frame header

C synopsis target-domain
Int32 FrameQBufMgr_ShMem_invalidateHeaderBuf(FrameQBufMgr_ShMem_Handle handle, Ptr headerBuf);
 
ARGUMENTS
handle — handle of a previously-created FrameQBufMgr_ShMem instance object
 
FrameQBufMgr_ShMem_isCacheEnabledForFrameBuf()  // instance

Function to determine whether cache calls(writeback/invalidate) are enabled for frame buffers

C synopsis target-domain
Bool FrameQBufMgr_ShMem_isCacheEnabledForFrameBuf(FrameQBufMgr_ShMem_Handle handle, UInt8 framebufIndex);
 
ARGUMENTS
handle — handle of a previously-created FrameQBufMgr_ShMem instance object
 
FrameQBufMgr_ShMem_isCacheEnabledForHeaderBuf()  // instance

Function to determine whether cache calls(writeback/invalidate) are enabled for frame headers

C synopsis target-domain
Bool FrameQBufMgr_ShMem_isCacheEnabledForHeaderBuf(FrameQBufMgr_ShMem_Handle handle);
 
ARGUMENTS
handle — handle of a previously-created FrameQBufMgr_ShMem instance object
 
FrameQBufMgr_ShMem_registerNotifier()  // instance

Function to Register notification with the instance. It internally registers notification with the individual free queues(free frame pools). If alloc on free queue 0 failed,Notification will be generated if free frames in that queue becomes more than watermark(all the free frames in that queue)

C synopsis target-domain
Int32 FrameQBufMgr_ShMem_registerNotifier(FrameQBufMgr_ShMem_Handle handle, IFrameQBufMgr_NotifyParams *notifyParams);
 
ARGUMENTS
handle — handle of a previously-created FrameQBufMgr_ShMem instance object
notifyParams — Pointer to NotifyParams structure.
RETURNS
returns >0 if successfully registered the call back function.
 
FrameQBufMgr_ShMem_remove()  // instance

Function to remove dynamically added frames which are allocated out side of FrmaeQbufMgr through the same memory managers that are plugged in to FrameQBufMgr instance

C synopsis target-domain
Int32 FrameQBufMgr_ShMem_remove(FrameQBufMgr_ShMem_Handle handle, UInt8 freeQId, IFrameQBufMgr_Frame framePtr);
 
ARGUMENTS
handle — handle of a previously-created FrameQBufMgr_ShMem instance object
freeQId — freeFrame Pool No to whcih the frame needs to be added.
framePtr — frame to be added.
RETURNS
returns 0 if successfully added the frame.
 
FrameQBufMgr_ShMem_translateAddr()  // instance
C synopsis target-domain
Int32 FrameQBufMgr_ShMem_translateAddr(FrameQBufMgr_ShMem_Handle handle, Ptr *dstAddr, IFrameQBufMgr_AddrType dstAddrType, Ptr srcAddr, IFrameQBufMgr_AddrType srcAddrType, IFrameQBufMgr_BufType bufType);
 
ARGUMENTS
handle — handle of a previously-created FrameQBufMgr_ShMem instance object
 
FrameQBufMgr_ShMem_unregisterNotifier()  // instance

Function to unregister the registered call back function with the instance.

C synopsis target-domain
Int32 FrameQBufMgr_ShMem_unregisterNotifier(FrameQBufMgr_ShMem_Handle handle);
 
ARGUMENTS
handle — handle of a previously-created FrameQBufMgr_ShMem instance object
RETURNS
Returns positive value if successfully unregistered the call back function.
 
FrameQBufMgr_ShMem_writeBack()  // instance

Write back the contents of a frame including frame buffers

C synopsis target-domain
Int32 FrameQBufMgr_ShMem_writeBack(FrameQBufMgr_ShMem_Handle handle, IFrameQBufMgr_Frame frame);
 
ARGUMENTS
handle — handle of a previously-created FrameQBufMgr_ShMem instance object
 
FrameQBufMgr_ShMem_writeBackFrameBuf()  // instance

Write back the contents of buffer . buffe is treated as frame buffer. bufNumInFrame denotes buffer number in the frame.This is to identify the cache flags and cpu access flags for the buffer

C synopsis target-domain
Int32 FrameQBufMgr_ShMem_writeBackFrameBuf(FrameQBufMgr_ShMem_Handle handle, Ptr frameBuf, UInt32 size, UInt8 bufNumInFrame);
 
ARGUMENTS
handle — handle of a previously-created FrameQBufMgr_ShMem instance object
 
FrameQBufMgr_ShMem_writeBackHeaderBuf()  // instance

Write back the contents of buffer.buffer is treated as frame header

C synopsis target-domain
Int32 FrameQBufMgr_ShMem_writeBackHeaderBuf(FrameQBufMgr_ShMem_Handle handle, Ptr headerBuf);
 
ARGUMENTS
handle — handle of a previously-created FrameQBufMgr_ShMem instance object
Instance Convertors

C synopsis target-domain
IFrameQBufMgr_Handle FrameQBufMgr_ShMem_Handle_upCast(FrameQBufMgr_ShMem_Handle handle);
// unconditionally move one level up the inheritance hierarchy
 
FrameQBufMgr_ShMem_Handle FrameQBufMgr_ShMem_Handle_downCast(IFrameQBufMgr_Handle handle);
// conditionally move one level down the inheritance hierarchy; NULL upon failure
Instance Built-Ins

C synopsis target-domain
Int FrameQBufMgr_ShMem_Object_count();
// The number of statically-created instance objects
 
FrameQBufMgr_ShMem_Handle FrameQBufMgr_ShMem_Object_get(FrameQBufMgr_ShMem_Object *array, Int i);
// The handle of the i-th statically-created instance object (array == NULL)
 
FrameQBufMgr_ShMem_Handle FrameQBufMgr_ShMem_Object_first();
// The handle of the first dynamically-created instance object, or NULL
 
FrameQBufMgr_ShMem_Handle FrameQBufMgr_ShMem_Object_next(FrameQBufMgr_ShMem_Handle handle);
// The handle of the next dynamically-created instance object, or NULL
 
IHeap_Handle FrameQBufMgr_ShMem_Object_heap();
// The heap used to allocate dynamically-created instance objects
 
Types_Label *FrameQBufMgr_ShMem_Handle_label(FrameQBufMgr_ShMem_Handle handle, Types_Label *buf);
// The label associated with this instance object
 
String FrameQBufMgr_ShMem_Handle_name(FrameQBufMgr_ShMem_Handle handle);
// The name of this instance object
 
XDCscript usage meta-domain sourced in ti/syslink/ipc/rtos/shMem/FrameQBufMgr_ShMem.xdc
var FrameQBufMgr_ShMem = xdc.useModule('ti.syslink.ipc.rtos.shMem.FrameQBufMgr_ShMem');
local proxy modules
        FrameQBufMgr_ShMem.GateProxy.delegate$ = IGateProvider.Module null
        FrameQBufMgr_ShMem.GateProxy.abstractInstances$ = false
module-wide constants & types
    const FrameQBufMgr_ShMem.VERSION//  = 1;
 
        const FrameQBufMgr_ShMem.AddrType_Virtual;
        const FrameQBufMgr_ShMem.AddrType_Portable;
        const FrameQBufMgr_ShMem.AddrType_EndValue;
 
        const FrameQBufMgr_ShMem.BUF_FRAMEHEADER;
        const FrameQBufMgr_ShMem.BUF_FRAMEBUF;
        const FrameQBufMgr_ShMem.BUF_ENDVALUE;
 
 
        const FrameQBufMgr_ShMem.INTERFACE_TILERMEM;
        const FrameQBufMgr_ShMem.INTERFACE_NONE;
 
        obj.status = UInt32  ...
        obj.version = UInt32  ...
        obj.localProtect = UInt32  ...
        obj.remoteProtect = UInt32  ...
        obj.gateMPAddr = Ptr  ...
        obj.name = Char[IFrameQBufMgr.MAX_NAMELEN]  ...
        obj.sharedDataBufAddr = Ptr  ...
        obj.sharedAddrSize = UInt32  ...
        obj.numFreeFramePools = UInt32  ...
        obj.numNotifyEntries = UInt32  ...
        obj.entryId = UInt16  ...
 
        obj.name = String  ...
        obj.cpuAccessFlags = UInt32  ...
        obj.sharedAddr = Ptr  ...
        obj.gate = IGateProvider.Handle  ...
 
        obj.eventNo = UInt32  ...
        obj.useNameServer = Bool  ...
        obj.maxInstances = Bool  ...
 
        obj.attrs = IFrameQBufMgr.Attrs  ...
 
        obj.size = UInt32  ...
        obj.ctrlInterfaceType = IFrameQBufMgr.Interface  ...
        obj.name = String  ...
        obj.openFlag = Bool  ...
 
        obj.bufPtr = UInt32  ...
        obj.bufSize = UInt32  ...
        obj.startOffset = UInt32  ...
        obj.validSize = UInt32  ...
        obj.pixelFormat = UInt32  ...
        obj.height = UInt32  ...
        obj.width = UInt32  ...
        obj.stride = UInt32  ...
 
        obj.size = UInt32  ...
        obj.pixelFormat = UInt32  ...
        obj.height = UInt32  ...
        obj.width = UInt32  ...
        obj.align = UInt32  ...
 
        obj.reserved0 = UInt32  ...
        obj.reserved1 = UInt32  ...
        obj.baseHeaderSize = UInt16  ...
        obj.headerSize = UInt16  ...
        obj.frmAllocaterId = UInt32  ...
        obj.frameBufType = UInt32  ...
        obj.freeFrmQueueNo = UInt8  ...
        obj.numFrameBuffers = UInt8  ...
        obj.frameBufInfo = IFrame.FrameBufInfo[1]  ...
 
        obj.numFrms = UInt32  ...
        obj.freeFrms = UInt32  ...
        obj.numFrmHdrBufs = UInt32  ...
        obj.freeFrmHdrBufs = UInt32  ...
        obj.frmHdrBufSize = UInt32  ...
        obj.numBufsInFrame = UInt32  ...
        obj.numDynamicHdrBufs = UInt32  ...
        obj.freeDynamicHdrBufs = UInt32  ...
        obj.numDynamicFrames = UInt32  ...
        obj.freeDynamicFrames = UInt32  ...
        obj.frmStartAddrp = UInt32  ...
        obj.frmEndAddrp = UInt32  ...
        obj.hdrBufStartAddrp = UInt32  ...
        obj.hdrBufEndAddrp = UInt32  ...
        obj.frmBufsStartAddrp = UInt32  ...
        obj.frmBufsEndAddrp = UInt32  ...
        obj.frmBufSize = UInt32[IFrameQBufMgr.MAX_FRAMEBUFS]  ...
        obj.frmRefCnt = UInt32[IFrameQBufMgr.POOL_MAXFRAMES]  ...
        obj.dynFrame = UInt32[IFrameQBufMgr.POOL_DYNAMIC_MAXFRAMES]  ...
        obj.dynFrmRefCnt = UInt32[IFrameQBufMgr.POOL_DYNAMIC_MAXFRAMES]  ...
        obj.hdrBuf_refCntIndex = UInt32[IFrameQBufMgr.POOL_MAXHDRS]  ...
        obj.dynHdrBuf_refCntIndex = UInt32[IFrameQBufMgr.POOL_DYNAMIC_MAXHDRS]  ...
        obj.dynHdrBufs = UInt32[IFrameQBufMgr.POOL_DYNAMIC_MAXHDRS]  ...
        obj.hdrBufIsUsed = Bool[IFrameQBufMgr.POOL_MAXHDRS]  ...
        obj.dynHdrBufIsUsed = Bool[IFrameQBufMgr.POOL_DYNAMIC_MAXHDRS]  ...
        obj.hdrBuf_refCntIndexType = UInt8[IFrameQBufMgr.POOL_MAXHDRS]  ...
 
        obj.notifyType = SysLink.NotifyType  ...
        obj.watermark = UInt32  ...
        obj.cbFxnPtr = Void(*)(IFrameQBufMgr.Handle,Ptr,UInt16)  ...
        obj.cbContext = Ptr  ...
        obj.cbClientHandle = Ptr  ...
 
module-wide config parameters
        msg: "A_InvalidCreatorProcId: Invalid creator processor id"
    };
        msg: "A_InvalidInstNo: Invalid instance no"
    };
        msg: "A_invalidFree: invalid FrameQ_free is called.Frame already freed"
    };
        msg: "A_invalidParams: Invalid parameter"
    };
        msg: "A_invalid_MemMgrType: Invalid MemMgrType"
    };
        msg: "A_localProtection: Insufficient local protection "
    };
        msg: "A_nullHandle: Null Handle"
    };
        msg: "A_nullPointer: Null pointer"
    };
        msg: "E_CacheAlign: BufferSize is not Cache Aligned"
    };
        msg: "E_ClientNotifyMgrCreate: ClientNotifyMgr instance Create Failed"
    };
        msg: "E_ClientNotifyMgrOpen: ClientNotifyMgrOpen instance Open Failed"
    };
        msg: "E_Fail: Api failed"
    };
        msg: "E_FrameQBufMgrNotCreated: FrameQBufMgr instance is not created"
    };
        msg: "E_FrameQBufMgrNotFound: FrameQBufMgr instance is not found in NameServer"
    };
        msg: "E_GateMPCreate: GateMP create instance create failed"
    };
        msg: "E_GateMPOpen: GateMP instance open failed"
    };
        msg: "E_InvAddr: Shared Addr provide to create call is NULL"
    };
        msg: "E_InvArg: Invalid arguments passed"
    };
        msg: "E_InvSize: SharedMemory provided to create call is less than the instance shared memory requirements"
    };
        msg: "E_InvalidMemMgrType: MemMgr type specified is invalid"
    };
        msg: "E_MemoryAlloc: Memory_alloc failed"
    };
        msg: "E_maxInstances: max instances limit reached"
    };
        msg: "E_postInitFail: Instance post init failed"
    };
 
per-instance config parameters
    var params = new FrameQBufMgr_ShMem.Params// Instance config-params object;
        params.align// Alignment (in MAUs) of each block = SizeT 0;
        params.bufInterfaceType//  = UInt32 IFrameQBufMgr.INTERFACE_SHAREDMEM;
            size: 0,
            ctrlInterfaceType: IFrameQBufMgr.INTERFACE_NONE,
            name: null,
            openFlag: false
        };
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null
        ];
        params.frmBuf_regionId// Shared region ID for Frame buffers = UInt32 0;
        params.hdrBuf_regionId// Shared region ID for Header buffers = UInt32 0;
        params.numFreeFramePools// Number of buffer pools = UInt32 0;
        params.regionId// Shared region ID = UInt32 0;
        params.sharedAddrHdrBufSize// Size of sharedAddrHdrBuf = UInt32 0;
        params.sharedAddrSize// Size of shareAddr = UInt32 0;
 
 
proxy FrameQBufMgr_ShMem.GateProxy

IGateProvider Proxy

XDCscript usage meta-domain
FrameQBufMgr_ShMem.GateProxy = IGateProvider.Module null
// some delegate module inheriting the IGateProvider interface
    FrameQBufMgr_ShMem.GateProxy.delegate$ = IGateProvider.Module null
    // explicit access to the currently bound delegate module
    FrameQBufMgr_ShMem.GateProxy.abstractInstances$ = false
    // use indirect runtime function calls if true
 
DETAILS
Module used to provide default critical region management when accessing the shared memory. The default is ti.sdo.ipc.gates.GatePeterson.
Requires Arm to be procId 0 or 1 and the DSP be 1 or 0.
 
const FrameQBufMgr_ShMem.DYNAMIC_CREATE

Type of creation

XDCscript usage meta-domain
const FrameQBufMgr_ShMem.DYNAMIC_CREATE = 0x4;
 
C SYNOPSIS
 
const FrameQBufMgr_ShMem.DYNAMIC_CREATE_USEDREGION

Type of creation

XDCscript usage meta-domain
const FrameQBufMgr_ShMem.DYNAMIC_CREATE_USEDREGION = 0x8;
 
C SYNOPSIS
 
const FrameQBufMgr_ShMem.DYNAMIC_FRAME

Denotes Frame belongs to dynamic frame grougp that are added dynamically at runtime

XDCscript usage meta-domain
const FrameQBufMgr_ShMem.DYNAMIC_FRAME = 2;
 
C SYNOPSIS
 
const FrameQBufMgr_ShMem.DYNAMIC_OPEN

Type of open

XDCscript usage meta-domain
const FrameQBufMgr_ShMem.DYNAMIC_OPEN = 0x20;
 
C SYNOPSIS
 
const FrameQBufMgr_ShMem.FRAMEBUF_CPUACCESSFLAGS_BITOFFSET
XDCscript usage meta-domain
const FrameQBufMgr_ShMem.FRAMEBUF_CPUACCESSFLAGS_BITOFFSET = 16;
 
C SYNOPSIS
 
const FrameQBufMgr_ShMem.INVALID

Type of open

XDCscript usage meta-domain
const FrameQBufMgr_ShMem.INVALID = 0xFF;
 
C SYNOPSIS
 
const FrameQBufMgr_ShMem.MAX_FRAMEBUFS

Maximum number of frame buffers in a frame managed by in FrameQBufMgr instance

XDCscript usage meta-domain
const FrameQBufMgr_ShMem.MAX_FRAMEBUFS = 8;
 
C SYNOPSIS
 
const FrameQBufMgr_ShMem.MAX_POOLS

Maximum number of Free Frame pools pools managed by FrameQBufMgr instance

XDCscript usage meta-domain
const FrameQBufMgr_ShMem.MAX_POOLS = 64;
 
C SYNOPSIS
 
const FrameQBufMgr_ShMem.POOL_DYNAMIC_MAXFRAMES

Maximum number of dynbuffers managed by each buffer pool in FrameQBufMgr instance

XDCscript usage meta-domain
const FrameQBufMgr_ShMem.POOL_DYNAMIC_MAXFRAMES = 1;
 
C SYNOPSIS
 
const FrameQBufMgr_ShMem.POOL_DYNAMIC_MAXHDRS

Maximum number of additional dynamic free headers managed by FrameQBufMgr instance for each Free Frame pool

XDCscript usage meta-domain
const FrameQBufMgr_ShMem.POOL_DYNAMIC_MAXHDRS = 1;
 
C SYNOPSIS
 
const FrameQBufMgr_ShMem.POOL_MAXFRAMES

Maximum number of static free Frames managed by FrameQBufMgr instance for a Free Frame pool

XDCscript usage meta-domain
const FrameQBufMgr_ShMem.POOL_MAXFRAMES = 32;
 
C SYNOPSIS
 
const FrameQBufMgr_ShMem.POOL_MAXHDRS

Maximum number of additional static free headers managed by FrameQBufMgr instance for each Free Frame pool

XDCscript usage meta-domain
const FrameQBufMgr_ShMem.POOL_MAXHDRS = 64;
 
C SYNOPSIS
 
const FrameQBufMgr_ShMem.STATIC_CREATE

Type of creation

XDCscript usage meta-domain
const FrameQBufMgr_ShMem.STATIC_CREATE = 0x1;
 
C SYNOPSIS
 
const FrameQBufMgr_ShMem.STATIC_CREATE_USEDREGION

Type of creation

XDCscript usage meta-domain
const FrameQBufMgr_ShMem.STATIC_CREATE_USEDREGION = 0x2;
 
C SYNOPSIS
 
const FrameQBufMgr_ShMem.STATIC_FRAME

Denotes Frame belongs to static frames that are populated at create time of the instance

XDCscript usage meta-domain
const FrameQBufMgr_ShMem.STATIC_FRAME = 1;
 
C SYNOPSIS
 
const FrameQBufMgr_ShMem.STATIC_OPEN

Type of open

XDCscript usage meta-domain
const FrameQBufMgr_ShMem.STATIC_OPEN = 0x10;
 
C SYNOPSIS
 
const FrameQBufMgr_ShMem.VERSION
XDCscript usage meta-domain
const FrameQBufMgr_ShMem.VERSION = 1;
 
C SYNOPSIS
 
enum FrameQBufMgr_ShMem.AddrType

Enumerations to indicate address types used for translation

XDCscript usage meta-domain
values of type FrameQBufMgr_ShMem.AddrType
    const FrameQBufMgr_ShMem.AddrType_Virtual;
    const FrameQBufMgr_ShMem.AddrType_Portable;
    const FrameQBufMgr_ShMem.AddrType_EndValue;
 
VALUES
AddrType_Virtual — Virtual address on calling process on DSP where MMU is not configured it could be the physical address.
AddrType_Portable — This is the shared region address incase sharedmemory manager plugged in to frameQbufMgr. In case of tiler it could be the tiler specific portable address
AddrType_EndValue — End delimiter indicating start of invalid values for this enum
C SYNOPSIS
 
enum FrameQBufMgr_ShMem.BufType

Enumerations to indicate address types used for translation

XDCscript usage meta-domain
values of type FrameQBufMgr_ShMem.BufType
    const FrameQBufMgr_ShMem.BUF_FRAMEHEADER;
    const FrameQBufMgr_ShMem.BUF_FRAMEBUF;
    const FrameQBufMgr_ShMem.BUF_ENDVALUE;
 
VALUES
BUF_FRAMEHEADER — Denotes buffer is of type used for frame headers.
BUF_FRAMEBUF — Denotes buffer is of type used for frame buffers
AddrType_EndValue — End delimiter indicating start of invalid values for this enum
C SYNOPSIS
 
enum FrameQBufMgr_ShMem.CpuAccessFlags

Enumeration of CPU access flags for frame buffers. For frame headers CPUACCESS is assumed to be TRUE

XDCscript usage meta-domain
values of type FrameQBufMgr_ShMem.CpuAccessFlags
    const FrameQBufMgr_ShMem.FRAMEBUF0_CPUACCESS;
    const FrameQBufMgr_ShMem.FRAMEBUF1_CPUACCESS;
    const FrameQBufMgr_ShMem.FRAMEBUF2_CPUACCESS;
    const FrameQBufMgr_ShMem.FRAMEBUF3_CPUACCESS;
    const FrameQBufMgr_ShMem.FRAMEBUF4_CPUACCESS;
    const FrameQBufMgr_ShMem.FRAMEBUF5_CPUACCESS;
    const FrameQBufMgr_ShMem.FRAMEBUF6_CPUACCESS;
    const FrameQBufMgr_ShMem.FRAMEBUF7_CPUACCESS;
 
VALUES
FRAMEBUF0_CPUACCESS — If specified first frame buffer is accessed through CPU(direct memory access).
FRAMEBUF1_CPUACCESS — If specified second frame buffer is accessed through CPU(direct memory access).
FRAMEBUF2_CPUACCESS — If specified third frame buffer is accessed through CPU(direct memory access).
FRAMEBUF3_CPUACCESS — If specified fourth frame buffer is accessed through CPU(direct memory access).
FRAMEBUF4_CPUACCESS — If specified fifth frame buffer is accessed through CPU(direct memory access).
FRAMEBUF5_CPUACCESS — If specified sixth frame buffer is accessed through CPU(direct memory access).
FRAMEBUF6_CPUACCESS — If specified seventh frame buffer is accessed through CPU(direct memory access).
FRAMEBUF7_CPUACCESS — If specified eigth frame buffer is accessed through CPU(direct memory access).
C SYNOPSIS
 
enum FrameQBufMgr_ShMem.Interface

Enumeration of FrameQBufMgr interface types.Denotes different implementation types

XDCscript usage meta-domain
values of type FrameQBufMgr_ShMem.Interface
    const FrameQBufMgr_ShMem.INTERFACE_SHAREDMEM;
    const FrameQBufMgr_ShMem.INTERFACE_TILERMEM;
    const FrameQBufMgr_ShMem.INTERFACE_NONE;
 
VALUES
INTERFACE_SHAREDMEM — FrameQNufMgr implementation (FrameQBufMgr_ShMem Implementation) on shared memory.
C SYNOPSIS
 
struct FrameQBufMgr_ShMem.Attrs

Shared control strucrue for the instance attributes

XDCscript usage meta-domain
var obj = new FrameQBufMgr_ShMem.Attrs;
 
    obj.status = UInt32  ...
    obj.version = UInt32  ...
    obj.localProtect = UInt32  ...
    obj.remoteProtect = UInt32  ...
    obj.gateMPAddr = Ptr  ...
    obj.name = Char[IFrameQBufMgr.MAX_NAMELEN]  ...
    obj.sharedDataBufAddr = Ptr  ...
    obj.sharedAddrSize = UInt32  ...
    obj.numFreeFramePools = UInt32  ...
    obj.numNotifyEntries = UInt32  ...
    obj.entryId = UInt16  ...
 
FIELDS
status — Flag denoting whether instance is created or not.
version — Version of the instance.
localProtect — Local protection type.See GateMP.LocalProtect
remoteProtect — Remote protection types.See GateMP.RemoteProtect
gateMPAddr — GateMP address (shm safe)
name — Name of the instance.
sharedDataBufAddr — Holds Data buffer start address provided at instance crate time.
sharedAddrSize — The size of the data buffer.
FILED
Number of free frame pools maintained by this instance.
Unique id of the instance in the system. Combination of creator procId and instance no on that processor.
C SYNOPSIS
 
struct FrameQBufMgr_ShMem.CommonOpenParams

Common paramters requiredto open a FrameQBufMgr instance of any implementation

XDCscript usage meta-domain
var obj = new FrameQBufMgr_ShMem.CommonOpenParams;
 
    obj.name = String  ...
    obj.cpuAccessFlags = UInt32  ...
    obj.sharedAddr = Ptr  ...
    obj.gate = IGateProvider.Handle  ...
 
FIELDS
name — Name of the instance to open.
— (cacheFlags) Cache flags to perform cache operations .
sharedAddr — Shared addr in case open by address is required.
gate — gate for protection.
C SYNOPSIS
 
struct FrameQBufMgr_ShMem.Config

mouduleconfig structure

XDCscript usage meta-domain
var obj = new FrameQBufMgr_ShMem.Config;
 
    obj.eventNo = UInt32  ...
    obj.useNameServer = Bool  ...
    obj.maxInstances = Bool  ...
 
FIELDS
sharedAddr — Shared region address for module initialization.
sharedAddrSize — Size of the shared region .
— (cacheFlags) Cache flags to perform cache operations on module wide shared control structure.
eventNo — The event number used for notification.
name — Name for the module.
shCtrlOpenFlag — Boolean flag if set to FALSE, populate the shared control info required between processors for this module. If it set to TRUE, module initialize call opens the shared control info.Ideally master processor set this flag to FALSE to crate the shared control info.
C SYNOPSIS
 
struct FrameQBufMgr_ShMem.ControlStruct

Shared control structure for the FrameQBufMgr instance

XDCscript usage meta-domain
var obj = new FrameQBufMgr_ShMem.ControlStruct;
 
    obj.attrs = IFrameQBufMgr.Attrs  ...
    obj.freeFramePool = IFrameQBufMgr.FreeFramePoolObj[IFrameQBufMgr.MAX_POOLS]  ...
 
FIELDS
attrs — Shared control info of type Attrs.
bufPool — Array of buffer pools of type bufPoolList.
C SYNOPSIS
 
struct FrameQBufMgr_ShMem.CreateParams

Structure defining common instance parameters for the FrameQ module.Should be the first element in the create params strcture of the actual implementation

XDCscript usage meta-domain
var obj = new FrameQBufMgr_ShMem.CreateParams;
 
    obj.size = UInt32  ...
    obj.ctrlInterfaceType = IFrameQBufMgr.Interface  ...
    obj.name = String  ...
    obj.openFlag = Bool  ...
 
FIELDS
size — Size of the Create params structure(Should be the size of the actual implementation's Create params structure in which this FrameQ_CreateParams is the first element.
interface — type of implementation. See Interface.
name — Name of the instance.
openFlag — Denotes whether create should actually create/open instance.
C SYNOPSIS
 
struct FrameQBufMgr_ShMem.FrameBufInfo

Structure of the framebuffer info in frame

XDCscript usage meta-domain
var obj = new FrameQBufMgr_ShMem.FrameBufInfo;
 
    obj.bufPtr = UInt32  ...
    obj.bufSize = UInt32  ...
    obj.startOffset = UInt32  ...
    obj.validSize = UInt32  ...
    obj.pixelFormat = UInt32  ...
    obj.height = UInt32  ...
    obj.width = UInt32  ...
    obj.stride = UInt32  ...
 
FIELDS
bufPtr — Pointer to the frame buffer.
bufSize — Size of the buffer.
startOffSet — Start offset in the buffer from where valid data starts.
validSize — Valid size in the buffer from the zeroth offset in the frame buffer.
height — Pointer to the frame buffer.
width — Size of the buffer.
stride — Multiple of page size and needs to be added to Tile start address in order to get the address starting on next row in same tile.
C SYNOPSIS
 
struct FrameQBufMgr_ShMem.FrameBufParams

Structure defining common frame buf params for tiled as well as non tiled buffers

XDCscript usage meta-domain
var obj = new FrameQBufMgr_ShMem.FrameBufParams;
 
    obj.size = UInt32  ...
    obj.pixelFormat = UInt32  ...
    obj.height = UInt32  ...
    obj.width = UInt32  ...
    obj.align = UInt32  ...
 
FIELDS
size — size for non tiled buffer. Structure defining parameters for the Tiled data buffers
pixelFormat — pixel format for tiled buffer.
height — height .
width — width .
stride — stride of container, must be multiple of page size.
align — Alignment of the buffer .
C SYNOPSIS
 
struct FrameQBufMgr_ShMem.FrameHeader

Structure of the base frame header. FrameQ maintains list of frames to be retrieved by FrameQ reader client. Application is expected to use Helper API to extract fileds and exteneded header pointer

XDCscript usage meta-domain
var obj = new FrameQBufMgr_ShMem.FrameHeader;
 
    obj.reserved0 = UInt32  ...
    obj.reserved1 = UInt32  ...
    obj.baseHeaderSize = UInt16  ...
    obj.headerSize = UInt16  ...
    obj.frmAllocaterId = UInt32  ...
    obj.frameBufType = UInt32  ...
    obj.freeFrmQueueNo = UInt8  ...
    obj.numFrameBuffers = UInt8  ...
    obj.frameBufInfo = IFrame.FrameBufInfo[1]  ...
 
FIELDS
baseHeaderSize — Size of the base frame header.
headerSize — Size of the frame header(total size of base header and extended header).
frmAllocaterId — Denotes the FrameQBufMgr Id from which frame is allocated.
freeFrmQueueNo — Free quque No from which frame is allocated in FrameQBufMgr.
numFrameBuffers — Number of framebuffers in a frame.
frameBufInfo — Information of Frame buffer. FrameBufInfo
C SYNOPSIS
 
struct FrameQBufMgr_ShMem.FreeFramePoolObj

Free Frame pool structure to keep track of the free frames in a frame pool

XDCscript usage meta-domain
var obj = new FrameQBufMgr_ShMem.FreeFramePoolObj;
 
    obj.numFrms = UInt32  ...
    obj.freeFrms = UInt32  ...
    obj.numFrmHdrBufs = UInt32  ...
    obj.freeFrmHdrBufs = UInt32  ...
    obj.frmHdrBufSize = UInt32  ...
    obj.numBufsInFrame = UInt32  ...
    obj.numDynamicHdrBufs = UInt32  ...
    obj.freeDynamicHdrBufs = UInt32  ...
    obj.numDynamicFrames = UInt32  ...
    obj.freeDynamicFrames = UInt32  ...
    obj.frmStartAddrp = UInt32  ...
    obj.frmEndAddrp = UInt32  ...
    obj.hdrBufStartAddrp = UInt32  ...
    obj.hdrBufEndAddrp = UInt32  ...
    obj.frmBufsStartAddrp = UInt32  ...
    obj.frmBufsEndAddrp = UInt32  ...
    obj.frmBufSize = UInt32[IFrameQBufMgr.MAX_FRAMEBUFS]  ...
    obj.frmRefCnt = UInt32[IFrameQBufMgr.POOL_MAXFRAMES]  ...
    obj.dynFrame = UInt32[IFrameQBufMgr.POOL_DYNAMIC_MAXFRAMES]  ...
    obj.dynFrmRefCnt = UInt32[IFrameQBufMgr.POOL_DYNAMIC_MAXFRAMES]  ...
    obj.hdrBuf_refCntIndex = UInt32[IFrameQBufMgr.POOL_MAXHDRS]  ...
    obj.dynHdrBuf_refCntIndex = UInt32[IFrameQBufMgr.POOL_DYNAMIC_MAXHDRS]  ...
    obj.dynHdrBufs = UInt32[IFrameQBufMgr.POOL_DYNAMIC_MAXHDRS]  ...
    obj.hdrBufIsUsed = Bool[IFrameQBufMgr.POOL_MAXHDRS]  ...
    obj.dynHdrBufIsUsed = Bool[IFrameQBufMgr.POOL_DYNAMIC_MAXHDRS]  ...
    obj.hdrBuf_refCntIndexType = UInt8[IFrameQBufMgr.POOL_MAXHDRS]  ...
    obj.dynHdrBuf_refCntIndexType = UInt8[IFrameQBufMgr.POOL_DYNAMIC_MAXHDRS]  ...
 
C SYNOPSIS
 
struct FrameQBufMgr_ShMem.NotifyParams

Structure defining notification parameter structure

XDCscript usage meta-domain
var obj = new FrameQBufMgr_ShMem.NotifyParams;
 
    obj.notifyType = SysLink.NotifyType  ...
    obj.watermark = UInt32  ...
    obj.cbFxnPtr = Void(*)(IFrameQBufMgr.Handle,Ptr,UInt16)  ...
    obj.cbContext = Ptr  ...
    obj.cbClientHandle = Ptr  ...
 
FIELDS
notifyType — notification type.See SysLink.NotifyType.
watermark — Minumum number of free frames required to generate notification Same water mark for all the individual freeFramePools in the set.
cbFxnPtr — Cacll back function.
cbContext — Context pointer that needs to be passed to call back function.
cbClientHandle — Handle that needs to be passed as first arg to call back.Ideally this should be callers client handle.
C SYNOPSIS
 
struct FrameQBufMgr_ShMem.OpenParams

mouduleconfig structure

XDCscript usage meta-domain
var obj = new FrameQBufMgr_ShMem.OpenParams;
 
    obj.commonOpenParams = FrameQBufMgr_ShMem.CommonOpenParams  ...
 
FIELDS
commonOpenParams — Open params common to all the implementations. see CommonOpenParams
C SYNOPSIS
 
config FrameQBufMgr_ShMem.A_InvalidCreatorProcId  // module-wide

Assert raised when creator processor id of the instance is not valid

XDCscript usage meta-domain
FrameQBufMgr_ShMem.A_InvalidCreatorProcId = Assert.Desc {
    msg: "A_InvalidCreatorProcId: Invalid creator processor id"
};
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.A_InvalidInstNo  // module-wide

Assert raised when Inst No of the instance is not valid

XDCscript usage meta-domain
FrameQBufMgr_ShMem.A_InvalidInstNo = Assert.Desc {
    msg: "A_InvalidInstNo: Invalid instance no"
};
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.A_invalidFree  // module-wide

Error raised when invalid FrameQ_free is called

XDCscript usage meta-domain
FrameQBufMgr_ShMem.A_invalidFree = Assert.Desc {
    msg: "A_invalidFree: invalid FrameQ_free is called.Frame already freed"
};
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.A_invalidParams  // module-wide

Assert raised when an invalid parameter(s) is passed into a function

XDCscript usage meta-domain
FrameQBufMgr_ShMem.A_invalidParams = Assert.Desc {
    msg: "A_invalidParams: Invalid parameter"
};
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.A_invalid_MemMgrType  // module-wide

Assert raised when invalid MemMgr type specified

XDCscript usage meta-domain
FrameQBufMgr_ShMem.A_invalid_MemMgrType = Assert.Desc {
    msg: "A_invalid_MemMgrType: Invalid MemMgrType"
};
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.A_localProtection  // module-wide

Assert raised when local protection provided is not sufficient for ClientNotifyMgr

XDCscript usage meta-domain
FrameQBufMgr_ShMem.A_localProtection = Assert.Desc {
    msg: "A_localProtection: Insufficient local protection "
};
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.A_nullHandle  // module-wide

Assert raised when null handle is returned from modules

XDCscript usage meta-domain
FrameQBufMgr_ShMem.A_nullHandle = Assert.Desc {
    msg: "A_nullHandle: Null Handle"
};
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.A_nullPointer  // module-wide

Assert raised when a null pointer needs to be dereferenced

XDCscript usage meta-domain
FrameQBufMgr_ShMem.A_nullPointer = Assert.Desc {
    msg: "A_nullPointer: Null pointer"
};
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.Attrs_STRUCT_PADDING  // module-wide

Padding required for the Attrs structure

XDCscript usage meta-domain
FrameQBufMgr_ShMem.Attrs_STRUCT_PADDING = UInt32 ((IFrameQBufMgr.CACHE_LINESIZE - ((4 * 8) + (IFrameQBufMgr.MAX_NAMELEN) + 2)) / 2);
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.CACHE_LINESIZE  // module-wide

Cache line size

XDCscript usage meta-domain
FrameQBufMgr_ShMem.CACHE_LINESIZE = UInt32 128;
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.E_CacheAlign  // module-wide

Error raised when buffersize is not aligned to Cache line size

XDCscript usage meta-domain
FrameQBufMgr_ShMem.E_CacheAlign = Error.Desc {
    msg: "E_CacheAlign: BufferSize is not Cache Aligned"
};
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.E_ClientNotifyMgrCreate  // module-wide

Error raised when ClientNotifyMgr Create failed

XDCscript usage meta-domain
FrameQBufMgr_ShMem.E_ClientNotifyMgrCreate = Error.Desc {
    msg: "E_ClientNotifyMgrCreate: ClientNotifyMgr instance Create Failed"
};
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.E_ClientNotifyMgrOpen  // module-wide

Error raised when ClientNotifyMgrOpen failed

XDCscript usage meta-domain
FrameQBufMgr_ShMem.E_ClientNotifyMgrOpen = Error.Desc {
    msg: "E_ClientNotifyMgrOpen: ClientNotifyMgrOpen instance Open Failed"
};
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.E_Fail  // module-wide

Error raised when postinitialize API failed

XDCscript usage meta-domain
FrameQBufMgr_ShMem.E_Fail = Error.Desc {
    msg: "E_Fail: Api failed"
};
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.E_FrameQBufMgrNotCreated  // module-wide

Error raised when FrameQBufMgr is not created

XDCscript usage meta-domain
FrameQBufMgr_ShMem.E_FrameQBufMgrNotCreated = Error.Desc {
    msg: "E_FrameQBufMgrNotCreated: FrameQBufMgr instance is not created"
};
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.E_FrameQBufMgrNotFound  // module-wide

Error raised when FrameQBufMgr is not Found in NameServer

XDCscript usage meta-domain
FrameQBufMgr_ShMem.E_FrameQBufMgrNotFound = Error.Desc {
    msg: "E_FrameQBufMgrNotFound: FrameQBufMgr instance is not found in NameServer"
};
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.E_GateMPCreate  // module-wide

Error raised when GateMP create failed

XDCscript usage meta-domain
FrameQBufMgr_ShMem.E_GateMPCreate = Error.Desc {
    msg: "E_GateMPCreate: GateMP create instance create failed"
};
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.E_GateMPOpen  // module-wide

Error raised when GateMP open failed

XDCscript usage meta-domain
FrameQBufMgr_ShMem.E_GateMPOpen = Error.Desc {
    msg: "E_GateMPOpen: GateMP instance open failed"
};
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.E_InvAddr  // module-wide

Error raised when Insufficient shared addrprovided to create call

XDCscript usage meta-domain
FrameQBufMgr_ShMem.E_InvAddr = Error.Desc {
    msg: "E_InvAddr: Shared Addr provide to create call is NULL"
};
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.E_InvArg  // module-wide

Error raised when invalid arguments passed to the create call

XDCscript usage meta-domain
FrameQBufMgr_ShMem.E_InvArg = Error.Desc {
    msg: "E_InvArg: Invalid arguments passed"
};
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.E_InvSize  // module-wide

Error raised when Insufficient shared memory provided to create call

XDCscript usage meta-domain
FrameQBufMgr_ShMem.E_InvSize = Error.Desc {
    msg: "E_InvSize: SharedMemory provided to create call is less than the instance shared memory requirements"
};
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.E_InvalidMemMgrType  // module-wide

Error raised when invalid MemMgr type specified

XDCscript usage meta-domain
FrameQBufMgr_ShMem.E_InvalidMemMgrType = Error.Desc {
    msg: "E_InvalidMemMgrType: MemMgr type specified is invalid"
};
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.E_MemoryAlloc  // module-wide

Error raised when Memory_alloc API failed

XDCscript usage meta-domain
FrameQBufMgr_ShMem.E_MemoryAlloc = Error.Desc {
    msg: "E_MemoryAlloc: Memory_alloc failed"
};
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.E_maxInstances  // module-wide

Error raised when max instances limit is reached

XDCscript usage meta-domain
FrameQBufMgr_ShMem.E_maxInstances = Error.Desc {
    msg: "E_maxInstances: max instances limit reached"
};
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.E_postInitFail  // module-wide

Error raised when postinitialize API failed

XDCscript usage meta-domain
FrameQBufMgr_ShMem.E_postInitFail = Error.Desc {
    msg: "E_postInitFail: Instance post init failed"
};
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.MAXINSTANCES  // module-wide

Maximum number of instances that can be created for this module

XDCscript usage meta-domain
FrameQBufMgr_ShMem.MAXINSTANCES = UInt32 64;
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.MAX_NAMELEN  // module-wide

Maximum length of the name strings

XDCscript usage meta-domain
FrameQBufMgr_ShMem.MAX_NAMELEN = UInt32 32;
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.NOTIFY_RESERVED_EVENTNO  // module-wide

Event Number to be used by FrameQBufMgr module

XDCscript usage meta-domain
FrameQBufMgr_ShMem.NOTIFY_RESERVED_EVENTNO = UInt32 3;
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.nameServer  // module-wide

Handle to the name server

XDCscript usage meta-domain
FrameQBufMgr_ShMem.nameServer = NameServer.Handle null;
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.usedefaultgate  // module-wide

If set to true FrameQBufMgr instances will use dafault gate set in FrameQBufMgr. If default gate is not set in FrameQBufMgr, it uses GateMP's default gate. Set it to zero if FrameQBufMgr needs to create gate for a instance (remoteProtect and localProtect flags should be valid in params in this case)

XDCscript usage meta-domain
FrameQBufMgr_ShMem.usedefaultgate = Bool false;
 
C SYNOPSIS
 
metaonly config FrameQBufMgr_ShMem.common$  // module-wide

Common module configuration parameters

XDCscript usage meta-domain
FrameQBufMgr_ShMem.common$ = Types.Common$ undefined;
 
DETAILS
All modules have this configuration parameter. Its name contains the '$' character to ensure it does not conflict with configuration parameters declared by the module. This allows new configuration parameters to be added in the future without any chance of breaking existing modules.
 
metaonly config FrameQBufMgr_ShMem.nameSrvPrms  // module-wide

This Params object is used for temporary storage of the module wide parameters that are for setting the NameServer instance

XDCscript usage meta-domain
FrameQBufMgr_ShMem.nameSrvPrms = NameServer.Params undefined;
 
 
metaonly config FrameQBufMgr_ShMem.tableSection  // module-wide

Section name is used to place the names table

XDCscript usage meta-domain
FrameQBufMgr_ShMem.tableSection = String null;
 
 
metaonly config FrameQBufMgr_ShMem.useNameServer  // module-wide

Whether to have this module use the NameServer or not

XDCscript usage meta-domain
FrameQBufMgr_ShMem.useNameServer = Bool true;
 
DETAILS
Currently defaulted to false because static creation of NameServer instances is not supported.
Instance Config Parameters

XDCscript usage meta-domain
var params = new FrameQBufMgr_ShMem.Params;
// Instance config-params object
    params.align = SizeT 0;
    // Alignment (in MAUs) of each block
    params.bufInterfaceType = UInt32 IFrameQBufMgr.INTERFACE_SHAREDMEM;
    // 
    params.commonCreateParams = FrameQBufMgr_ShMem.CreateParams {
    // Create params common to all the implementations of FrameQBufMgr
        size: 0,
        ctrlInterfaceType: IFrameQBufMgr.INTERFACE_NONE,
        name: null,
        openFlag: false
    };
    params.cpuAccessFlags = UInt32 0;
    // Cache flags denoting whether cache coherence operations are needed to be performed on instance shared control structures
    params.frameBufParams = FrameQBufMgr_ShMem.FrameBufParams*[IFrameQBufMgr.MAX_POOLS] [
    // Frame buffer params common to all types of allocations of buffers
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null
    ];
    params.frameBufSizes = UInt32** null;
    // UInt32 pointer to pointer pointing to frame buf sizes of frame buffers in each pool
    params.frameHeaderBufSize = UInt32* null;
    // UInt32 pointer pointing to headerBuffer sizes in each pool
    params.frmBuf_regionId = UInt32 0;
    // Shared region ID for Frame buffers
    params.gate = GateMP.Handle null;
    // IGateProvider used for critical region management of the shared memory
    params.hdrBuf_regionId = UInt32 0;
    // Shared region ID for Header buffers
    params.headerInterfaceType = UInt32 IFrameQBufMgr.INTERFACE_SHAREDMEM;
    // 
    params.localProtect = GateMP.LocalProtect GateMP.LocalProtect_INTERRUPT;
    // Default local protection level for the module instance
    params.numFrameBufsInFrame = UInt32* null;
    // UInt32 pointer pointing to number of frame buffers in each pool
    params.numFreeFramePools = UInt32 0;
    // Number of buffer pools
    params.numFreeFramesInPool = UInt32* null;
    // UInt32 pointer pointing to Number of frames in each pool
    params.numFreeHeaderBufsInPool = UInt32* null;
    // UInt32 pointer pointing to Number of additional frame headers in each pool
    params.numNotifyEntries = UInt32 1;
    // How many clients that do reister callback function with the instance
    params.regionId = UInt32 0;
    // Shared region ID
    params.remoteProtect = GateMP.RemoteProtect GateMP.RemoteProtect_SYSTEM;
    // Default multiprocessor protection for the module instances
    params.sharedAddr = Ptr null;
    // Virtual Address of the shared memory.Must be mapped on other processors if instance needs to be accessible from other processors
    params.sharedAddrFrmBuf = Ptr null;
    // Virtual shared Region Address of chunk for frame buffers
    params.sharedAddrFrmBufSize = UInt32 0;
    // sharedAddrHdrBufSize Size of the sharedAddrFrmBuf
    params.sharedAddrHdrBuf = Ptr null;
    // 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
    params.sharedAddrHdrBufSize = UInt32 0;
    // Size of sharedAddrHdrBuf
    params.sharedAddrSize = UInt32 0;
    // Size of shareAddr
 
config FrameQBufMgr_ShMem.align  // instance

Alignment (in MAUs) of each block

XDCscript usage meta-domain
var params = new FrameQBufMgr_ShMem.Params;
  ...
params.align = SizeT 0;
 
DETAILS
The alignment must be a power of 2. If the value 0 is specified, the value will be changed to meet the minimum structure alignment requirements (refer to xdc.runtime.Memory.getMaxDefaultTypeAlign and xdc.runtime.Memory.getMaxDefaultTypeAlignMeta), so the actual alignment may be larger.
For static creates, the FrameQBufMgr will allocate space for the buffer and will align the buffer on this requested alignment.
For dynamic creates, this parameter is used solely for error checking. The buffer provided to a dynamically created FrameQBufMgr must be aligned manually, and an assert will be raised if the buffer is not properly aligned. For dynamic creates, FrameQBufMgr will NOT adjust the buffer to satisfy the alignment.
The default alignment is 0.
C SYNOPSIS
 
config FrameQBufMgr_ShMem.bufInterfaceType  // instance
XDCscript usage meta-domain
var params = new FrameQBufMgr_ShMem.Params;
  ...
params.bufInterfaceType = UInt32 IFrameQBufMgr.INTERFACE_SHAREDMEM;
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.commonCreateParams  // instance

Create params common to all the implementations of FrameQBufMgr

XDCscript usage meta-domain
var params = new FrameQBufMgr_ShMem.Params;
  ...
params.commonCreateParams = FrameQBufMgr_ShMem.CreateParams {
    size: 0,
    ctrlInterfaceType: IFrameQBufMgr.INTERFACE_NONE,
    name: null,
    openFlag: false
};
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.cpuAccessFlags  // instance

Cache flags denoting whether cache coherence operations are needed to be performed on instance shared control structures

XDCscript usage meta-domain
var params = new FrameQBufMgr_ShMem.Params;
  ...
params.cpuAccessFlags = UInt32 0;
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.frameBufParams  // instance

Frame buffer params common to all types of allocations of buffers

XDCscript usage meta-domain
var params = new FrameQBufMgr_ShMem.Params;
  ...
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null
];
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.frameBufSizes  // instance

UInt32 pointer to pointer pointing to frame buf sizes of frame buffers in each pool

XDCscript usage meta-domain
var params = new FrameQBufMgr_ShMem.Params;
  ...
params.frameBufSizes = UInt32** null;
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.frameHeaderBufSize  // instance

UInt32 pointer pointing to headerBuffer sizes in each pool

XDCscript usage meta-domain
var params = new FrameQBufMgr_ShMem.Params;
  ...
params.frameHeaderBufSize = UInt32* null;
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.frmBuf_regionId  // instance

Shared region ID for Frame buffers

XDCscript usage meta-domain
var params = new FrameQBufMgr_ShMem.Params;
  ...
params.frmBuf_regionId = UInt32 0;
 
DETAILS
The ID corresponding to the shared region in From which Frame buffers will be allocated if sharedAddrFrmBuf is not provided.
C SYNOPSIS
 
config FrameQBufMgr_ShMem.gate  // instance

IGateProvider used for critical region management of the shared memory

XDCscript usage meta-domain
var params = new FrameQBufMgr_ShMem.Params;
  ...
params.gate = GateMP.Handle null;
 
DETAILS
This must be a shared memory gate.
C SYNOPSIS
 
config FrameQBufMgr_ShMem.hdrBuf_regionId  // instance

Shared region ID for Header buffers

XDCscript usage meta-domain
var params = new FrameQBufMgr_ShMem.Params;
  ...
params.hdrBuf_regionId = UInt32 0;
 
DETAILS
The ID corresponding to the shared region in From which Header buffers will be allocated if sharedAddrHdrBuf is not provided.
C SYNOPSIS
 
config FrameQBufMgr_ShMem.headerInterfaceType  // instance
XDCscript usage meta-domain
var params = new FrameQBufMgr_ShMem.Params;
  ...
params.headerInterfaceType = UInt32 IFrameQBufMgr.INTERFACE_SHAREDMEM;
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.localProtect  // instance

Default local protection level for the module instance

XDCscript usage meta-domain
var params = new FrameQBufMgr_ShMem.Params;
  ...
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.numFrameBufsInFrame  // instance

UInt32 pointer pointing to number of frame buffers in each pool

XDCscript usage meta-domain
var params = new FrameQBufMgr_ShMem.Params;
  ...
params.numFrameBufsInFrame = UInt32* null;
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.numFreeFramePools  // instance

Number of buffer pools

XDCscript usage meta-domain
var params = new FrameQBufMgr_ShMem.Params;
  ...
params.numFreeFramePools = UInt32 0;
 
DETAILS
Required parameter.
The default number of free Frame pools is 0.
C SYNOPSIS
 
config FrameQBufMgr_ShMem.numFreeFramesInPool  // instance

UInt32 pointer pointing to Number of frames in each pool

XDCscript usage meta-domain
var params = new FrameQBufMgr_ShMem.Params;
  ...
params.numFreeFramesInPool = UInt32* null;
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.numFreeHeaderBufsInPool  // instance

UInt32 pointer pointing to Number of additional frame headers in each pool

XDCscript usage meta-domain
var params = new FrameQBufMgr_ShMem.Params;
  ...
params.numFreeHeaderBufsInPool = UInt32* null;
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.numNotifyEntries  // instance

How many clients that do reister callback function with the instance

XDCscript usage meta-domain
var params = new FrameQBufMgr_ShMem.Params;
  ...
params.numNotifyEntries = UInt32 1;
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.regionId  // instance

Shared region ID

XDCscript usage meta-domain
var params = new FrameQBufMgr_ShMem.Params;
  ...
params.regionId = UInt32 0;
 
DETAILS
The ID corresponding to the shared region in which this shared instance is to be placed.
C SYNOPSIS
 
config FrameQBufMgr_ShMem.remoteProtect  // instance

Default multiprocessor protection for the module instances

XDCscript usage meta-domain
var params = new FrameQBufMgr_ShMem.Params;
  ...
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.sharedAddr  // instance

Virtual Address of the shared memory.Must be mapped on other processors if instance needs to be accessible from other processors

XDCscript usage meta-domain
var params = new FrameQBufMgr_ShMem.Params;
  ...
params.sharedAddr = Ptr null;
 
DETAILS
The creator must supply the shared memory that this will use for maintain shared state information. Required parameter.
C SYNOPSIS
 
config FrameQBufMgr_ShMem.sharedAddrFrmBuf  // instance

Virtual shared Region Address of chunk for frame buffers

XDCscript usage meta-domain
var params = new FrameQBufMgr_ShMem.Params;
  ...
params.sharedAddrFrmBuf = Ptr null;
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.sharedAddrFrmBufSize  // instance

sharedAddrHdrBufSize Size of the sharedAddrFrmBuf

XDCscript usage meta-domain
var params = new FrameQBufMgr_ShMem.Params;
  ...
params.sharedAddrFrmBufSize = UInt32 0;
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.sharedAddrHdrBuf  // instance

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

XDCscript usage meta-domain
var params = new FrameQBufMgr_ShMem.Params;
  ...
params.sharedAddrHdrBuf = Ptr null;
 
DETAILS
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.
C SYNOPSIS
 
config FrameQBufMgr_ShMem.sharedAddrHdrBufSize  // instance

Size of sharedAddrHdrBuf

XDCscript usage meta-domain
var params = new FrameQBufMgr_ShMem.Params;
  ...
params.sharedAddrHdrBufSize = UInt32 0;
 
C SYNOPSIS
 
config FrameQBufMgr_ShMem.sharedAddrSize  // instance

Size of shareAddr

XDCscript usage meta-domain
var params = new FrameQBufMgr_ShMem.Params;
  ...
params.sharedAddrSize = UInt32 0;
 
DETAILS
Can use the sharedMemReq or sharedMemReqMeta call to determine the required size.
Required parameter.
C SYNOPSIS
generated on Mon, 08 Aug 2011 21:02:29 GMT