const FrameQ_ShMem_CACHE_LINESIZE |
 |
Cache line size
#define FrameQ_ShMem_CACHE_LINESIZE (UInt32)128
const FrameQ_ShMem_DYNAMIC_CREATE |
 |
Type of creation
#define FrameQ_ShMem_DYNAMIC_CREATE (UInt32)0x4
const FrameQ_ShMem_DYNAMIC_CREATE_USEDREGION |
 |
Type of creation
#define FrameQ_ShMem_DYNAMIC_CREATE_USEDREGION (UInt32)0x8
const FrameQ_ShMem_DYNAMIC_OPEN |
 |
Type of open
#define FrameQ_ShMem_DYNAMIC_OPEN (UInt32)0x20
const FrameQ_ShMem_FRAMEBUF_CPUACCESSFLAGS_BITOFFSET |
 |
#define FrameQ_ShMem_FRAMEBUF_CPUACCESSFLAGS_BITOFFSET (UInt32)16
const FrameQ_ShMem_INVALID |
 |
Type of open
#define FrameQ_ShMem_INVALID (UInt32)0xFF
const FrameQ_ShMem_MAXFILLEDQUEUS_FOR_READER |
 |
Max filled queues for a reader client of the FrameQ instance.
#define FrameQ_ShMem_MAXFILLEDQUEUS_FOR_READER (UInt32)16
const FrameQ_ShMem_MAX_INSTANCES |
 |
Maximum number of instances managed by FrameQ module
#define FrameQ_ShMem_MAX_INSTANCES (UInt32)64
const FrameQ_ShMem_MAX_INST_READERS |
 |
Maximum number of reader clients supported by an instance
#define FrameQ_ShMem_MAX_INST_READERS (UInt32)2
const FrameQ_ShMem_MAX_NAMELEN |
 |
Maximum length of the name strings
#define FrameQ_ShMem_MAX_NAMELEN (UInt32)32
const FrameQ_ShMem_NOTIFY_RESERVED_EVENTNO |
 |
Notify Event Number to be used by FrameQ module
#define FrameQ_ShMem_NOTIFY_RESERVED_EVENTNO (UInt16)1
const FrameQ_ShMem_STATIC_CREATE |
 |
Type of creation
#define FrameQ_ShMem_STATIC_CREATE (UInt32)0x1
const FrameQ_ShMem_STATIC_CREATE_USEDREGION |
 |
Type of creation
#define FrameQ_ShMem_STATIC_CREATE_USEDREGION (UInt32)0x2
const FrameQ_ShMem_STATIC_OPEN |
 |
Type of open
#define FrameQ_ShMem_STATIC_OPEN (UInt32)0x10
const FrameQ_ShMem_VERSION |
 |
#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
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
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 |
 |
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
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 |
 |
typedef FrameQ_ShMem_NotifyFunc |
 |
Prototype of the FrameQ call back function
struct FrameQ_ShMem_Attrs |
 |
Shared control strucrue for the instance attributes
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.
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
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
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
typedef struct FrameQ_ShMem_CreateParams {
UInt32 size;
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
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
typedef struct FrameQ_ShMem_FrameHeader {
UInt32 reserved0;
UInt32 reserved1;
UInt16 baseHeaderSize;
UInt16 headerSize;
UInt32 frmAllocaterId;
UInt32 frameBufType;
UInt8 freeFrmQueueNo;
UInt8 numFrameBuffers;
} 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.
struct FrameQ_ShMem_FrameQueue |
 |
Structure to maintain the queue related information
typedef struct FrameQ_ShMem_FrameQueue {
UInt32 readerIndex;
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
typedef struct FrameQ_ShMem_NotifyParams {
UInt32 watermark;
Ptr cbContext;
Ptr cbClientHandle;
} FrameQ_ShMem_NotifyParams;
FIELDS
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
typedef struct FrameQ_ShMem_OpenParams {
} FrameQ_ShMem_OpenParams;
FIELDS
commonOpenParams
Open params common to all the implementations.
see CommonOpenParams
struct FrameQ_ShMem_ReaderClient |
 |
Reader client info structure
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
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
extern const Assert_Id FrameQ_ShMem_A_InvalidSharedRegionAddr;
config FrameQ_ShMem_A_apiFail // module-wide |
 |
Assert raised when an API call failed
extern const Assert_Id FrameQ_ShMem_A_apiFail;
config FrameQ_ShMem_A_invalidFrameQBufMgrId // module-wide |
 |
Assert raised when n invalid shared region address specified
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
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
extern const Assert_Id FrameQ_ShMem_A_localProtection;
config FrameQ_ShMem_A_memoryAllocFail // module-wide |
 |
Assert raised when n invalid shared region address specified
extern const Assert_Id FrameQ_ShMem_A_memoryAllocFail;
config FrameQ_ShMem_A_nullHandle // module-wide |
 |
Assert raised when null handle is returned from modules
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
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
extern const Error_Id FrameQ_ShMem_E_CacheAlign;
config FrameQ_ShMem_E_ClientNotifyMgrCreate // module-wide |
 |
Error raised when ClientNotifyMgr Create failed
extern const Error_Id FrameQ_ShMem_E_ClientNotifyMgrCreate;
config FrameQ_ShMem_E_ClientNotifyMgrOpen // module-wide |
 |
Error raised when ClientNotifyMgrOpen failed
extern const Error_Id FrameQ_ShMem_E_ClientNotifyMgrOpen;
config FrameQ_ShMem_E_Fail // module-wide |
 |
Error raised when postinitialize API failed
extern const Error_Id FrameQ_ShMem_E_Fail;
config FrameQ_ShMem_E_FrameQBufMgrOpen // module-wide |
 |
Error raised when FrameQBufMgr_open failed
extern const Error_Id FrameQ_ShMem_E_FrameQBufMgrOpen;
config FrameQ_ShMem_E_FrameQCreated // module-wide |
 |
Error raised when FrameQ is already created
extern const Error_Id FrameQ_ShMem_E_FrameQCreated;
config FrameQ_ShMem_E_FrameQNotCreated // module-wide |
 |
Error raised when FrameQ is not created
extern const Error_Id FrameQ_ShMem_E_FrameQNotCreated;
config FrameQ_ShMem_E_FrameQNotFound // module-wide |
 |
Error raised when FrameQ is not Found in NameServer
extern const Error_Id FrameQ_ShMem_E_FrameQNotFound;
config FrameQ_ShMem_E_GateMPCreate // module-wide |
 |
Error raised when GateMP Create failed
extern const Error_Id FrameQ_ShMem_E_GateMPCreate;
config FrameQ_ShMem_E_GateMPOpen // module-wide |
 |
Error raised when GateMP open failed
extern const Error_Id FrameQ_ShMem_E_GateMPOpen;
config FrameQ_ShMem_E_InvAddr // module-wide |
 |
Error raised when Insufficient shared addrprovided to create call
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
extern const Error_Id FrameQ_ShMem_E_InvSize;
config FrameQ_ShMem_E_InvalidArg // module-wide |
 |
Error raised when Invalid args passed
extern const Error_Id FrameQ_ShMem_E_InvalidArg;
config FrameQ_ShMem_E_Memory // module-wide |
 |
Error raised when Memory alloc failed
extern const Error_Id FrameQ_ShMem_E_Memory;
config FrameQ_ShMem_nameServer // module-wide |
 |
Handle to the name server
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)
extern const Bool FrameQ_ShMem_usedefaultgate;
FrameQ_ShMem_close() // module-wide |
 |
API to get a open the created FrameQ instance
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
ARGUMENTS
cfgParams
Pointer to parameter structure to be initialized.
FrameQ_ShMem_getFrameBufDataStartOffset() // module-wide |
 |
Function to get data start offset in frame buffer
UInt32 FrameQ_ShMem_getFrameBufDataStartOffset(
IFrameQ_Frame frame,
UInt32 frameBufNum);
ARGUMENTS
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
UInt32 FrameQ_ShMem_getFrameBufSize(
IFrameQ_Frame frame,
UInt32 frameBufNum);
ARGUMENTS
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
UInt32 FrameQ_ShMem_getFrameBufValidSize(
IFrameQ_Frame frame,
UInt32 frameBufNum);
ARGUMENTS
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
Ptr FrameQ_ShMem_getFrameBuffer(
IFrameQ_Frame frame,
UInt32 frameBufNum);
ARGUMENTS
frame
Pointer to the frame. See Frame
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
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
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
Int32 FrameQ_ShMem_setFrameBufDataStartOffset(
IFrameQ_Frame frame,
UInt32 frameBufNum,
UInt32 dataStartOffset);
ARGUMENTS
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
Int32 FrameQ_ShMem_setFrameBufValidSize(
IFrameQ_Frame frame,
UInt32 frameBufNum,
UInt32 validSize);
ARGUMENTS
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
ARGUMENTS
params
create params
(returns) Amount of shared memory required.
Module-Wide Built-Ins |
 |
// Get this module's unique id
Bool FrameQ_ShMem_Module_startupDone();
// Test if this module has completed startup
// 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 |
 |
typedef struct FrameQ_ShMem_Object FrameQ_ShMem_Object;
// Opaque internal representation of an instance object
// Client reference to an instance object
typedef struct FrameQ_ShMem_Struct FrameQ_ShMem_Struct;
// Opaque client structure large enough to hold an instance object
// Convert this instance structure pointer into an instance handle
// Convert this instance handle into an instance structure pointer
Instance Config Parameters |
 |
typedef struct FrameQ_ShMem_Params {
// Instance config-params structure
// Common per-instance configs
//
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
// IGateProvider used for critical region management of the shared memory
// 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
// 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;
// Initialize this config-params structure with supplier-specified defaults before instance creation
config FrameQ_ShMem_commonCreateParams // instance |
 |
config FrameQ_ShMem_cpuAccessFlags // instance |
 |
cpuAccessFlags if createMode is specified as Reader or writer. Not used if createMode is CREATE_MODE_NONE
...
UInt32 cpuAccessFlags;
config FrameQ_ShMem_frameQBufMgrName // instance |
 |
FrameQ bufMgr Name that needs to be used
...
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
...
Ptr frameQBufMgrSharedAddr;
config FrameQ_ShMem_gate // instance |
 |
IGateProvider used for critical region management of the shared memory
config FrameQ_ShMem_localProtect // instance |
 |
Default local protection level for the module instance
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
config FrameQ_ShMem_numReaders // instance |
 |
Max number of readers supported for this instance
config FrameQ_ShMem_regionId // instance |
 |
Shared region ID
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
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
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
...
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
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
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
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
ARGUMENTS
handle
handle of a previously-created FrameQ_ShMem instance object
FrameQ_ShMem_free() // instance |
 |
Function to free 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
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
ARGUMENTS
handle
handle of a previously-created FrameQ_ShMem instance object
FrameQ_ShMem_getNumFrames() // instance |
 |
Function to get the number of frames
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
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 |
 |
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)
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
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
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
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.
ARGUMENTS
handle
handle of a previously-created FrameQ_ShMem instance object
RETURNS
Returns 0 if successfully registered the call back function.
FrameQ_ShMem_sendNotify() // instance |
 |
Function to send force notification to reader client
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
ARGUMENTS
handle
handle of a previously-created FrameQ_ShMem instance object
RETURNS
Returns positive value if successfully unregistered the call back function.
Instance Convertors |
 |
// unconditionally move one level up the inheritance hierarchy
// conditionally move one level down the inheritance hierarchy; NULL upon failure
Instance Built-Ins |
 |
Int FrameQ_ShMem_Object_count();
// The number of statically-created instance objects
// The handle of the i-th statically-created instance object (array == NULL)
// The handle of the first dynamically-created instance object, or NULL
// The handle of the next dynamically-created instance object, or NULL
// The heap used to allocate dynamically-created instance objects
// The label associated with this instance object
// The name of this instance object
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.
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.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 ...
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.
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.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.watermark = UInt32 ...
obj.cbContext = Ptr ...
obj.cbClientHandle = Ptr ...
FIELDS
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;
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
msg: "E_Fail: Api failed"
};
C SYNOPSIS
config FrameQ_ShMem.E_FrameQBufMgrOpen // module-wide |
 |
Error raised when FrameQBufMgr_open failed
XDCscript usage |
meta-domain |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
msg: "E_Memory : Memory alloc failed"
};
C SYNOPSIS
config FrameQ_ShMem.nameServer // module-wide |
 |
Handle to the name server
XDCscript usage |
meta-domain |
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 |
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 |
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
//
size: 0,
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
// IGateProvider used for critical region management of the shared memory
// 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
// 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;
...
size: 0,
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;
...
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