02.00.00.68_beta1
============================================================================
Copyright (c) 2008-2009, Texas Instruments Incorporated
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
* Neither the name of Texas Instruments Incorporated nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Contact information for paper mail: Texas Instruments Post Office Box 655303 Dallas, Texas 75265 Contact information: http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm? DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact ============================================================================
Definition in file FrameQ.h.
#include <ti/syslink/FrameQDefs.h>
#include <ti/syslink/SysLink.h>
#include <ti/ipc/Notify.h>
Include dependency graph for FrameQ.h:

Go to the source code of this file.
Data Structures | |
| struct | FrameQ_CreateParams_Tag |
| Common parameters required to create FrameQ instance of any implementation. It should be the first element of the actual implementaton params structure . More... | |
| struct | FrameQ_CommonOpenParams_Tag |
| Common parameters required to open a FrameQ instance of any implementation. More... | |
| struct | FrameQ_Params |
| Common parameters required to create FrameQ instance of any implementation. It should be the first element of the actual implementaton params structure . More... | |
| struct | FrameQ_NotifyParams_Tag |
| Structure defining notification parameter structure. More... | |
Defines | |
| #define | FrameQ_S_ALREADYDESTROYED 2 |
| Indicates module has been already destroyed. | |
| #define | FrameQ_S_ALREADYSETUP 1 |
| Indicates module is already setup. | |
| #define | FrameQ_S_SUCCESS 0 |
| Operation successful. | |
| #define | FrameQ_E_FAIL -1 |
| General Failure. | |
| #define | FrameQ_E_INVALIDARG -2 |
| Argument passed to function is invalid. | |
| #define | FrameQ_E_NOTFOUND -3 |
| FrameQ instance not found. | |
| #define | FrameQ_E_INST_EXISTS -4 |
| FrameQ instance already exists. | |
| #define | FrameQ_E_WRITER_EXISTS -5 |
| Writer client already exists. | |
| #define | FrameQ_E_ALLOC_FRAME -6 |
| Failed to allocate frame header. | |
| #define | FrameQ_E_ALLOC_FRAMEBUF -7 |
| Failed to allocate frame buffers. | |
| #define | FrameQ_E_MEMORY -8 |
| Memory_alloc failed. | |
| #define | FrameQ_E_EMPTY -9 |
| FrameQ is empty. Can not return frame. | |
| #define | FrameQ_E_CREATE_NAMESERVER -10 |
| Name server create failed for the module. | |
| #define | FrameQ_E_CREATE_GATEMP -11 |
| GateMP instance create failed. | |
| #define | FrameQ_E_OPEN_GATEMP -12 |
| GateMP instance open failed. | |
| #define | FrameQ_E_FAIL_CLIENTN0TIFYMGR_CREATE -13 |
| Failed to create Client NotifyMgr instance. | |
| #define | FrameQ_E_FAIL_CLIENTN0TIFYMGR_OPEN -14 |
| Failed to open Client NotifyMgr instance. | |
| #define | FrameQ_E_MAX_READERS -15 |
| Max limit of readers for a FrameQ is reached. | |
| #define | FrameQ_E_ACCESSDENIED -16 |
| Operation can not be permitted or not implemented. | |
| #define | FrameQ_E_INVALIDSTATE -17 |
| Module is not initialized. | |
| #define | FrameQ_E_OSFAILURE -18 |
| Failure in OS call. | |
| #define | FrameQ_E_FAIL_NAMESERVERADD -19 |
| Adding FrameQ entry to name server instance failed. | |
| #define | FrameQ_E_INVALID_INTERFACE -20 |
| Unsupported interface type. | |
| #define | FrameQ_E_NOTIMPLEMENTED -21 |
| Called API is not implemented. | |
| #define | FrameQ_E_OPEN_NAMESERVER -22 |
| NameServer open failed. | |
| #define | FrameQ_E_INVALID_FRAMEQBUFMGRID -23 |
| Invalid FrameQbufMgr id. | |
| #define | FrameQ_E_INSUFFICENT_FRAMES -24 |
| Reader client get this error in getv call if it is not able to get all the requested frames. API is able to get only few frames. | |
| #define | FrameQ_E_ALLOC_MEMORY -25 |
| Failed to allocate memory. | |
| #define | FrameQ_E_FRAMEQBUFMGROPEN -26 |
| Failed to open FrameQBufMgr. | |
| #define | FrameQ_E_LISTMPOPEN -27 |
| Failed to open ListMP instance. | |
| #define | FrameQ_E_CLIENTNOTIFYMGRREGCLIENT -28 |
| Failed to register with the clientNotifyMgr. | |
| #define | FrameQ_E_FRAMEQBUFMGRREGCLIENT -29 |
| Failed to register with the FrameQBufMgr. | |
| #define | FrameQ_E_CLIENTNOTIFYMGRUNREGCLIENT -30 |
| Failed to unregister with the clientNotifyMgr.. | |
| #define | FrameQ_E_FRAMEQBUFMGRUNREGCLIENT -31 |
| Failed to unregister with the FrameQBufMgr. | |
| #define | FrameQ_E_ALREADYREGISTERED -32 |
| Call back function is already registered. | |
| #define | FrameQ_E_NAMESERVERADD -33 |
| NameServer_add failed. | |
| #define | FrameQ_FrameBufInfo Frame_FrameBufInfo |
| #define | FrameQ_FrameHeader Frame_FrameHeader |
| Defines the frame header structure. | |
| #define | FrameQ_MAX_NAMELEN (32u) |
| Maximum length of the name string in bytes. | |
| #define | FrameQ_MAXFILLEDQUEUS_FOR_READER (16) |
| Max filled queues for a reader client of the FrameQ instance. | |
| #define | FrameQ_MAX_INST_READERS (2u) |
| Maximum number of reader clients supported by the instance. | |
| #define | FrameQ_MAX_INSTANCES (64u) |
| Maximum number of instances managed by FrameQ. | |
| #define | FrameQ_NOTIFY_RESERVED_EVENTNO (1u) |
| Notify Event Number to be used by FrameQ module. | |
Typedefs | |
| typedef Frame_FrameHeader * | FrameQ_Frame |
| Defines the type for a frame pointer. | |
| typedef FrameQ_Object * | FrameQ_Handle |
| Handle for the FrameQ instance. | |
| typedef void(* | FrameQ_NotifyFunc )(FrameQ_Handle, Ptr arg, UInt32) |
| Prototype of the FrameQ call back function. | |
| typedef enum FrameQ_NotifyType_Tag | FrameQ_NotifyType |
| Enumerates the notification types for FrameQ. | |
| typedef enum FrameQ_OpenMode_Tag | FrameQ_OpenMode |
| Enumerations to indicate FrameQ open modes. | |
| typedef enum FrameQ_CpuAccessFlags_Tag | FrameQ_CpuAccessFlags |
| Enumeration of CPU access flags for frame buffers. For frame headers CPUACCESS is assumed to be TRUE.. | |
| typedef enum FrameQ_Interface_Tag | FrameQ_Interface |
| Enumeration of FrameQ interface types.Denotes different implementation types. | |
| typedef FrameQ_CreateParams_Tag | FrameQ_CreateParams |
| Common parameters required to create FrameQ instance of any implementation. It should be the first element of the actual implementaton params structure . | |
| typedef FrameQ_CommonOpenParams_Tag | FrameQ_CommonOpenParams |
| Common parameters required to open a FrameQ instance of any implementation. | |
| typedef FrameQ_Params | FrameQ_Params |
| Common parameters required to create FrameQ instance of any implementation. It should be the first element of the actual implementaton params structure . | |
| typedef FrameQ_NotifyParams_Tag | FrameQ_NotifyParams |
| Structure defining notification parameter structure. | |
Enumerations | |
| enum | FrameQ_NotifyType_Tag { FrameQ_NOTIFICATION_NONE = SysLink_NOTIFICATION_NONE, FrameQ_NOTIFICATION_ALWAYS = SysLink_NOTIFICATION_ALWAYS, FrameQ_NOTIFICATION_ONCE = SysLink_NOTIFICATION_ONCE, FrameQ_NOTIFICATION_HDWRFIFO_ALWAYS, FrameQ_NOTIFICATION_HDWRFIFO_ONCE } |
| Enumerates the notification types for FrameQ. More... | |
| enum | FrameQ_OpenMode_Tag { FrameQ_MODE_NONE, FrameQ_MODE_WRITER, FrameQ_MODE_READER } |
| Enumerations to indicate FrameQ open modes. More... | |
| enum | FrameQ_CpuAccessFlags_Tag { FrameQ_FRAMEBUF0_CPUACCESS = 0x10000, FrameQ_FRAMEBUF1_CPUACCESS = 0x20000, FrameQ_FRAMEBUF2_CPUACCESS = 0x40000, FrameQ_FRAMEBUF3_CPUACCESS = 0x80000, FrameQ_FRAMEBUF4_CPUACCESS = 0x100000, FrameQ_FRAMEBUF5_CPUACCESS = 0x200000, FrameQ_FRAMEBUF6_CPUACCESS = 0x400000, FrameQ_FRAMEBUF7_CPUACCESS = 0x800000 } |
| Enumeration of CPU access flags for frame buffers. For frame headers CPUACCESS is assumed to be TRUE.. More... | |
| enum | FrameQ_Interface_Tag { FrameQ_INTERFACE_SHAREDMEM = 0x0, FrameQ_INTERFACE_NONE = 0x1 } |
| Enumeration of FrameQ interface types.Denotes different implementation types. More... | |
Functions | |
| Int32 | FrameQ_isSupportedInterface (UInt32 type) |
| Function to know whether the give ctrlInterfaceType is supported. | |
| FrameQ_Handle | FrameQ_create (Ptr params) |
| Creates a new instance of FrameQ . | |
| Int32 | FrameQ_delete (FrameQ_Handle *pHandle) |
| Function to delete an instance of FrameQ. | |
| Int32 | FrameQ_open (Ptr openParams, FrameQ_Handle *handlePtr) |
| Function to open the created FrameQ instance.. | |
| Int32 | FrameQ_openByAddr (FrameQ_Handle *handlePtr, Ptr openParams) |
| Function to open the created FrameQ instance if shared address is known. | |
| Int32 | FrameQ_close (FrameQ_Handle *pHandle) |
| Function to close the opened FrameQ instance. | |
| Int32 | FrameQ_alloc (FrameQ_Handle handle, FrameQ_Frame *framePtr) |
| Function to allocate frame. | |
| Int32 | FrameQ_allocv (FrameQ_Handle handle, FrameQ_Frame framePtr[], UInt32 freeQId[], UInt8 *numFrames) |
| Function to allocate multiple frames. | |
| Int32 | FrameQ_free (FrameQ_Handle handle, FrameQ_Frame frame) |
| Function to free frame. | |
| Int32 | FrameQ_freev (FrameQ_Handle handle, FrameQ_Frame framePtr[], UInt32 numFrames) |
| Function to free multiple frames. | |
| Int32 | FrameQ_put (FrameQ_Handle handle, FrameQ_Frame frame) |
| Function to insert frame in to FrameQ instance. | |
| Int32 | FrameQ_putv (FrameQ_Handle handle, FrameQ_Frame framePtr[], UInt32 filledQueueId[], UInt8 numFrames) |
| Function to insert multiple frames in to queues of a FrameQ reader client. | |
| Int32 | FrameQ_get (FrameQ_Handle handle, FrameQ_Frame *framePtr) |
| Function to retrieve frame from FrameQ instance by reader client. | |
| Int32 | FrameQ_getv (FrameQ_Handle handle, FrameQ_Frame pframe[], UInt32 filledQueueId[], UInt8 *numFrames) |
| Function to retrieve frames from the given queues of a reader client. | |
| Int32 | FrameQ_dup (FrameQ_Handle handle, FrameQ_Frame frame, FrameQ_Frame *dupedFrame) |
| Function to duplicate the given frame. | |
| Int32 | FrameQ_registerNotifier (FrameQ_Handle handle, FrameQ_NotifyParams *notifyParams) |
| API to register a call back function. | |
| Int32 | FrameQ_unregisterNotifier (FrameQ_Handle handle) |
| Function to un register call back function. | |
| Int32 | FrameQ_sendNotify (FrameQ_Handle handle, UInt16 msg) |
| Function to send forced notification to the reader clients. | |
| Int32 | FrameQ_getNumFrames (FrameQ_Handle handle, UInt32 *numFrames) |
| Function to find out the number of available frames in a FrameQ . | |
| Int32 | FrameQ_getvNumFrames (FrameQ_Handle handle, UInt32 numFrames[], UInt8 filledQId[], UInt8 numFilledQids) |
| Function to find out the number of available frames in a FrameQ . | |
| Int32 | FrameQ_getNumFreeFrames (FrameQ_Handle handle, UInt32 *numFreeFrames) |
| Function to get the number of free frames. | |
| Int32 | FrameQ_getvNumFreeFrames (FrameQ_Handle handle, UInt32 numFreeFrames[], UInt8 freeQId[], UInt8 numFreeQids) |
| Function to get the number of free frames. | |
| Int32 | FrameQ_control (FrameQ_Handle handle, Int32 cmd, Ptr arg) |
| Provides a hook to perform implementation dependent operation. | |
| Ptr | FrameQ_getExtendedHeaderPtr (FrameQ_Frame frame) |
| API to get the pointer to the extended header. | |
| UInt32 | FrameQ_getNumFrameBuffers (FrameQ_Frame frame) |
| Function to find out the number of frame buffers contained in a frame. | |
| Ptr | FrameQ_getFrameBuffer (FrameQ_Frame frame, UInt32 frameBufNum) |
| Function to get the framebuffer. | |
| UInt32 | FrameQ_getFrameBufSize (FrameQ_Frame frame, UInt32 frameBufNum) |
| Function to get size of frame buffer. | |
| UInt32 | FrameQ_getFrameBufValidSize (FrameQ_Frame frame, UInt32 frameBufNum) |
| Function to get valid data size of a frame buffer. | |
| UInt32 | FrameQ_getFrameBufDataStartOffset (FrameQ_Frame frame, UInt32 frameBufNum) |
| API to get the valid data start offset in framebuffer identified by frameBufNum in a given frame. | |
| Int32 | FrameQ_setFrameBufValidSize (FrameQ_Frame frame, UInt32 frameBufNum, UInt32 validDataSize) |
| API to set the valid data size of a framebuffer identified by frameBufNum in given frame. | |
| Int32 | FrameQ_setFrameBufDataStartOffset (FrameQ_Frame frame, UInt32 frameBufNum, UInt32 dataStartOffset) |
| API to set the valid data start offset of a framebuffer identified by frameBufNum in a given frame. | |
|
|
Operation can not be permitted or not implemented.
|
|
|
Failed to allocate frame header.
|
|
|
Failed to allocate frame buffers.
|
|
|
Failed to allocate memory.
|
|
|
Call back function is already registered.
|
|
|
Failed to register with the clientNotifyMgr.
|
|
|
Failed to unregister with the clientNotifyMgr..
|
|
|
GateMP instance create failed.
|
|
|
Name server create failed for the module.
|
|
|
FrameQ is empty. Can not return frame.
|
|
|
General Failure.
|
|
|
Failed to create Client NotifyMgr instance.
|
|
|
Failed to open Client NotifyMgr instance.
|
|
|
Adding FrameQ entry to name server instance failed.
|
|
|
Failed to open FrameQBufMgr.
|
|
|
Failed to register with the FrameQBufMgr.
|
|
|
Failed to unregister with the FrameQBufMgr.
|
|
|
FrameQ instance already exists.
|
|
|
Reader client get this error in getv call if it is not able to get all the requested frames. API is able to get only few frames.
|
|
|
Invalid FrameQbufMgr id.
|
|
|
Unsupported interface type.
|
|
|
Argument passed to function is invalid.
|
|
|
Module is not initialized.
|
|
|
Failed to open ListMP instance.
|
|
|
Max limit of readers for a FrameQ is reached.
|
|
|
Memory_alloc failed.
|
|
|
NameServer_add failed.
|
|
|
FrameQ instance not found.
|
|
|
Called API is not implemented.
|
|
|
GateMP instance open failed.
|
|
|
NameServer open failed.
|
|
|
Failure in OS call.
|
|
|
Writer client already exists.
|
|
|
|
|
|
Defines the frame header structure.
|
|
|
Maximum number of reader clients supported by the instance.
|
|
|
Maximum number of instances managed by FrameQ.
|
|
|
Maximum length of the name string in bytes.
|
|
|
Max filled queues for a reader client of the FrameQ instance.
|
|
|
Notify Event Number to be used by FrameQ module.
|
|
|
Indicates module has been already destroyed.
|
|
|
Indicates module is already setup.
|
|
|
Operation successful.
|
|
|
Common parameters required to open a FrameQ instance of any implementation.
|
|
|
Enumeration of CPU access flags for frame buffers. For frame headers CPUACCESS is assumed to be TRUE..
|
|
|
Common parameters required to create FrameQ instance of any implementation. It should be the first element of the actual implementaton params structure .
|
|
|
Defines the type for a frame pointer.
|
|
|
Handle for the FrameQ instance.
|
|
|
Enumeration of FrameQ interface types.Denotes different implementation types.
|
|
|
Prototype of the FrameQ call back function.
|
|
|
Structure defining notification parameter structure.
|
|
|
Enumerates the notification types for FrameQ.
|
|
|
Enumerations to indicate FrameQ open modes.
|
|
|
Common parameters required to create FrameQ instance of any implementation. It should be the first element of the actual implementaton params structure .
|
|
|
Enumeration of CPU access flags for frame buffers. For frame headers CPUACCESS is assumed to be TRUE..
Definition at line 347 of file FrameQ.h. 00347 { 00348 FrameQ_FRAMEBUF0_CPUACCESS = 0x10000, 00349 /*!< If specified first frame buffer is accessed through CPU 00350 * (direct memory access). 00351 */ 00352 FrameQ_FRAMEBUF1_CPUACCESS = 0x20000, 00353 /*!< If specified second frame buffer is accessed through CPU 00354 * (direct memory access). 00355 */ 00356 FrameQ_FRAMEBUF2_CPUACCESS = 0x40000, 00357 /*!< If specified third frame buffer is accessed through CPU 00358 * (direct memory access). 00359 */ 00360 FrameQ_FRAMEBUF3_CPUACCESS = 0x80000, 00361 /*!< If specified fourth frame buffer is accessed through CPU 00362 * (direct memory access). 00363 */ 00364 FrameQ_FRAMEBUF4_CPUACCESS = 0x100000, 00365 /*!< If specified fifth frame buffer is accessed through CPU 00366 * (direct memory access). 00367 */ 00368 FrameQ_FRAMEBUF5_CPUACCESS = 0x200000, 00369 /*!< If specified sixth frame buffer is accessed through CPU 00370 * (direct memory access). 00371 */ 00372 FrameQ_FRAMEBUF6_CPUACCESS = 0x400000, 00373 /*!< If specified seventh frame buffer is accessed through CPU 00374 * (direct memory access). 00375 */ 00376 FrameQ_FRAMEBUF7_CPUACCESS = 0x800000 00377 /*!< If specified eighth frame buffer is accessed through CPU 00378 * (direct memory access). 00379 */ 00380 } FrameQ_CpuAccessFlags;
|
|
|
Enumeration of FrameQ interface types.Denotes different implementation types.
Definition at line 386 of file FrameQ.h. 00386 { 00387 FrameQ_INTERFACE_SHAREDMEM = 0x0, 00388 /*!< Denotes FrameQ implementation (FrameQ_ShMem 00389 * Implementation) on shared memory. 00390 */ 00391 FrameQ_INTERFACE_NONE = 0x1 00392 } FrameQ_Interface;
|
|
|
Enumerates the notification types for FrameQ.
Definition at line 307 of file FrameQ.h. 00307 { 00308 FrameQ_NOTIFICATION_NONE = SysLink_NOTIFICATION_NONE, 00309 /*!< No notification is required. */ 00310 FrameQ_NOTIFICATION_ALWAYS = SysLink_NOTIFICATION_ALWAYS, 00311 /*!< Notify whenever the other client sends data/frees up space.*/ 00312 FrameQ_NOTIFICATION_ONCE = SysLink_NOTIFICATION_ONCE, 00313 /*!< Notify when the other side sends data/frees up space. Once the 00314 * notification is done, the notification is disabled until it is 00315 * enabled again. 00316 */ 00317 FrameQ_NOTIFICATION_HDWRFIFO_ALWAYS = 00318 SysLink_NOTIFICATION_HDWRFIFO_ALWAYS, 00319 /*!< Notify whenever the other side sends data/frees up space. 00320 * This notification is never disabled. 00321 */ 00322 FrameQ_NOTIFICATION_HDWRFIFO_ONCE = 00323 SysLink_NOTIFICATION_HDWRFIFO_ONCE 00324 /*!< Notify when the other side sends data/frees up space. Once the 00325 * notification is done, the notification is disabled until it is 00326 * enabled again. The notification is enabled once the watermark 00327 * is crossed and does not require buffer to get full/empty. 00328 */ 00329 } FrameQ_NotifyType;
|
|
|
Enumerations to indicate FrameQ open modes.
Definition at line 334 of file FrameQ.h. 00334 { 00335 FrameQ_MODE_NONE, 00336 /*!< Mode is not reader/writer.Apps should not use this as open mode */ 00337 FrameQ_MODE_WRITER, 00338 /*!< FrameQ mode is writer. */ 00339 FrameQ_MODE_READER 00340 /*!< FrameQ mode is reader.*/ 00341 } FrameQ_OpenMode;
|
|
||||||||||||
|
Function to allocate frame. This function allocates a frame when called by FrameQ writer. This API internally makes a call to configured FrameQbufMgr to allocate a free frame.
|
|
||||||||||||||||||||
|
Function to allocate multiple frames. This function allocates frames from multiple free pools of plugged in FrameQBufMgr.After API returns, numframes will denotes the number of successfully allocated frames.The max size of framePtr and freeQId array is defined by macro FrameQ_MAX_FRAMESINVAPI.
|
|
|
Function to close the opened FrameQ instance. This function closes FrameQ instance that is opened.
|
|
||||||||||||||||
|
Provides a hook to perform implementation dependent operation.
|
|
|
Creates a new instance of FrameQ . This function create a new instance of FrameQ. It creates a frameQ based on the params specific to implementations.
|
|
|
Function to delete an instance of FrameQ. This function delets FrameQ instance that created.
|
|
||||||||||||||||
|
Function to duplicate the given frame. This Function duplicates the given frame.It allocates one frame header buffer and copies the header information given in original frame and returns it.
|
|
||||||||||||
|
Function to free frame. This function frees a frame when called by FrameQ writer or reader. This API internally makes a call to configured FrameQbufMgr to free the frame.
|
|
||||||||||||||||
|
Function to free multiple frames. This function frees multiple frames when called by FrameQ writer or writer. This API internally makes a call to configured FrameQbufMgr to free frames.
|
|
||||||||||||
|
Function to retrieve frame from FrameQ instance by reader client. This Function retrieves frame from the queue 0 of caller client. Only readers are allowed to call this API.
|
|
|
API to get the pointer to the extended header.
|
|
||||||||||||
|
API to get the valid data start offset in framebuffer identified by frameBufNum in a given frame.
|
|
||||||||||||
|
Function to get the framebuffer.
|
|
||||||||||||
|
Function to get size of frame buffer.
|
|
||||||||||||
|
Function to get valid data size of a frame buffer.
|
|
|
Function to find out the number of frame buffers contained in a frame.
|
|
||||||||||||
|
Function to find out the number of available frames in a FrameQ . For Writer: It returns the number of frames in the primary reader's filled queue 0. For Reader: It returns the number of frames in the Reader's(caller)filledqueue 0.
|
|
||||||||||||
|
Function to get the number of free frames. Function to get the number of free frames available in the plugged in FrameQbufMgr's FreeFramePool 0 The returned number free frames may not exist in the frameQbufMgr after this call. This is because if allocs can be done by the other FrameQ writers on the same FrameQBufMgr.If frames are freed by other frameQ writers then the free Frames would be even more than the value that this API returns.
|
|
||||||||||||||||||||
|
Function to retrieve frames from the given queues of a reader client. This Function retrieves frames from the queues of caller client. Only readers are allowed to call this API.It returns frames if all the required frames are available in the FrameQ.The Size of pframe and filledQueueId should be atleast equal to numFrames. The max size of framePtr and filledQueueId array is defined by macro FrameQ_MAX_FRAMESINVAPI.
|
|
||||||||||||||||||||
|
Function to find out the number of available frames in a FrameQ . For Reader this function is to get the available frames from the queues associated with it. For writer this function is to get the available frames from the queues associated with the primary Reader(first reader).
|
|
||||||||||||||||||||
|
Function to get the number of free frames. Function to get the number of free frames available in the plugged in FrameQbufMgr's FreeFramePools The returned number free frames may not exist in the frameQbufMgr after this call. This is because if allocs can be done by the other FrameQ writers on the same FrameQBufMgr.If frames are freed by other frameQ writers then the free Frames would be even more than the value that this API returns.
|
|
|
Function to know whether the give ctrlInterfaceType is supported. This function returns TRUE if the interface provide is supported other wise returns FALSE.
|
|
||||||||||||
|
Function to open the created FrameQ instance.. This function opens the FrameQ instance in reader or writer mode depending upon the open params passed to it.
|
|
||||||||||||
|
Function to open the created FrameQ instance if shared address is known. This function opens the FrameQ instance in reader or writer mode depending upon the open params passed to it. Apps should pass the valid shared addr of the created instance.
|
|
||||||||||||
|
Function to insert frame in to FrameQ instance. This function inserts frame in to FrameQ. It inserts frame in to filled frame queue 0 of FrameQ reader clients. If multiple readers exist, 1.FrameQ inserts the original gien frame into first reader's queue 0. 2.FrameQ duplicates the original frame and inserts duplicated frames in to rest of the reader's queue 0.
|
|
||||||||||||||||||||
|
Function to insert multiple frames in to queues of a FrameQ reader client. If multiple readers exist, It dups the given frames and inserts in to other readers' queues.The Size of framePtr and filledQueueId should be atleast equal to numFrames. The max size of framePtr and filledQueueId array is defined by macro FrameQ_MAX_FRAMESINVAPI.
|
|
||||||||||||
|
API to register a call back function. For reader : It registers notification function to notify about available frames in the FrameQ. For writer : It registers notification function to notify about available free frames in the Plugged in FrameQBufMgr.
|
|
||||||||||||
|
Function to send forced notification to the reader clients.
|
|
||||||||||||||||
|
API to set the valid data start offset of a framebuffer identified by frameBufNum in a given frame.
|
|
||||||||||||||||
|
API to set the valid data size of a framebuffer identified by frameBufNum in given frame.
|
|
|
Function to un register call back function.
|
1.4.4