module ti.syslink.ipc.rtos.shMem.FrameQ_ShMem
C synopsis target-domain sourced in ti/syslink/ipc/rtos/shMem/FrameQ_ShMem.xdc
#include <ti/syslink/ipc/rtos/shMem/FrameQ_ShMem.h>
Functions
Int32 
Int32 
Void
UInt32 
Functions common to all IFrameQ modules
Int32 
Int32 
Int32 
Int32 
Int32 
Int32 
Int32 
Int32 
UInt32 
Ptr 
UInt32 
UInt32 
UInt32 
Int32 
Int32 
Int32 
FrameQ_ShMem_getv// (FrameQ_ShMem_Handle handle, IFrameQ_Frame pframe[], UInt32 filledQueueId[], UInt8 *numFrames);
Int32 
Int32 
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
Typedefs
typedef struct
typedef struct
typedef struct
typedef enum
typedef struct
typedef struct
typedef struct
typedef struct
typedef enum
typedef Void 
typedef struct
typedef enum
typedef struct
typedef enum
typedef struct
typedef struct
typedef struct
typedef struct
typedef struct
Constants
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 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 NameServer_Handle 
extern const Bool 
 
 
const FrameQ_ShMem_CACHE_LINESIZE

Cache line size

C synopsis target-domain
#define FrameQ_ShMem_CACHE_LINESIZE (UInt32)128
 
 
const FrameQ_ShMem_DYNAMIC_CREATE

Type of creation

C synopsis target-domain
#define FrameQ_ShMem_DYNAMIC_CREATE (UInt32)0x4
 
 
const FrameQ_ShMem_DYNAMIC_CREATE_USEDREGION

Type of creation

C synopsis target-domain
#define FrameQ_ShMem_DYNAMIC_CREATE_USEDREGION (UInt32)0x8
 
 
const FrameQ_ShMem_DYNAMIC_OPEN

Type of open

C synopsis target-domain
#define FrameQ_ShMem_DYNAMIC_OPEN (UInt32)0x20
 
 
const FrameQ_ShMem_FRAMEBUF_CPUACCESSFLAGS_BITOFFSET
C synopsis target-domain
#define FrameQ_ShMem_FRAMEBUF_CPUACCESSFLAGS_BITOFFSET (UInt32)16
 
 
const FrameQ_ShMem_INVALID

Type of open

C synopsis target-domain
#define FrameQ_ShMem_INVALID (UInt32)0xFF
 
 
const FrameQ_ShMem_MAXFILLEDQUEUS_FOR_READER

Max filled queues for a reader client of the FrameQ instance.

C synopsis target-domain
#define FrameQ_ShMem_MAXFILLEDQUEUS_FOR_READER (UInt32)16
 
 
const FrameQ_ShMem_MAX_INSTANCES

Maximum number of instances managed by FrameQ module

C synopsis target-domain
#define FrameQ_ShMem_MAX_INSTANCES (UInt32)64
 
 
const FrameQ_ShMem_MAX_INST_READERS

Maximum number of reader clients supported by an instance

C synopsis target-domain
#define FrameQ_ShMem_MAX_INST_READERS (UInt32)2
 
 
const FrameQ_ShMem_MAX_NAMELEN

Maximum length of the name strings

C synopsis target-domain
#define FrameQ_ShMem_MAX_NAMELEN (UInt32)32
 
 
const FrameQ_ShMem_NOTIFY_RESERVED_EVENTNO

Notify Event Number to be used by FrameQ module

C synopsis target-domain
#define FrameQ_ShMem_NOTIFY_RESERVED_EVENTNO (UInt16)1
 
 
const FrameQ_ShMem_STATIC_CREATE

Type of creation

C synopsis target-domain
#define FrameQ_ShMem_STATIC_CREATE (UInt32)0x1
 
 
const FrameQ_ShMem_STATIC_CREATE_USEDREGION

Type of creation

C synopsis target-domain
#define FrameQ_ShMem_STATIC_CREATE_USEDREGION (UInt32)0x2
 
 
const FrameQ_ShMem_STATIC_OPEN

Type of open

C synopsis target-domain
#define FrameQ_ShMem_STATIC_OPEN (UInt32)0x10
 
 
const FrameQ_ShMem_VERSION
C synopsis target-domain
#define FrameQ_ShMem_VERSION (UInt32)1
 
 
enum FrameQ_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 FrameQ_ShMem_CpuAccessFlags {
    FrameQ_ShMem_FRAMEBUF0_CPUACCESS,
    FrameQ_ShMem_FRAMEBUF1_CPUACCESS,
    FrameQ_ShMem_FRAMEBUF2_CPUACCESS,
    FrameQ_ShMem_FRAMEBUF3_CPUACCESS,
    FrameQ_ShMem_FRAMEBUF4_CPUACCESS,
    FrameQ_ShMem_FRAMEBUF5_CPUACCESS,
    FrameQ_ShMem_FRAMEBUF6_CPUACCESS,
    FrameQ_ShMem_FRAMEBUF7_CPUACCESS
} FrameQ_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 FrameQ_ShMem_Interface

Enumeration of FrameQ interface types.Denotes different implementation types

C synopsis target-domain
typedef enum FrameQ_ShMem_Interface {
    FrameQ_ShMem_INTERFACE_SHAREDMEM,
    FrameQ_ShMem_INTERFACE_NONE
} FrameQ_ShMem_Interface;
 
VALUES
INTERFACE_SHAREDMEM — FrameQ implementation (FrameQ_ShMem Implementation) on shared memory.
 
enum FrameQ_ShMem_NotifyType
C synopsis target-domain
typedef enum FrameQ_ShMem_NotifyType {
    FrameQ_ShMem_NOTIFICATION_NONE,
    FrameQ_ShMem_NOTIFICATION_ALWAYS,
    FrameQ_ShMem_NOTIFICATION_ONCE,
    FrameQ_ShMem_NOTIFICATION_HDWRFIFO_ALWAYS,
    FrameQ_ShMem_NOTIFICATION_HDWRFIFO_ONCE
} FrameQ_ShMem_NotifyType;
 
VALUES
NOTIFICATION_NONE — No notification required.
NOTIFICATION_ALWAYS — Notify whenever the other client sends data/frees up space.
NOTIFICATION_ONCE — Notify when the other side sends data/frees up buffer. Once the notification is done, the notification is disabled until it is enabled again.
NOTIFICATION_HDWRFIFO_ALWAYS — Notify whenever the other side sends data/frees up space. This notification is never disabled.
NOTIFICATION_HDWRFIFO_ONCE — Notify when the other side sends data/frees up buffer. Once the notification is done, the notification is disabled until it is enabled again. The notification is enabled once the watermark is crossed and does not require buffer to get full/empty..
DETAILS
Enumeration of Client notifyMgr notification types..
BRIEF
Enumerates the notification types used by SysLink ipc components.
 
enum FrameQ_ShMem_OpenMode

Enumeration of FrameQ open modes

C synopsis target-domain
typedef enum FrameQ_ShMem_OpenMode {
    FrameQ_ShMem_MODE_NONE,
    FrameQ_ShMem_MODE_WRITER,
    FrameQ_ShMem_MODE_READER
} FrameQ_ShMem_OpenMode;
 
VALUES
MODE_WRITER — if specifed in openParams, open call returns a writer handle.
MODE_READER — if specifed in params, open call returns a reader handle.
 
typedef FrameQ_ShMem_Frame
C synopsis target-domain
typedef IFrame_FrameHeader *FrameQ_ShMem_Frame;
 
 
typedef FrameQ_ShMem_NotifyFunc

Prototype of the FrameQ call back function

C synopsis target-domain
typedef Void (*FrameQ_ShMem_NotifyFunc)(IFrameQ_Handle,Ptr,UInt16);
 
 
struct FrameQ_ShMem_Attrs

Shared control strucrue for the instance attributes

C synopsis target-domain
typedef struct FrameQ_ShMem_Attrs {
    UInt32 status;
    UInt32 version;
    UInt32 localProtect;
    UInt32 remoteProtect;
    Ptr gateMPAddr;
    UInt32 numReaders;
    UInt32 numActiveReaders;
    UInt32 numQueues;
    UInt32 primaryQueueId;
    UInt32 frmQBufMgrId;
} FrameQ_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)
numReaders — Max reader clients supported for this instance.
numActiveReaders — Number of readers currenty opened for the instance.
numQueues — Number of queues cofigured for each reader.
primaryQueueId — QueueId to which writer sends frames if there are no active readers or only one reader exist.
frmQBufMgrId — Id of FrameQBufmgr used by this instance.
frmQueue — Array of frame queues supported for this instance.
 
struct FrameQ_ShMem_CommonOpenParams

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

C synopsis target-domain
typedef struct FrameQ_ShMem_CommonOpenParams {
    String name;
    Ptr sharedAddr;
    UInt32 openMode;
    UInt32 cpuAccessFlags;
} FrameQ_ShMem_CommonOpenParams;
 
FIELDS
name — Name of the instance.
sharedAddr — virtual address of the instance shared control structure.
openMode — Mode of the client
cpuAccessFlags — Flag to specify if Frame buffers are accessed through CPU.see CpuAccessFlags.
 
struct FrameQ_ShMem_Config

module config structure

C synopsis target-domain
typedef struct FrameQ_ShMem_Config {
    UInt32 eventNo;
    UInt8 maxInstances;
} FrameQ_ShMem_Config;
 
FIELDS
eventNo — Notify event number used for notification.
 
struct FrameQ_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 FrameQ_ShMem_CreateParams {
    UInt32 size;
    IFrameQ_Interface ctrlInterfaceType;
    String name;
    Bool openFlag;
} FrameQ_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 FrameQ_ShMem_FrameBufInfo

Structure of the framebuffer info in frame

C synopsis target-domain
typedef struct FrameQ_ShMem_FrameBufInfo {
    UInt32 bufPtr;
    UInt32 bufSize;
    UInt32 startOffset;
    UInt32 validSize;
    UInt32 pixelFormat;
    UInt32 height;
    UInt32 width;
    UInt32 stride;
} FrameQ_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 FrameQ_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 FrameQ_ShMem_FrameHeader {
    UInt32 reserved0;
    UInt32 reserved1;
    UInt16 baseHeaderSize;
    UInt16 headerSize;
    UInt32 frmAllocaterId;
    UInt32 frameBufType;
    UInt8 freeFrmQueueNo;
    UInt8 numFrameBuffers;
    IFrame_FrameBufInfo frameBufInfo[1];
} FrameQ_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 FrameQ_ShMem_FrameQueue

Structure to maintain the queue related information

C synopsis target-domain
typedef struct FrameQ_ShMem_FrameQueue {
    UInt32 readerIndex;
    UInt32 numFrames[IFrameQ_MAXFILLEDQUEUS_FOR_READER];
    Bool isAllocated;
} FrameQ_ShMem_FrameQueue;
 
FIELDS
readerIndex — Reader identifier.
numFrames — Number of frames available in the queue.
isAllocated — Flag denoting whether queue is allocated to any reader or not.
 
struct FrameQ_ShMem_NotifyParams

Client notification registration parameter structure

C synopsis target-domain
typedef struct FrameQ_ShMem_NotifyParams {
    IFrameQ_NotifyType notifyType;
    UInt32 watermark;
    IFrameQ_NotifyFunc cbFxnPtr;
    Ptr cbContext;
    Ptr cbClientHandle;
} FrameQ_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 FrameQ_ShMem_OpenParams

mouduleconfig structure

C synopsis target-domain
typedef struct FrameQ_ShMem_OpenParams {
    FrameQ_ShMem_CommonOpenParams commonOpenParams;
} FrameQ_ShMem_OpenParams;
 
FIELDS
commonOpenParams — Open params common to all the implementations. see CommonOpenParams
 
struct FrameQ_ShMem_ReaderClient

Reader client info structure

C synopsis target-domain
typedef struct FrameQ_ShMem_ReaderClient {
    UInt32 isValid;
    UInt32 procId;
    UInt32 cacheFlags;
    UInt32 frameQIndex;
    UInt32 notifyId;
    Bool isRegistered;
} FrameQ_ShMem_ReaderClient;
 
FIELDS
isValid — Denotes whether client is valid or not.
cacheFlags — Cache flags for the frame buffer and frame header.
frameQIndex — frameQueue from which this reader can read the frames.
 
struct FrameQ_ShMem_WriterClient

Writer client info in shared memory

C synopsis target-domain
typedef struct FrameQ_ShMem_WriterClient {
    UInt32 isValid;
    UInt32 procId;
    UInt32 cacheFlags;
    Bool isRegistered;
} FrameQ_ShMem_WriterClient;
 
FIELDS
isValid — Denotes whether client is valid or not.
cacheFlags — Cache flags for the frame buffer and frame header. Shared structure cache flag is specified in the object.
 
config FrameQ_ShMem_A_InvalidSharedRegionAddr  // module-wide

Assert raised when n invalid shared region address specified

C synopsis target-domain
extern const Assert_Id FrameQ_ShMem_A_InvalidSharedRegionAddr;
 
 
config FrameQ_ShMem_A_apiFail  // module-wide

Assert raised when an API call failed

C synopsis target-domain
extern const Assert_Id FrameQ_ShMem_A_apiFail;
 
 
config FrameQ_ShMem_A_invalidFrameQBufMgrId  // module-wide

Assert raised when n invalid shared region address specified

C synopsis target-domain
extern const Assert_Id FrameQ_ShMem_A_invalidFrameQBufMgrId;
 
 
config FrameQ_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 FrameQ_ShMem_A_invalidParams;
 
 
config FrameQ_ShMem_A_localProtection  // module-wide

Assert raised when local protection provided is not sufficient for ClientNotifyMgr

C synopsis target-domain
extern const Assert_Id FrameQ_ShMem_A_localProtection;
 
 
config FrameQ_ShMem_A_memoryAllocFail  // module-wide

Assert raised when n invalid shared region address specified

C synopsis target-domain
extern const Assert_Id FrameQ_ShMem_A_memoryAllocFail;
 
 
config FrameQ_ShMem_A_nullHandle  // module-wide

Assert raised when null handle is returned from modules

C synopsis target-domain
extern const Assert_Id FrameQ_ShMem_A_nullHandle;
 
 
config FrameQ_ShMem_A_nullPointer  // module-wide

Assert raised when a null pointer needs to be dereferenced

C synopsis target-domain
extern const Assert_Id FrameQ_ShMem_A_nullPointer;
 
 
config FrameQ_ShMem_E_CacheAlign  // module-wide

Error raised when buffersize is not aligned to Cache line size

C synopsis target-domain
extern const Error_Id FrameQ_ShMem_E_CacheAlign;
 
 
config FrameQ_ShMem_E_ClientNotifyMgrCreate  // module-wide

Error raised when ClientNotifyMgr Create failed

C synopsis target-domain
extern const Error_Id FrameQ_ShMem_E_ClientNotifyMgrCreate;
 
 
config FrameQ_ShMem_E_ClientNotifyMgrOpen  // module-wide

Error raised when ClientNotifyMgrOpen failed

C synopsis target-domain
extern const Error_Id FrameQ_ShMem_E_ClientNotifyMgrOpen;
 
 
config FrameQ_ShMem_E_Fail  // module-wide

Error raised when postinitialize API failed

C synopsis target-domain
extern const Error_Id FrameQ_ShMem_E_Fail;
 
 
config FrameQ_ShMem_E_FrameQBufMgrOpen  // module-wide

Error raised when FrameQBufMgr_open failed

C synopsis target-domain
extern const Error_Id FrameQ_ShMem_E_FrameQBufMgrOpen;
 
 
config FrameQ_ShMem_E_FrameQCreated  // module-wide

Error raised when FrameQ is already created

C synopsis target-domain
extern const Error_Id FrameQ_ShMem_E_FrameQCreated;
 
 
config FrameQ_ShMem_E_FrameQNotCreated  // module-wide

Error raised when FrameQ is not created

C synopsis target-domain
extern const Error_Id FrameQ_ShMem_E_FrameQNotCreated;
 
 
config FrameQ_ShMem_E_FrameQNotFound  // module-wide

Error raised when FrameQ is not Found in NameServer

C synopsis target-domain
extern const Error_Id FrameQ_ShMem_E_FrameQNotFound;
 
 
config FrameQ_ShMem_E_GateMPCreate  // module-wide

Error raised when GateMP Create failed

C synopsis target-domain
extern const Error_Id FrameQ_ShMem_E_GateMPCreate;
 
 
config FrameQ_ShMem_E_GateMPOpen  // module-wide

Error raised when GateMP open failed

C synopsis target-domain
extern const Error_Id FrameQ_ShMem_E_GateMPOpen;
 
 
config FrameQ_ShMem_E_InvAddr  // module-wide

Error raised when Insufficient shared addrprovided to create call

C synopsis target-domain
extern const Error_Id FrameQ_ShMem_E_InvAddr;
 
 
config FrameQ_ShMem_E_InvSize  // module-wide

Error raised when Insufficient shared memory provided to create call

C synopsis target-domain
extern const Error_Id FrameQ_ShMem_E_InvSize;
 
 
config FrameQ_ShMem_E_InvalidArg  // module-wide

Error raised when Invalid args passed

C synopsis target-domain
extern const Error_Id FrameQ_ShMem_E_InvalidArg;
 
 
config FrameQ_ShMem_E_Memory  // module-wide

Error raised when Memory alloc failed

C synopsis target-domain
extern const Error_Id FrameQ_ShMem_E_Memory;
 
 
config FrameQ_ShMem_nameServer  // module-wide

Handle to the name server

C synopsis target-domain
extern const NameServer_Handle FrameQ_ShMem_nameServer;
 
 
config FrameQ_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 FrameQ_ShMem_usedefaultgate;
 
 
FrameQ_ShMem_close()  // module-wide

API to get a open the created FrameQ instance

C synopsis target-domain
Int32 FrameQ_ShMem_close(FrameQ_ShMem_Handle *handlePtr);
 
ARGUMENTS
— (handlePtr) Handle to the created FrameQ instance will be returned through this pointer.
openParams — Instance open params. provide sharedAddr to open the instance.
eb — Error Block.
RETURNS
Retruns positive value if API is success.
Function to close the dynamically opened instance using open call.
returns 0 if successfully registered the call back function.
DETAILS
The instance must be created before openinig it.
 
FrameQ_ShMem_getConfig()  // module-wide

Initialize the passed pointer with the current parameters

C synopsis target-domain
Int32 FrameQ_ShMem_getConfig(IFrameQ_Config *cfgParams);
 
ARGUMENTS
cfgParams — Pointer to parameter structure to be initialized.
 
FrameQ_ShMem_getFrameBufDataStartOffset()  // module-wide

Function to get data start offset in frame buffer

C synopsis target-domain
UInt32 FrameQ_ShMem_getFrameBufDataStartOffset(IFrameQ_Frame frame, UInt32 frameBufNum);
 
ARGUMENTS
frame — frame.See Frame.
frameBufNum — Frame Buffer number.
RETURNS
Returns valid data start offset in frame buffer.
 
FrameQ_ShMem_getFrameBufSize()  // module-wide

Function to get size of frame buffer

C synopsis target-domain
UInt32 FrameQ_ShMem_getFrameBufSize(IFrameQ_Frame frame, UInt32 frameBufNum);
 
ARGUMENTS
frame — frame.See Frame.
frameBufNum — Frame Buffer number.
RETURNS
Returns frame buffer size of the given frame number.
 
FrameQ_ShMem_getFrameBufValidSize()  // module-wide

Function to get valid data size of a frame buffer

C synopsis target-domain
UInt32 FrameQ_ShMem_getFrameBufValidSize(IFrameQ_Frame frame, UInt32 frameBufNum);
 
ARGUMENTS
frame — Frame.See Frame
frameBufNum — Frame Buffer number.
RETURNS
Returns valid data size of data in the given frame.
 
FrameQ_ShMem_getFrameBuffer()  // module-wide

Function to get the framebuffer.If frame is extended it returns the pointer to the user supplied buffer

C synopsis target-domain
Ptr FrameQ_ShMem_getFrameBuffer(IFrameQ_Frame frame, UInt32 frameBufNum);
 
ARGUMENTS
frame — Pointer to the frame. See Frame
frameBufNum — Number of the framebuffer that needs to returned.see getNumFrameBuffers
RETURNS
Returns framebuffer pointed to by the given number in a frame .
 
FrameQ_ShMem_getNumFrameBuffers()  // module-wide

Function to know the number of frame buffers contained in a frame

C synopsis target-domain
UInt32 FrameQ_ShMem_getNumFrameBuffers(IFrameQ_Frame frame);
 
ARGUMENTS
frame — frame pointer(i.e frame header).See Frame
RETURNS
Returns number of frame buffers in given frame.
 
FrameQ_ShMem_open()  // module-wide

API to get a open the created FrameQ instance

C synopsis target-domain
Int32 FrameQ_ShMem_open(FrameQ_ShMem_OpenParams *openParams, FrameQ_ShMem_Handle *handlePtr);
 
ARGUMENTS
— (handlePtr) Handle to the created FrameQ instance will be returned through this pointer.
openParams — Instance open params. Provide name to open the instance.
eb — Error Block.
RETURNS
Returns positive value if API is success.
DETAILS
The instance must be created before openinig it.
 
FrameQ_ShMem_setFrameBufDataStartOffset()  // module-wide

Function to set data start offset from where valid data starts in frame buffer

C synopsis target-domain
Int32 FrameQ_ShMem_setFrameBufDataStartOffset(IFrameQ_Frame frame, UInt32 frameBufNum, UInt32 dataStartOffset);
 
ARGUMENTS
frame — frame.See Frame
frameBufNum — Number of the framebuffer to which this setting is required.
dataStartOffset — dataStart offset value.
RETURNS
Returns data start offset from where valid data starts in frame buffer.
 
FrameQ_ShMem_setFrameBufValidSize()  // module-wide

Function to set valid data size of a frame buffer

C synopsis target-domain
Int32 FrameQ_ShMem_setFrameBufValidSize(IFrameQ_Frame frame, UInt32 frameBufNum, UInt32 validSize);
 
ARGUMENTS
buf — frame.See Frame.
frameBufNum — Number of the framebuffer to which this setting is required.
validSize — valid data size value to set in for the frame buffer.
RETURNS
Returns valid data size in the frame buffer.
 
FrameQ_ShMem_sharedMemReq()  // module-wide

API to find out the instance level memory requirements

C synopsis target-domain
UInt32 FrameQ_ShMem_sharedMemReq(FrameQ_ShMem_Params *params);
 
ARGUMENTS
params — create params
(returns) Amount of shared memory required.
Module-Wide Built-Ins

C synopsis target-domain
Types_ModuleId FrameQ_ShMem_Module_id();
// Get this module's unique id
 
Bool FrameQ_ShMem_Module_startupDone();
// Test if this module has completed startup
 
IHeap_Handle FrameQ_ShMem_Module_heap();
// The heap from which this module allocates memory
 
Bool FrameQ_ShMem_Module_hasMask();
// Test whether this module has a diagnostics mask
 
Bits16 FrameQ_ShMem_Module_getMask();
// Returns the diagnostics mask for this module
 
Void FrameQ_ShMem_Module_setMask(Bits16 mask);
// Set the diagnostics mask for this module
Instance Object Types

C synopsis target-domain
typedef struct FrameQ_ShMem_Object FrameQ_ShMem_Object;
// Opaque internal representation of an instance object
 
typedef FrameQ_ShMem_Object *FrameQ_ShMem_Handle;
// Client reference to an instance object
 
typedef struct FrameQ_ShMem_Struct FrameQ_ShMem_Struct;
// Opaque client structure large enough to hold an instance object
 
FrameQ_ShMem_Handle FrameQ_ShMem_handle(FrameQ_ShMem_Struct *structP);
// Convert this instance structure pointer into an instance handle
 
FrameQ_ShMem_Struct *FrameQ_ShMem_struct(FrameQ_ShMem_Handle handle);
// Convert this instance handle into an instance structure pointer
Instance Config Parameters

C synopsis target-domain
typedef struct FrameQ_ShMem_Params {
// Instance config-params structure
    IInstance_Params *instance;
    // Common per-instance configs
    FrameQ_ShMem_CreateParams commonCreateParams;
    // 
    UInt32 cpuAccessFlags;
    // cpuAccessFlags if createMode is specified as Reader or writer. Not used if createMode is CREATE_MODE_NONE
    String frameQBufMgrName;
    // FrameQ bufMgr Name that needs to be used
    Ptr frameQBufMgrSharedAddr;
    // Shared Address of the FrameQBufMgr instance that needs to be used in FrameQ.Not required if frameQBufMgrName is provided
    GateMP_Handle gate;
    // IGateProvider used for critical region management of the shared memory
    GateMP_LocalProtect localProtect;
    // Default local protection level for the module instance
    UInt32 numQueues;
    // Number of queues(Reader can retrieve frames from these queue by mentioning the queueId in getv calls.) supported for each reader
    UInt32 numReaders;
    // Max number of readers supported for this 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
    UInt32 sharedAddrSize;
    // Size of shareAddr
} FrameQ_ShMem_Params;
 
Void FrameQ_ShMem_Params_init(FrameQ_ShMem_Params *params);
// Initialize this config-params structure with supplier-specified defaults before instance creation
 
config FrameQ_ShMem_commonCreateParams  // instance
C synopsis target-domain
      ...
    FrameQ_ShMem_CreateParams commonCreateParams;
 
 
config FrameQ_ShMem_cpuAccessFlags  // instance

cpuAccessFlags if createMode is specified as Reader or writer. Not used if createMode is CREATE_MODE_NONE

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

FrameQ bufMgr Name that needs to be used

C synopsis target-domain
      ...
    String frameQBufMgrName;
 
 
config FrameQ_ShMem_frameQBufMgrSharedAddr  // instance

Shared Address of the FrameQBufMgr instance that needs to be used in FrameQ.Not required if frameQBufMgrName is provided

C synopsis target-domain
      ...
    Ptr frameQBufMgrSharedAddr;
 
 
config FrameQ_ShMem_gate  // instance

IGateProvider used for critical region management of the shared memory

C synopsis target-domain
      ...
    GateMP_Handle gate;
 
 
config FrameQ_ShMem_localProtect  // instance

Default local protection level for the module instance

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

Number of queues(Reader can retrieve frames from these queue by mentioning the queueId in getv calls.) supported for each reader

C synopsis target-domain
      ...
    UInt32 numQueues;
 
 
config FrameQ_ShMem_numReaders  // instance

Max number of readers supported for this instance

C synopsis target-domain
      ...
    UInt32 numReaders;
 
 
config FrameQ_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 FrameQ_ShMem_remoteProtect  // instance

Default multiprocessor protection for the module instances

C synopsis target-domain
      ...
    GateMP_RemoteProtect remoteProtect;
 
 
config FrameQ_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 to maintain shared state information. Required parameter if regionId is not specified.
 
config FrameQ_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.
 
FrameQ_ShMem_alloc()  // instance

Function to allocate a frame

C synopsis target-domain
Int32 FrameQ_ShMem_alloc(FrameQ_ShMem_Handle handle, IFrameQ_Frame *framePtr);
 
ARGUMENTS
handle — handle of a previously-created FrameQ_ShMem instance object
framePtr — Location to receive the allocated frame.
RETURNS
returns 0 if successfully allocated the buffer.
DETAILS
It allocates frame from the free Queue 0 of FrameQBufMgr
 
FrameQ_ShMem_allocv()  // instance

Function to allocate multiple frames from the FrameQ. FrameQ calls alloctes frames from the plugged in FrameQBufMgr instance from the give free Frame pool nos

C synopsis target-domain
Int32 FrameQ_ShMem_allocv(FrameQ_ShMem_Handle handle, IFrameQ_Frame framePtr[], UInt32 freeQId[], UInt8 *numFrames);
 
ARGUMENTS
handle — handle of a previously-created FrameQ_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.
 
FrameQ_ShMem_control()  // instance

Provides a hook to perform implementation dependent operation

C synopsis target-domain
Int32 FrameQ_ShMem_control(FrameQ_ShMem_Handle handle, Int32 cmd, Ptr arg);
 
ARGUMENTS
handle — handle of a previously-created FrameQ_ShMem instance object
cmd — command to exectue.
arg — argument of type void*.
 
FrameQ_ShMem_dup()  // instance

Function to duplicate frame

C synopsis target-domain
Int32 FrameQ_ShMem_dup(FrameQ_ShMem_Handle handle, IFrameQ_Frame frame, IFrameQ_Frame *dupedFrame);
 
ARGUMENTS
handle — handle of a previously-created FrameQ_ShMem instance object
 
FrameQ_ShMem_free()  // instance

Function to free frame

C synopsis target-domain
Int32 FrameQ_ShMem_free(FrameQ_ShMem_Handle handle, IFrameQ_Frame frame);
 
ARGUMENTS
handle — handle of a previously-created FrameQ_ShMem instance object
frame — Frame to be freed.
RETURNS
returns 0 if successfully freed the allocated buffer.
 
FrameQ_ShMem_freev()  // instance

Function to free frames

C synopsis target-domain
Int32 FrameQ_ShMem_freev(FrameQ_ShMem_Handle handle, IFrameQ_Frame framePtr[], UInt32 numFrames);
 
ARGUMENTS
handle — handle of a previously-created FrameQ_ShMem instance object
framePtr — array of frames to be freed.
RETURNS
returns 0 if successfully freed the allocated frames.
 
FrameQ_ShMem_get()  // instance

Function to retrieve(get) frames from FrameQ

C synopsis target-domain
Int32 FrameQ_ShMem_get(FrameQ_ShMem_Handle handle, IFrameQ_Frame *frame);
 
ARGUMENTS
handle — handle of a previously-created FrameQ_ShMem instance object
 
FrameQ_ShMem_getNumFrames()  // instance

Function to get the number of frames

C synopsis target-domain
Int32 FrameQ_ShMem_getNumFrames(FrameQ_ShMem_Handle handle, UInt32 *numFrames);
 
ARGUMENTS
handle — handle of a previously-created FrameQ_ShMem instance object
numFrames — Outputparameter indicates number of frames in the FrameQ. For readers, this will indicates the number of frames present in the queue that it is accessing. For writer, this indicates the number frames present in the primary queue.
RETURNS
returns 0 if successfully returned the frames.
 
FrameQ_ShMem_getNumFreeFrames()  // instance

Function to get the number of free frames available in the plugged 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 FrameQ_ShMem_getNumFreeFrames(FrameQ_ShMem_Handle handle, UInt32 *numFreeFrames);
 
ARGUMENTS
handle — handle of a previously-created FrameQ_ShMem instance object
numFreeFrames — Outputparameter indicates number of free frames .
RETURNS
returns 0 if successfully returned the number of free frames.
 
FrameQ_ShMem_getv()  // instance
C synopsis target-domain
Int32 FrameQ_ShMem_getv(FrameQ_ShMem_Handle handle, IFrameQ_Frame pframe[], UInt32 filledQueueId[], UInt8 *numFrames);
 
ARGUMENTS
handle — handle of a previously-created FrameQ_ShMem instance object
 
FrameQ_ShMem_getvNumFrames()  // instance

For Reader this function is to get the available frames from the queues associated with this reader client. For writer this function is to get the available frames from the queues associated with the primary Reader(first reader)

C synopsis target-domain
Int32 FrameQ_ShMem_getvNumFrames(FrameQ_ShMem_Handle handle, UInt32 numFrames[], UInt8 filledQId[], UInt8 numFilledQids);
 
ARGUMENTS
handle — handle of a previously-created FrameQ_ShMem instance object
numFrames — Outputparameter indicates number of frames in each given filled quque.
filledQId — Arry of filled queue ids.
numFilledQids — Number of filled queueids .
RETURNS
returns 0 if successfully returned the frames.
 
FrameQ_ShMem_getvNumFreeFrames()  // instance

Function to get the number of free frames available in the plugged in FrameQbufMgr

C synopsis target-domain
Int32 FrameQ_ShMem_getvNumFreeFrames(FrameQ_ShMem_Handle handle, UInt32 numFreeFrames[], UInt8 freeQId[], UInt8 numFreeQids);
 
ARGUMENTS
handle — handle of a previously-created FrameQ_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.
 
FrameQ_ShMem_put()  // instance

Function to insert frames in to FrameQ instance

C synopsis target-domain
Int32 FrameQ_ShMem_put(FrameQ_ShMem_Handle handle, IFrameQ_Frame buf);
 
ARGUMENTS
handle — handle of a previously-created FrameQ_ShMem instance object
 
FrameQ_ShMem_putv()  // instance

Function to insert multiple frames in to queues of a FrameQ reader client

C synopsis target-domain
Int32 FrameQ_ShMem_putv(FrameQ_ShMem_Handle handle, IFrameQ_Frame framePtr[], UInt32 filledQueueId[], UInt8 numFrames);
 
ARGUMENTS
handle — handle of a previously-created FrameQ_ShMem instance object
 
FrameQ_ShMem_registerNotifier()  // instance

Function to register a call back function with the instance.

C synopsis target-domain
Int32 FrameQ_ShMem_registerNotifier(FrameQ_ShMem_Handle handle, IFrameQ_NotifyParams *notifyParams);
 
ARGUMENTS
handle — handle of a previously-created FrameQ_ShMem instance object
notifyParams — Notification registration parameters.See NotifyRegParams.
RETURNS
Returns 0 if successfully registered the call back function.
 
FrameQ_ShMem_sendNotify()  // instance

Function to send force notification to reader client

C synopsis target-domain
Int32 FrameQ_ShMem_sendNotify(FrameQ_ShMem_Handle handle, UInt16 msg);
 
ARGUMENTS
handle — handle of a previously-created FrameQ_ShMem instance object
RETURNS
Returns positive value if successfully sent notification.
 
FrameQ_ShMem_unregisterNotifier()  // instance

Function to unregister the call back function

C synopsis target-domain
Int32 FrameQ_ShMem_unregisterNotifier(FrameQ_ShMem_Handle handle);
 
ARGUMENTS
handle — handle of a previously-created FrameQ_ShMem instance object
RETURNS
Returns positive value if successfully unregistered the call back function.
Instance Convertors

C synopsis target-domain
IFrameQ_Handle FrameQ_ShMem_Handle_upCast(FrameQ_ShMem_Handle handle);
// unconditionally move one level up the inheritance hierarchy
 
FrameQ_ShMem_Handle FrameQ_ShMem_Handle_downCast(IFrameQ_Handle handle);
// conditionally move one level down the inheritance hierarchy; NULL upon failure
Instance Built-Ins

C synopsis target-domain
Int FrameQ_ShMem_Object_count();
// The number of statically-created instance objects
 
FrameQ_ShMem_Handle FrameQ_ShMem_Object_get(FrameQ_ShMem_Object *array, Int i);
// The handle of the i-th statically-created instance object (array == NULL)
 
FrameQ_ShMem_Handle FrameQ_ShMem_Object_first();
// The handle of the first dynamically-created instance object, or NULL
 
FrameQ_ShMem_Handle FrameQ_ShMem_Object_next(FrameQ_ShMem_Handle handle);
// The handle of the next dynamically-created instance object, or NULL
 
IHeap_Handle FrameQ_ShMem_Object_heap();
// The heap used to allocate dynamically-created instance objects
 
Types_Label *FrameQ_ShMem_Handle_label(FrameQ_ShMem_Handle handle, Types_Label *buf);
// The label associated with this instance object
 
String FrameQ_ShMem_Handle_name(FrameQ_ShMem_Handle handle);
// The name of this instance object
 
XDCscript usage meta-domain sourced in ti/syslink/ipc/rtos/shMem/FrameQ_ShMem.xdc
var FrameQ_ShMem = xdc.useModule('ti.syslink.ipc.rtos.shMem.FrameQ_ShMem');
module-wide constants & types
    const FrameQ_ShMem.INVALID// Type of open = 0xFF;
    const FrameQ_ShMem.VERSION//  = 1;
 
        const FrameQ_ShMem.FRAMEBUF0_CPUACCESS;
        const FrameQ_ShMem.FRAMEBUF1_CPUACCESS;
        const FrameQ_ShMem.FRAMEBUF2_CPUACCESS;
        const FrameQ_ShMem.FRAMEBUF3_CPUACCESS;
        const FrameQ_ShMem.FRAMEBUF4_CPUACCESS;
        const FrameQ_ShMem.FRAMEBUF5_CPUACCESS;
        const FrameQ_ShMem.FRAMEBUF6_CPUACCESS;
        const FrameQ_ShMem.FRAMEBUF7_CPUACCESS;
 
        const FrameQ_ShMem.INTERFACE_SHAREDMEM;
        const FrameQ_ShMem.INTERFACE_NONE;
 
    values of type FrameQ_ShMem.NotifyType// 
        const FrameQ_ShMem.NOTIFICATION_NONE;
        const FrameQ_ShMem.NOTIFICATION_ALWAYS;
        const FrameQ_ShMem.NOTIFICATION_ONCE;
 
        const FrameQ_ShMem.MODE_NONE;
        const FrameQ_ShMem.MODE_WRITER;
        const FrameQ_ShMem.MODE_READER;
 
        obj.status = UInt32  ...
        obj.version = UInt32  ...
        obj.localProtect = UInt32  ...
        obj.remoteProtect = UInt32  ...
        obj.gateMPAddr = Ptr  ...
        obj.numReaders = UInt32  ...
        obj.numActiveReaders = UInt32  ...
        obj.numQueues = UInt32  ...
        obj.primaryQueueId = UInt32  ...
        obj.frmQBufMgrId = UInt32  ...
 
        obj.name = String  ...
        obj.sharedAddr = Ptr  ...
        obj.openMode = UInt32  ...
        obj.cpuAccessFlags = UInt32  ...
 
        obj.eventNo = UInt32  ...
        obj.maxInstances = UInt8  ...
 
        obj.size = UInt32  ...
        obj.ctrlInterfaceType = IFrameQ.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.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.readerIndex = UInt32  ...
        obj.numFrames = UInt32[IFrameQ.MAXFILLEDQUEUS_FOR_READER]  ...
        obj.isAllocated = Bool  ...
 
        obj.notifyType = IFrameQ.NotifyType  ...
        obj.watermark = UInt32  ...
        obj.cbFxnPtr = Void(*)(IFrameQ.Handle,Ptr,UInt16)  ...
        obj.cbContext = Ptr  ...
        obj.cbClientHandle = Ptr  ...
 
        obj.commonOpenParams = FrameQ_ShMem.CommonOpenParams  ...
 
        obj.isValid = UInt32  ...
        obj.procId = UInt32  ...
        obj.cacheFlags = UInt32  ...
        obj.frameQIndex = UInt32  ...
        obj.notifyId = UInt32  ...
        obj.isRegistered = Bool  ...
 
        obj.isValid = UInt32  ...
        obj.procId = UInt32  ...
        obj.cacheFlags = UInt32  ...
        obj.isRegistered = Bool  ...
module-wide config parameters
        msg: "A_InvalidSharedRegionAddr: Invalid shared region address"
    };
        msg: "A_apiFail: api call failed"
    };
        msg: "A_invalidFrameQBufMgrId: Invalid FrameQBufMgr id specified"
    };
        msg: "A_invalidParams: Invalid parameter"
    };
        msg: "A_localProtection: Insufficient local protection "
    };
        msg: "A_memoryAllocFail: Memory_alloc failed"
    };
        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_FrameQBufMgrOpen: FrameQBufMgr instance Open Failed"
    };
        msg: "E_FrameQCreated: FrameQ instance is already created"
    };
        msg: "E_FrameQNotCreated: FrameQ instance is not created"
    };
        msg: "E_FrameQNotFound: FrameQ instance is not found in NameServer"
    };
        msg: "E_GateCreate: Gate instance Create Failed"
    };
        msg: "E_GateMPOpen: Gate instance Open Failed"
    };
        msg: "E_InvAddr: Shared Addr provide to create call is NULL"
    };
        msg: "E_InvSize: SharedMemory provided to create call is less than the instance shared memory requirements"
    };
        msg: "E_InvalidArg : Invalid Arguments passed"
    };
        msg: "E_Memory : Memory alloc failed"
    };
 
per-instance config parameters
    var params = new FrameQ_ShMem.Params// Instance config-params object;
            size: 0,
            ctrlInterfaceType: IFrameQ.INTERFACE_NONE,
            name: null,
            openFlag: false
        };
        params.frameQBufMgrName// FrameQ bufMgr Name that needs to be used = String null;
        params.regionId// Shared region ID = UInt32 0;
        params.sharedAddrSize// Size of shareAddr = UInt32 0;
 
 
const FrameQ_ShMem.CACHE_LINESIZE

Cache line size

XDCscript usage meta-domain
const FrameQ_ShMem.CACHE_LINESIZE = 128;
 
C SYNOPSIS
 
const FrameQ_ShMem.DYNAMIC_CREATE

Type of creation

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

Type of creation

XDCscript usage meta-domain
const FrameQ_ShMem.DYNAMIC_CREATE_USEDREGION = 0x8;
 
C SYNOPSIS
 
const FrameQ_ShMem.DYNAMIC_OPEN

Type of open

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

Type of open

XDCscript usage meta-domain
const FrameQ_ShMem.INVALID = 0xFF;
 
C SYNOPSIS
 
const FrameQ_ShMem.MAXFILLEDQUEUS_FOR_READER

Max filled queues for a reader client of the FrameQ instance.

XDCscript usage meta-domain
const FrameQ_ShMem.MAXFILLEDQUEUS_FOR_READER = 16;
 
C SYNOPSIS
 
const FrameQ_ShMem.MAX_INSTANCES

Maximum number of instances managed by FrameQ module

XDCscript usage meta-domain
const FrameQ_ShMem.MAX_INSTANCES = 64;
 
C SYNOPSIS
 
const FrameQ_ShMem.MAX_INST_READERS

Maximum number of reader clients supported by an instance

XDCscript usage meta-domain
const FrameQ_ShMem.MAX_INST_READERS = 2;
 
C SYNOPSIS
 
const FrameQ_ShMem.MAX_NAMELEN

Maximum length of the name strings

XDCscript usage meta-domain
const FrameQ_ShMem.MAX_NAMELEN = 32;
 
C SYNOPSIS
 
const FrameQ_ShMem.NOTIFY_RESERVED_EVENTNO

Notify Event Number to be used by FrameQ module

XDCscript usage meta-domain
const FrameQ_ShMem.NOTIFY_RESERVED_EVENTNO = 1;
 
C SYNOPSIS
 
const FrameQ_ShMem.STATIC_CREATE

Type of creation

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

Type of creation

XDCscript usage meta-domain
const FrameQ_ShMem.STATIC_CREATE_USEDREGION = 0x2;
 
C SYNOPSIS
 
const FrameQ_ShMem.STATIC_OPEN

Type of open

XDCscript usage meta-domain
const FrameQ_ShMem.STATIC_OPEN = 0x10;
 
C SYNOPSIS
 
const FrameQ_ShMem.VERSION
XDCscript usage meta-domain
const FrameQ_ShMem.VERSION = 1;
 
C SYNOPSIS
 
enum FrameQ_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 FrameQ_ShMem.CpuAccessFlags
    const FrameQ_ShMem.FRAMEBUF0_CPUACCESS;
    const FrameQ_ShMem.FRAMEBUF1_CPUACCESS;
    const FrameQ_ShMem.FRAMEBUF2_CPUACCESS;
    const FrameQ_ShMem.FRAMEBUF3_CPUACCESS;
    const FrameQ_ShMem.FRAMEBUF4_CPUACCESS;
    const FrameQ_ShMem.FRAMEBUF5_CPUACCESS;
    const FrameQ_ShMem.FRAMEBUF6_CPUACCESS;
    const FrameQ_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 FrameQ_ShMem.Interface

Enumeration of FrameQ interface types.Denotes different implementation types

XDCscript usage meta-domain
values of type FrameQ_ShMem.Interface
    const FrameQ_ShMem.INTERFACE_SHAREDMEM;
    const FrameQ_ShMem.INTERFACE_NONE;
 
VALUES
INTERFACE_SHAREDMEM — FrameQ implementation (FrameQ_ShMem Implementation) on shared memory.
C SYNOPSIS
 
enum FrameQ_ShMem.NotifyType
XDCscript usage meta-domain
values of type FrameQ_ShMem.NotifyType
    const FrameQ_ShMem.NOTIFICATION_NONE;
    const FrameQ_ShMem.NOTIFICATION_ALWAYS;
    const FrameQ_ShMem.NOTIFICATION_ONCE;
    const FrameQ_ShMem.NOTIFICATION_HDWRFIFO_ALWAYS;
    const FrameQ_ShMem.NOTIFICATION_HDWRFIFO_ONCE;
 
VALUES
NOTIFICATION_NONE — No notification required.
NOTIFICATION_ALWAYS — Notify whenever the other client sends data/frees up space.
NOTIFICATION_ONCE — Notify when the other side sends data/frees up buffer. Once the notification is done, the notification is disabled until it is enabled again.
NOTIFICATION_HDWRFIFO_ALWAYS — Notify whenever the other side sends data/frees up space. This notification is never disabled.
NOTIFICATION_HDWRFIFO_ONCE — Notify when the other side sends data/frees up buffer. Once the notification is done, the notification is disabled until it is enabled again. The notification is enabled once the watermark is crossed and does not require buffer to get full/empty..
DETAILS
Enumeration of Client notifyMgr notification types..
BRIEF
Enumerates the notification types used by SysLink ipc components.
C SYNOPSIS
 
enum FrameQ_ShMem.OpenMode

Enumeration of FrameQ open modes

XDCscript usage meta-domain
values of type FrameQ_ShMem.OpenMode
    const FrameQ_ShMem.MODE_NONE;
    const FrameQ_ShMem.MODE_WRITER;
    const FrameQ_ShMem.MODE_READER;
 
VALUES
MODE_WRITER — if specifed in openParams, open call returns a writer handle.
MODE_READER — if specifed in params, open call returns a reader handle.
C SYNOPSIS
 
struct FrameQ_ShMem.Attrs

Shared control strucrue for the instance attributes

XDCscript usage meta-domain
var obj = new FrameQ_ShMem.Attrs;
 
    obj.status = UInt32  ...
    obj.version = UInt32  ...
    obj.localProtect = UInt32  ...
    obj.remoteProtect = UInt32  ...
    obj.gateMPAddr = Ptr  ...
    obj.numReaders = UInt32  ...
    obj.numActiveReaders = UInt32  ...
    obj.numQueues = UInt32  ...
    obj.primaryQueueId = UInt32  ...
    obj.frmQBufMgrId = UInt32  ...
 
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)
numReaders — Max reader clients supported for this instance.
numActiveReaders — Number of readers currenty opened for the instance.
numQueues — Number of queues cofigured for each reader.
primaryQueueId — QueueId to which writer sends frames if there are no active readers or only one reader exist.
frmQBufMgrId — Id of FrameQBufmgr used by this instance.
frmQueue — Array of frame queues supported for this instance.
C SYNOPSIS
 
struct FrameQ_ShMem.CommonOpenParams

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

XDCscript usage meta-domain
var obj = new FrameQ_ShMem.CommonOpenParams;
 
    obj.name = String  ...
    obj.sharedAddr = Ptr  ...
    obj.openMode = UInt32  ...
    obj.cpuAccessFlags = UInt32  ...
 
FIELDS
name — Name of the instance.
sharedAddr — virtual address of the instance shared control structure.
openMode — Mode of the client
cpuAccessFlags — Flag to specify if Frame buffers are accessed through CPU.see CpuAccessFlags.
C SYNOPSIS
 
struct FrameQ_ShMem.Config

module config structure

XDCscript usage meta-domain
var obj = new FrameQ_ShMem.Config;
 
    obj.eventNo = UInt32  ...
    obj.maxInstances = UInt8  ...
 
FIELDS
eventNo — Notify event number used for notification.
C SYNOPSIS
 
struct FrameQ_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 FrameQ_ShMem.CreateParams;
 
    obj.size = UInt32  ...
    obj.ctrlInterfaceType = IFrameQ.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 FrameQ_ShMem.FrameBufInfo

Structure of the framebuffer info in frame

XDCscript usage meta-domain
var obj = new FrameQ_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 FrameQ_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 FrameQ_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 FrameQ_ShMem.FrameQueue

Structure to maintain the queue related information

XDCscript usage meta-domain
var obj = new FrameQ_ShMem.FrameQueue;
 
    obj.readerIndex = UInt32  ...
    obj.numFrames = UInt32[IFrameQ.MAXFILLEDQUEUS_FOR_READER]  ...
    obj.isAllocated = Bool  ...
 
FIELDS
readerIndex — Reader identifier.
numFrames — Number of frames available in the queue.
isAllocated — Flag denoting whether queue is allocated to any reader or not.
C SYNOPSIS
 
struct FrameQ_ShMem.NotifyParams

Client notification registration parameter structure

XDCscript usage meta-domain
var obj = new FrameQ_ShMem.NotifyParams;
 
    obj.notifyType = IFrameQ.NotifyType  ...
    obj.watermark = UInt32  ...
    obj.cbFxnPtr = Void(*)(IFrameQ.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 FrameQ_ShMem.OpenParams

mouduleconfig structure

XDCscript usage meta-domain
var obj = new FrameQ_ShMem.OpenParams;
 
    obj.commonOpenParams = FrameQ_ShMem.CommonOpenParams  ...
 
FIELDS
commonOpenParams — Open params common to all the implementations. see CommonOpenParams
C SYNOPSIS
 
struct FrameQ_ShMem.ReaderClient

Reader client info structure

XDCscript usage meta-domain
var obj = new FrameQ_ShMem.ReaderClient;
 
    obj.isValid = UInt32  ...
    obj.procId = UInt32  ...
    obj.cacheFlags = UInt32  ...
    obj.frameQIndex = UInt32  ...
    obj.notifyId = UInt32  ...
    obj.isRegistered = Bool  ...
 
FIELDS
isValid — Denotes whether client is valid or not.
cacheFlags — Cache flags for the frame buffer and frame header.
frameQIndex — frameQueue from which this reader can read the frames.
C SYNOPSIS
 
struct FrameQ_ShMem.WriterClient

Writer client info in shared memory

XDCscript usage meta-domain
var obj = new FrameQ_ShMem.WriterClient;
 
    obj.isValid = UInt32  ...
    obj.procId = UInt32  ...
    obj.cacheFlags = UInt32  ...
    obj.isRegistered = Bool  ...
 
FIELDS
isValid — Denotes whether client is valid or not.
cacheFlags — Cache flags for the frame buffer and frame header. Shared structure cache flag is specified in the object.
C SYNOPSIS
 
config FrameQ_ShMem.A_InvalidSharedRegionAddr  // module-wide

Assert raised when n invalid shared region address specified

XDCscript usage meta-domain
FrameQ_ShMem.A_InvalidSharedRegionAddr = Assert.Desc {
    msg: "A_InvalidSharedRegionAddr: Invalid shared region address"
};
 
C SYNOPSIS
 
config FrameQ_ShMem.A_apiFail  // module-wide

Assert raised when an API call failed

XDCscript usage meta-domain
FrameQ_ShMem.A_apiFail = Assert.Desc {
    msg: "A_apiFail: api call failed"
};
 
C SYNOPSIS
 
config FrameQ_ShMem.A_invalidFrameQBufMgrId  // module-wide

Assert raised when n invalid shared region address specified

XDCscript usage meta-domain
FrameQ_ShMem.A_invalidFrameQBufMgrId = Assert.Desc {
    msg: "A_invalidFrameQBufMgrId: Invalid FrameQBufMgr id specified"
};
 
C SYNOPSIS
 
config FrameQ_ShMem.A_invalidParams  // module-wide

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

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

Assert raised when local protection provided is not sufficient for ClientNotifyMgr

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

Assert raised when n invalid shared region address specified

XDCscript usage meta-domain
FrameQ_ShMem.A_memoryAllocFail = Assert.Desc {
    msg: "A_memoryAllocFail: Memory_alloc failed"
};
 
C SYNOPSIS
 
config FrameQ_ShMem.A_nullHandle  // module-wide

Assert raised when null handle is returned from modules

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

Assert raised when a null pointer needs to be dereferenced

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

Error raised when buffersize is not aligned to Cache line size

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

Error raised when ClientNotifyMgr Create failed

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

Error raised when ClientNotifyMgrOpen failed

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

Error raised when postinitialize API failed

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

Error raised when FrameQBufMgr_open failed

XDCscript usage meta-domain
FrameQ_ShMem.E_FrameQBufMgrOpen = Error.Desc {
    msg: "E_FrameQBufMgrOpen: FrameQBufMgr instance Open Failed"
};
 
C SYNOPSIS
 
config FrameQ_ShMem.E_FrameQCreated  // module-wide

Error raised when FrameQ is already created

XDCscript usage meta-domain
FrameQ_ShMem.E_FrameQCreated = Error.Desc {
    msg: "E_FrameQCreated: FrameQ instance is already created"
};
 
C SYNOPSIS
 
config FrameQ_ShMem.E_FrameQNotCreated  // module-wide

Error raised when FrameQ is not created

XDCscript usage meta-domain
FrameQ_ShMem.E_FrameQNotCreated = Error.Desc {
    msg: "E_FrameQNotCreated: FrameQ instance is not created"
};
 
C SYNOPSIS
 
config FrameQ_ShMem.E_FrameQNotFound  // module-wide

Error raised when FrameQ is not Found in NameServer

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

Error raised when GateMP Create failed

XDCscript usage meta-domain
FrameQ_ShMem.E_GateMPCreate = Error.Desc {
    msg: "E_GateCreate: Gate instance Create Failed"
};
 
C SYNOPSIS
 
config FrameQ_ShMem.E_GateMPOpen  // module-wide

Error raised when GateMP open failed

XDCscript usage meta-domain
FrameQ_ShMem.E_GateMPOpen = Error.Desc {
    msg: "E_GateMPOpen: Gate instance Open Failed"
};
 
C SYNOPSIS
 
config FrameQ_ShMem.E_InvAddr  // module-wide

Error raised when Insufficient shared addrprovided to create call

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

Error raised when Insufficient shared memory provided to create call

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

Error raised when Invalid args passed

XDCscript usage meta-domain
FrameQ_ShMem.E_InvalidArg = Error.Desc {
    msg: "E_InvalidArg : Invalid Arguments passed"
};
 
C SYNOPSIS
 
config FrameQ_ShMem.E_Memory  // module-wide

Error raised when Memory alloc failed

XDCscript usage meta-domain
FrameQ_ShMem.E_Memory = Error.Desc {
    msg: "E_Memory : Memory alloc failed"
};
 
C SYNOPSIS
 
config FrameQ_ShMem.nameServer  // module-wide

Handle to the name server

XDCscript usage meta-domain
FrameQ_ShMem.nameServer = NameServer.Handle null;
 
C SYNOPSIS
 
config FrameQ_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
FrameQ_ShMem.usedefaultgate = Bool false;
 
C SYNOPSIS
 
metaonly config FrameQ_ShMem.common$  // module-wide

Common module configuration parameters

XDCscript usage meta-domain
FrameQ_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 FrameQ_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
FrameQ_ShMem.nameSrvPrms = NameServer.Params undefined;
 
 
metaonly config FrameQ_ShMem.tableSection  // module-wide

Section name is used to place the names table

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

Whether to have this module use the NameServer or not

XDCscript usage meta-domain
FrameQ_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 FrameQ_ShMem.Params;
// Instance config-params object
    params.commonCreateParams = FrameQ_ShMem.CreateParams {
    // 
        size: 0,
        ctrlInterfaceType: IFrameQ.INTERFACE_NONE,
        name: null,
        openFlag: false
    };
    params.cpuAccessFlags = UInt32 0;
    // cpuAccessFlags if createMode is specified as Reader or writer. Not used if createMode is CREATE_MODE_NONE
    params.frameQBufMgrName = String null;
    // FrameQ bufMgr Name that needs to be used
    params.frameQBufMgrSharedAddr = Ptr null;
    // Shared Address of the FrameQBufMgr instance that needs to be used in FrameQ.Not required if frameQBufMgrName is provided
    params.gate = GateMP.Handle null;
    // IGateProvider used for critical region management of the shared memory
    params.localProtect = GateMP.LocalProtect GateMP.LocalProtect_INTERRUPT;
    // Default local protection level for the module instance
    params.numQueues = UInt32 1;
    // Number of queues(Reader can retrieve frames from these queue by mentioning the queueId in getv calls.) supported for each reader
    params.numReaders = UInt32 1;
    // Max number of readers supported for this 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.sharedAddrSize = UInt32 0;
    // Size of shareAddr
 
config FrameQ_ShMem.commonCreateParams  // instance
XDCscript usage meta-domain
var params = new FrameQ_ShMem.Params;
  ...
params.commonCreateParams = FrameQ_ShMem.CreateParams {
    size: 0,
    ctrlInterfaceType: IFrameQ.INTERFACE_NONE,
    name: null,
    openFlag: false
};
 
C SYNOPSIS
 
config FrameQ_ShMem.cpuAccessFlags  // instance

cpuAccessFlags if createMode is specified as Reader or writer. Not used if createMode is CREATE_MODE_NONE

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

FrameQ bufMgr Name that needs to be used

XDCscript usage meta-domain
var params = new FrameQ_ShMem.Params;
  ...
params.frameQBufMgrName = String null;
 
C SYNOPSIS
 
config FrameQ_ShMem.frameQBufMgrSharedAddr  // instance

Shared Address of the FrameQBufMgr instance that needs to be used in FrameQ.Not required if frameQBufMgrName is provided

XDCscript usage meta-domain
var params = new FrameQ_ShMem.Params;
  ...
params.frameQBufMgrSharedAddr = Ptr null;
 
C SYNOPSIS
 
config FrameQ_ShMem.gate  // instance

IGateProvider used for critical region management of the shared memory

XDCscript usage meta-domain
var params = new FrameQ_ShMem.Params;
  ...
params.gate = GateMP.Handle null;
 
C SYNOPSIS
 
config FrameQ_ShMem.localProtect  // instance

Default local protection level for the module instance

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

Number of queues(Reader can retrieve frames from these queue by mentioning the queueId in getv calls.) supported for each reader

XDCscript usage meta-domain
var params = new FrameQ_ShMem.Params;
  ...
params.numQueues = UInt32 1;
 
C SYNOPSIS
 
config FrameQ_ShMem.numReaders  // instance

Max number of readers supported for this instance

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

Shared region ID

XDCscript usage meta-domain
var params = new FrameQ_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 FrameQ_ShMem.remoteProtect  // instance

Default multiprocessor protection for the module instances

XDCscript usage meta-domain
var params = new FrameQ_ShMem.Params;
  ...
 
C SYNOPSIS
 
config FrameQ_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 FrameQ_ShMem.Params;
  ...
params.sharedAddr = Ptr null;
 
DETAILS
The creator must supply the shared memory that this will use to maintain shared state information. Required parameter if regionId is not specified.
C SYNOPSIS
 
config FrameQ_ShMem.sharedAddrSize  // instance

Size of shareAddr

XDCscript usage meta-domain
var params = new FrameQ_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 Thu, 27 Oct 2011 17:13:55 GMT