interface ti.syslink.ipc.rtos.interfaces.IFrameQ
XDCspec summary sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
interface IFrameQ {  ...
    // inherits xdc.runtime.IModule
instance:  ...
XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
 
interface IFrameQ inherits IFrame {
module-wide constants & types
    const UInt32 CACHE_LINESIZE// Cache line size = 128;
    const UInt32 DYNAMIC_CREATE// Type of creation = 0x4;
    const UInt32 DYNAMIC_CREATE_USEDREGION// Type of creation = 0x8;
    const UInt32 DYNAMIC_OPEN// Type of open = 0x20;
    const UInt32 FRAMEBUF_CPUACCESSFLAGS_BITOFFSET//  = 16;
    const UInt32 INVALID// Type of open = 0xFF;
    const UInt32 STATIC_CREATE// Type of creation = 0x1;
    const UInt32 STATIC_CREATE_USEDREGION// Type of creation = 0x2;
    const UInt32 STATIC_OPEN// Type of open = 0x10;
    const UInt32 VERSION//  = 1;
 
        FRAMEBUF0_CPUACCESS,
        FRAMEBUF1_CPUACCESS,
        FRAMEBUF2_CPUACCESS,
        FRAMEBUF3_CPUACCESS,
        FRAMEBUF4_CPUACCESS,
        FRAMEBUF5_CPUACCESS,
        FRAMEBUF6_CPUACCESS,
        FRAMEBUF7_CPUACCESS
    };
 
        INTERFACE_SHAREDMEM,
        INTERFACE_NONE
    };
 
    enum NotifyType//  {
        NOTIFICATION_NONE,
        NOTIFICATION_ALWAYS,
        NOTIFICATION_ONCE,
        NOTIFICATION_HDWRFIFO_ALWAYS,
        NOTIFICATION_HDWRFIFO_ONCE
    };
 
        MODE_NONE,
        MODE_WRITER,
        MODE_READER
    };
 
    typedef IFrame.FrameHeader *Frame// ;
 
        UInt32 status;
        UInt32 version;
        UInt32 localProtect;
        UInt32 remoteProtect;
        Ptr gateMPAddr;
        UInt32 numReaders;
        UInt32 numActiveReaders;
        UInt32 numQueues;
        UInt32 primaryQueueId;
        UInt32 frmQBufMgrId;
    };
 
        String name;
        Ptr sharedAddr;
        UInt32 openMode;
        UInt32 cpuAccessFlags;
    };
 
        UInt32 eventNo;
        UInt8 maxInstances;
    };
 
        UInt32 size;
        String name;
        Bool openFlag;
    };
 
        UInt32 bufPtr;
        UInt32 bufSize;
        UInt32 startOffset;
        UInt32 validSize;
        UInt32 pixelFormat;
        UInt32 height;
        UInt32 width;
        UInt32 stride;
    };
 
        UInt32 reserved0;
        UInt32 reserved1;
        UInt16 baseHeaderSize;
        UInt16 headerSize;
        UInt32 frmAllocaterId;
        UInt32 frameBufType;
        UInt8 freeFrmQueueNo;
        UInt8 numFrameBuffers;
        IFrame.FrameBufInfo frameBufInfo[1];
    };
 
        UInt32 readerIndex;
        UInt32 numFrames[IFrameQ.MAXFILLEDQUEUS_FOR_READER];
        Bool isAllocated;
    };
 
        IFrameQ.NotifyType notifyType;
        UInt32 watermark;
        IFrameQ.NotifyFunc cbFxnPtr;
        Ptr cbContext;
        Ptr cbClientHandle;
    };
 
        UInt32 isValid;
        UInt32 procId;
        UInt32 cacheFlags;
        UInt32 frameQIndex;
        UInt32 notifyId;
        Bool isRegistered;
    };
 
        UInt32 isValid;
        UInt32 procId;
        UInt32 cacheFlags;
        Bool isRegistered;
    };
module-wide config parameters
 
    metaonly config String tableSection// Section name is used to place the names table = null;
module-wide functions
    UInt32 getFrameBufSize// Function to get size of frame buffer(IFrameQ.Frame frame, UInt32 frameBufNum);
    Int32 setFrameBufValidSize// Function to set valid data size of a frame buffer(IFrameQ.Frame frame, UInt32 frameBufNum, UInt32 validSize);
 
 
instance:
per-instance functions
    Int32 dup// Function to duplicate frame(IFrameQ.Frame frame, IFrameQ.Frame *dupedFrame);
    Int32 freev// Function to free frames(IFrameQ.Frame framePtr[], UInt32 numFrames);
    Int32 getNumFrames// Function to get the number of frames(UInt32 *numFrames);
    Int32 getv// (IFrameQ.Frame pframe[], UInt32 filledQueueId[], UInt8 *numFrames);
    Int32 getvNumFreeFrames// Function to get the number of free frames available in the plugged in FrameQbufMgr(UInt32 numFreeFrames[], UInt8 freeQId[], UInt8 numFreeQids);
    Int32 putv// Function to insert multiple frames in to queues of a FrameQ reader client(IFrameQ.Frame framePtr[], UInt32 filledQueueId[], UInt8 numFrames);
}
 
const IFrameQ.CACHE_LINESIZE

Cache line size

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
const UInt32 CACHE_LINESIZE = 128;
 
 
const IFrameQ.DYNAMIC_CREATE

Type of creation

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
const UInt32 DYNAMIC_CREATE = 0x4;
 
 
const IFrameQ.DYNAMIC_CREATE_USEDREGION

Type of creation

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
const UInt32 DYNAMIC_CREATE_USEDREGION = 0x8;
 
 
const IFrameQ.DYNAMIC_OPEN

Type of open

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
const UInt32 DYNAMIC_OPEN = 0x20;
 
 
const IFrameQ.FRAMEBUF_CPUACCESSFLAGS_BITOFFSET
XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
const UInt32 FRAMEBUF_CPUACCESSFLAGS_BITOFFSET = 16;
 
 
const IFrameQ.INVALID

Type of open

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
const UInt32 INVALID = 0xFF;
 
 
const IFrameQ.MAXFILLEDQUEUS_FOR_READER

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

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
const UInt32 MAXFILLEDQUEUS_FOR_READER = 16;
 
 
const IFrameQ.MAX_INSTANCES

Maximum number of instances managed by FrameQ module

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
const UInt32 MAX_INSTANCES = 64;
 
 
const IFrameQ.MAX_INST_READERS

Maximum number of reader clients supported by an instance

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
const UInt32 MAX_INST_READERS = 2;
 
 
const IFrameQ.MAX_NAMELEN

Maximum length of the name strings

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
const UInt32 MAX_NAMELEN = 32;
 
 
const IFrameQ.NOTIFY_RESERVED_EVENTNO

Notify Event Number to be used by FrameQ module

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
const UInt16 NOTIFY_RESERVED_EVENTNO = 1;
 
 
const IFrameQ.STATIC_CREATE

Type of creation

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
const UInt32 STATIC_CREATE = 0x1;
 
 
const IFrameQ.STATIC_CREATE_USEDREGION

Type of creation

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
const UInt32 STATIC_CREATE_USEDREGION = 0x2;
 
 
const IFrameQ.STATIC_OPEN

Type of open

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
const UInt32 STATIC_OPEN = 0x10;
 
 
const IFrameQ.VERSION
XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
const UInt32 VERSION = 1;
 
 
enum IFrameQ.CpuAccessFlags

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

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
enum CpuAccessFlags {
    FRAMEBUF0_CPUACCESS,
    FRAMEBUF1_CPUACCESS,
    FRAMEBUF2_CPUACCESS,
    FRAMEBUF3_CPUACCESS,
    FRAMEBUF4_CPUACCESS,
    FRAMEBUF5_CPUACCESS,
    FRAMEBUF6_CPUACCESS,
    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).
 
enum IFrameQ.Interface

Enumeration of FrameQ interface types.Denotes different implementation types

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
enum Interface {
    INTERFACE_SHAREDMEM,
    INTERFACE_NONE
};
 
VALUES
INTERFACE_SHAREDMEM — FrameQ implementation (FrameQ_ShMem Implementation) on shared memory.
 
enum IFrameQ.NotifyType
XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
enum NotifyType {
    NOTIFICATION_NONE,
    NOTIFICATION_ALWAYS,
    NOTIFICATION_ONCE,
    NOTIFICATION_HDWRFIFO_ALWAYS,
    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.
 
enum IFrameQ.OpenMode

Enumeration of FrameQ open modes

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
enum OpenMode {
    MODE_NONE,
    MODE_WRITER,
    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.
 
typedef IFrameQ.Frame
XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
typedef IFrame.FrameHeader *Frame;
 
 
typedef IFrameQ.NotifyFunc

Prototype of the FrameQ call back function

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
typedef Void (*NotifyFunc)(IFrameQ.Handle,Ptr,UInt16);
 
 
struct IFrameQ.Attrs

Shared control strucrue for the instance attributes

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
struct Attrs {
    UInt32 status;
    UInt32 version;
    UInt32 localProtect;
    UInt32 remoteProtect;
    Ptr gateMPAddr;
    UInt32 numReaders;
    UInt32 numActiveReaders;
    UInt32 numQueues;
    UInt32 primaryQueueId;
    UInt32 frmQBufMgrId;
};
 
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 IFrameQ.CommonOpenParams

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

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
struct CommonOpenParams {
    String name;
    Ptr sharedAddr;
    UInt32 openMode;
    UInt32 cpuAccessFlags;
};
 
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 IFrameQ.Config

module config structure

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
struct Config {
    UInt32 eventNo;
    UInt8 maxInstances;
};
 
FIELDS
eventNo — Notify event number used for notification.
 
struct IFrameQ.CreateParams

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

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
struct CreateParams {
    UInt32 size;
    IFrameQ.Interface ctrlInterfaceType;
    String name;
    Bool openFlag;
};
 
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 IFrameQ.FrameBufInfo

Structure of the framebuffer info in frame

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
struct FrameBufInfo {
    UInt32 bufPtr;
    UInt32 bufSize;
    UInt32 startOffset;
    UInt32 validSize;
    UInt32 pixelFormat;
    UInt32 height;
    UInt32 width;
    UInt32 stride;
};
 
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 IFrameQ.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

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
struct FrameHeader {
    UInt32 reserved0;
    UInt32 reserved1;
    UInt16 baseHeaderSize;
    UInt16 headerSize;
    UInt32 frmAllocaterId;
    UInt32 frameBufType;
    UInt8 freeFrmQueueNo;
    UInt8 numFrameBuffers;
    IFrame.FrameBufInfo 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
 
struct IFrameQ.FrameQueue

Structure to maintain the queue related information

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
struct FrameQueue {
    UInt32 readerIndex;
    UInt32 numFrames[IFrameQ.MAXFILLEDQUEUS_FOR_READER];
    Bool isAllocated;
};
 
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 IFrameQ.NotifyParams

Client notification registration parameter structure

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
struct NotifyParams {
    IFrameQ.NotifyType notifyType;
    UInt32 watermark;
    IFrameQ.NotifyFunc cbFxnPtr;
    Ptr cbContext;
    Ptr cbClientHandle;
};
 
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 IFrameQ.ReaderClient

Reader client info structure

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
struct ReaderClient {
    UInt32 isValid;
    UInt32 procId;
    UInt32 cacheFlags;
    UInt32 frameQIndex;
    UInt32 notifyId;
    Bool isRegistered;
};
 
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 IFrameQ.WriterClient

Writer client info in shared memory

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
struct WriterClient {
    UInt32 isValid;
    UInt32 procId;
    UInt32 cacheFlags;
    Bool isRegistered;
};
 
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 IFrameQ.nameServer  // module-wide

Handle to the name server

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
config NameServer.Handle nameServer = null;
 
 
config IFrameQ.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)

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
config Bool usedefaultgate = false;
 
 
metaonly config IFrameQ.common$  // module-wide

Common module configuration parameters

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
metaonly config Types.Common$ common$;
 
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 IFrameQ.nameSrvPrms  // module-wide

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

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
metaonly config NameServer.Params nameSrvPrms;
 
 
metaonly config IFrameQ.tableSection  // module-wide

Section name is used to place the names table

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
metaonly config String tableSection = null;
 
 
metaonly config IFrameQ.useNameServer  // module-wide

Whether to have this module use the NameServer or not

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
metaonly config Bool useNameServer = true;
 
DETAILS
Currently defaulted to false because static creation of NameServer instances is not supported.
 
IFrameQ.getConfig()  // module-wide

Initialize the passed pointer with the current parameters

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
Int32 getConfig(IFrameQ.Config *cfgParams);
 
ARGUMENTS
cfgParams — Pointer to parameter structure to be initialized.
 
IFrameQ.getFrameBufDataStartOffset()  // module-wide

Function to get data start offset in frame buffer

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
UInt32 getFrameBufDataStartOffset(IFrameQ.Frame frame, UInt32 frameBufNum);
 
ARGUMENTS
frame — frame.See Frame.
frameBufNum — Frame Buffer number.
RETURNS
Returns valid data start offset in frame buffer.
 
IFrameQ.getFrameBufSize()  // module-wide

Function to get size of frame buffer

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
UInt32 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.
 
IFrameQ.getFrameBufValidSize()  // module-wide

Function to get valid data size of a frame buffer

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
UInt32 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.
 
IFrameQ.getFrameBuffer()  // module-wide

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

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
Ptr 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 .
 
IFrameQ.getNumFrameBuffers()  // module-wide

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

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
UInt32 getNumFrameBuffers(IFrameQ.Frame frame);
 
ARGUMENTS
frame — frame pointer(i.e frame header).See Frame
RETURNS
Returns number of frame buffers in given frame.
 
IFrameQ.setFrameBufDataStartOffset()  // module-wide

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

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
Int32 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.
 
IFrameQ.setFrameBufValidSize()  // module-wide

Function to set valid data size of a frame buffer

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
Int32 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.
 
IFrameQ.alloc()  // instance

Function to allocate a frame

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
Int32 alloc(IFrameQ.Frame *framePtr);
 
ARGUMENTS
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
 
IFrameQ.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

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
Int32 allocv(IFrameQ.Frame framePtr[], UInt32 freeQId[], UInt8 *numFrames);
 
ARGUMENTS
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.
 
IFrameQ.control()  // instance

Provides a hook to perform implementation dependent operation

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
Int32 control(Int32 cmd, Ptr arg);
 
ARGUMENTS
cmd — command to exectue.
arg — argument of type void*.
 
IFrameQ.dup()  // instance

Function to duplicate frame

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
Int32 dup(IFrameQ.Frame frame, IFrameQ.Frame *dupedFrame);
 
 
IFrameQ.free()  // instance

Function to free frame

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
Int32 free(IFrameQ.Frame frame);
 
ARGUMENTS
frame — Frame to be freed.
RETURNS
returns 0 if successfully freed the allocated buffer.
 
IFrameQ.freev()  // instance

Function to free frames

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
Int32 freev(IFrameQ.Frame framePtr[], UInt32 numFrames);
 
ARGUMENTS
framePtr — array of frames to be freed.
RETURNS
returns 0 if successfully freed the allocated frames.
 
IFrameQ.get()  // instance

Function to retrieve(get) frames from FrameQ

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
Int32 get(IFrameQ.Frame *frame);
 
 
IFrameQ.getNumFrames()  // instance

Function to get the number of frames

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
Int32 getNumFrames(UInt32 *numFrames);
 
ARGUMENTS
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.
 
IFrameQ.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

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
Int32 getNumFreeFrames(UInt32 *numFreeFrames);
 
ARGUMENTS
numFreeFrames — Outputparameter indicates number of free frames .
RETURNS
returns 0 if successfully returned the number of free frames.
 
IFrameQ.getv()  // instance
XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
Int32 getv(IFrameQ.Frame pframe[], UInt32 filledQueueId[], UInt8 *numFrames);
 
 
IFrameQ.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)

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
Int32 getvNumFrames(UInt32 numFrames[], UInt8 filledQId[], UInt8 numFilledQids);
 
ARGUMENTS
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.
 
IFrameQ.getvNumFreeFrames()  // instance

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

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
Int32 getvNumFreeFrames(UInt32 numFreeFrames[], UInt8 freeQId[], UInt8 numFreeQids);
 
ARGUMENTS
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.
 
IFrameQ.put()  // instance

Function to insert frames in to FrameQ instance

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
Int32 put(IFrameQ.Frame buf);
 
 
IFrameQ.putv()  // instance

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

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
Int32 putv(IFrameQ.Frame framePtr[], UInt32 filledQueueId[], UInt8 numFrames);
 
 
IFrameQ.registerNotifier()  // instance

Function to register a call back function with the instance.

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
Int32 registerNotifier(IFrameQ.NotifyParams *notifyParams);
 
ARGUMENTS
notifyParams — Notification registration parameters.See NotifyRegParams.
RETURNS
Returns 0 if successfully registered the call back function.
 
IFrameQ.sendNotify()  // instance

Function to send force notification to reader client

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
Int32 sendNotify(UInt16 msg);
 
RETURNS
Returns positive value if successfully sent notification.
 
IFrameQ.unregisterNotifier()  // instance

Function to unregister the call back function

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQ.xdc
Int32 unregisterNotifier();
 
RETURNS
Returns positive value if successfully unregistered the call back function.
generated on Fri, 02 Dec 2011 14:44:28 GMT