Main Page | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

FrameQBufMgr.h File Reference


Detailed Description

Defines for interfaces for FrameQBufMgr module.

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 FrameQBufMgr.h.

#include <ti/syslink/FrameQDefs.h>
#include <ti/syslink/SysLink.h>
#include <ti/ipc/Notify.h>

Include dependency graph for FrameQBufMgr.h:

Go to the source code of this file.

Data Structures

struct  FrameQBufMgr_CreateParams_Tag
 Common parameters required to create FrameQBufMgr instance of any implementation. It should be the first element of the actual implementaton params structure . More...
struct  FrameQBufMgr_CommonOpenParams_Tag
 Common parameters required to open a FrameQBufMgr instance of any implementation. More...
struct  FrameQBufMgr_Params
 Common parameters required to create FrameQBufMgr instance of any implementation. It should be the first element of the actual implementaton params structure . More...
struct  FrameQBufMgr_FrameBufParams_Tag
 Frame buffer param structure. More...
struct  FrameQBufMgr_NotifyParams_Tag
 Structure defining notification parameter structure. More...

Defines

#define FrameQBufMgr_S_ALREADYDESTROYED   2
 Indicates module has been already destroyed.
#define FrameQBufMgr_S_ALREADYSETUP   1
 Indicates module is already setup.
#define FrameQBufMgr_S_SUCCESS   0
 Operation successful.
#define FrameQBufMgr_E_FAIL   -1
 General Failure.
#define FrameQBufMgr_E_INVALIDARG   -2
 Invalid arguments are passed to FrameQBufMgr API.
#define FrameQBufMgr_E_NOTFOUND   -3
 Instance not found.
#define FrameQBufMgr_E_INST_EXISTS   -4
 FrameQBufMgr instance already exists.
#define FrameQBufMgr_E_ALLOC_BUF   -5
 Failed to allocate buffer.
#define FrameQBufMgr_E_ALLOC_MEMORY   -6
 Failed to allocate memory.
#define FrameQBufMgr_E_CREATE_NAMESERVER   -7
 Name server create failed for the module.
#define FrameQBufMgr_E_FAIL_CLIENTN0TIFYMGR_CREATE   -8
 ClientNotifyMgr create failed.
#define FrameQBufMgr_E_CLIENTN0TIFYMGR_OPEN   -9
 ClientNotifyMgr open failed.
#define FrameQBufMgr_E_CREATE_GATEMP   -10
 Creation of GateMP failed.
#define FrameQBufMgr_E_OPEN_GATEMP   -11
 GateMP open failed.
#define FrameQBufMgr_E_MAX_CLIENTS   -12
 Maximum instances limit reached.
#define FrameQBufMgr_E_ACCESSDENIED   -13
 Operation can not be permitted or not implemented.
#define FrameQBufMgr_E_NOTIMPLEMENTED   -14
 API is not implemented.
#define FrameQBufMgr_E_INVALIDSTATE   -15
 Module is not initialized.
#define FrameQBufMgr_E_OSFAILURE   -16
 Failure in OS call.
#define FrameQBufMgr_E_MAXINSTANCES   -17
 Max instances limit reached. Can not create instance.
#define FrameQBufMgr_E_INVALID_INTERFACE   -18
 Unsupported interface type.
#define FrameQBufMgr_E_OPEN_NAMESERVER   -19
 Failed to open NameServer.
#define FrameQBufMgr_E_INSUFFICIENT_HDRBUFS   -20
 Insufficient header buffers.
#define FrameQBufMgr_E_ALLOC_FRAME   -21
 Failed to allocate frame.
#define FrameQBufMgr_E_ALLOC_ALLFRAMES   -22
 Not able to allocate the requested frames.Able to allocate only few frames.
#define FrameQBufMgr_E_INVALID_MEMMGRTYPE   -23
 Invalid MemMgr type specified.
#define FrameQBufMgr_E_INVALID_HDRINTERFACETYPE   -24
 Invalid Header buffer interface type specified.see enum FrameQBufMgr_FrameHeaderInterface for the supported types.
#define FrameQBufMgr_E_INVALID_BUFINTERFACETYPE   -25
 Invalid frame buffer interface type specified.see enum FrameQBufMgr_FrameBufferInterface for the supported types.
#define FrameQBufMgr_E_NAMESERVERADD   -33
 NameServer_add failed.
#define FrameQBufMgr_FrameBufInfo   Frame_FrameBufInfo
#define FrameQBufMgr_FrameHeader   Frame_FrameHeader
 Defines the frame header structure.
#define FrameQBufMgr_MAXNAMELEN   (32u)
 Maximum length of the name string in bytes.
#define FrameQBufMgr_MAXINSTANCES   (64u)
 Maximum number of instances managed by FrameQBufMgr module.
#define FrameQBufMgr_MAX_POOLS   (64u)
 Maximum number of free frame pools to be maintained in a instance.
#define FrameQBufMgr_MAX_FRAMEBUFS   (8)
 Maximum number of frame buffers in a frame managed by in FrameQBufMgr instance.
#define FrameQBufMgr_POOL_MAXFRAMES   (32)
 Maximum number of static free Frames managed by FrameQBufMgr instance Free Frame pool.
#define FrameQBufMgr_POOL_MAXHDRS   (64)
 Maximum number of additional static free headers managed by FrameQBufMgr instance for each Free Frame pool.
#define FrameQBufMgr_POOL_DYNAMIC_MAXFRAMES   (1)
 Maximum number of dynbuffers managed by each buffer pool in FrameQBufMgr instance.
#define FrameQBufMgr_POOL_DYNAMIC_MAXHDRS   (1)
 Maximum number of additional dynamic free headers managed by FrameQBufMgr instance for each Free Frame pool.
#define FrameQBufMgr_NOTIFY_RESERVED_EVENTNO   (0u)
 Notify Event Number to be used by FrameQBufMgr module.
#define FrameQBufMgr_MAX_FRAMESINVAPI   (FrameQ_MAX_FRAMESINVAPI)
 Macro used in FrameQ for sorting of passed parameters in V API. In FrameQBufMgr_allocv case this denotes the number of frames that can be allocated in one call.

Typedefs

typedef FrameQBufMgr_Object * FrameQBufMgr_Handle
 Handle for the FrameQBufMgr instance.
typedef Frame_FrameHeaderFrameQBufMgr_Frame
 Defines the type for a frame pointer.
typedef enum FrameQBufMgr_CpuAccessFlags_Tag FrameQBufMgr_CpuAccessFlags
 Enumeration of CPU access flags for frame buffers. For frame headers CPUACCESS is assumed to be TRUE..
typedef enum FrameQBufMgr_BufType_Tag FrameQBufMgr_BufType
 Denotes the type of buffer.
typedef enum FrameQBufMgr_AddrType_Tag FrameQBufMgr_AddrType
 Enumerations to indicate address types used for translation.
typedef enum FrameQBufMgr_Interface_Tag FrameQBufMgr_Interface
 Enumeration of FrameQBufMgr interface types.Denotes different implementation types.
typedef enum FrameQBufMgr_FrameHeaderInterface_Tag FrameQBufMgr_FrameHeaderInterface
 Enumeration of FrameQBufMgr interface types.Denotes different implementation types.
typedef enum FrameQBufMgr_FrameBufferInterface_Tag FrameQBufMgr_FrameBufferInterface
 Enumeration of FrameQBufMgr interface types.Denotes different implementation types.
typedef FrameQBufMgr_CreateParams_Tag FrameQBufMgr_CreateParams
 Common parameters required to create FrameQBufMgr instance of any implementation. It should be the first element of the actual implementaton params structure .
typedef FrameQBufMgr_CommonOpenParams_Tag FrameQBufMgr_CommonOpenParams
 Common parameters required to open a FrameQBufMgr instance of any implementation.
typedef FrameQBufMgr_Params FrameQBufMgr_Params
 Common parameters required to create FrameQBufMgr instance of any implementation. It should be the first element of the actual implementaton params structure .
typedef FrameQBufMgr_FrameBufParams_Tag FrameQBufMgr_FrameBufParams
 Frame buffer param structure.
typedef void(* FrameQBufMgr_NotifyFunc )(FrameQBufMgr_Handle, Ptr arg, UInt32)
 Prototype of the FrameQBufMgr call back function.
typedef FrameQBufMgr_NotifyParams_Tag FrameQBufMgr_NotifyParams
 Structure defining notification parameter structure.

Enumerations

enum  FrameQBufMgr_CpuAccessFlags_Tag {
  FrameQBufMgr_FRAMEBUF0_CPUACCESS = 0x10000, FrameQBufMgr_FRAMEBUF1_CPUACCESS = 0x20000, FrameQBufMgr_FRAMEBUF2_CPUACCESS = 0x40000, FrameQBufMgr_FRAMEBUF3_CPUACCESS = 0x80000,
  FrameQBufMgr_FRAMEBUF4_CPUACCESS = 0x100000, FrameQBufMgr_FRAMEBUF5_CPUACCESS = 0x200000, FrameQBufMgr_FRAMEBUF6_CPUACCESS = 0x400000, FrameQBufMgr_FRAMEBUF7_CPUACCESS = 0x800000
}
 Enumeration of CPU access flags for frame buffers. For frame headers CPUACCESS is assumed to be TRUE.. More...
enum  FrameQBufMgr_BufType_Tag { FrameQBufMgr_BUF_FRAMEHEADER = 0u, FrameQBufMgr_BUF_FRAMEBUF = 1u, FrameQBufMgr_BUF_ENDVALUE = 2u }
 Denotes the type of buffer. More...
enum  FrameQBufMgr_AddrType_Tag { FrameQBufMgr_AddrType_Virtual = 0u, FrameQBufMgr_AddrType_Portable = 1u, FrameQBufMgr_AddrType_EndValue = 2u }
 Enumerations to indicate address types used for translation. More...
enum  FrameQBufMgr_Interface_Tag { FrameQBufMgr_INTERFACE_SHAREDMEM = 0x0, FrameQBufMgr_INTERFACE_NONE = 0x1 }
 Enumeration of FrameQBufMgr interface types.Denotes different implementation types. More...
enum  FrameQBufMgr_FrameHeaderInterface_Tag { FrameQBufMgr_HDRINTERFACE_SHAREDMEM = 0x0, FrameQBufMgr_HDRINTERFACE_NONE = 0x1 }
 Enumeration of FrameQBufMgr interface types.Denotes different implementation types. More...
enum  FrameQBufMgr_FrameBufferInterface_Tag { FrameQBufMgr_BUFINTERFACE_SHAREDMEM = 0x0, FrameQBufMgr_BUFINTERFACE_TILERMEM = 0x1, FrameQBufMgr_BUFINTERFACE_NONE = 0x2 }
 Enumeration of FrameQBufMgr interface types.Denotes different implementation types. More...

Functions

FrameQBufMgr_Handle FrameQBufMgr_create (Ptr params)
 Function to create FrameQBufMgr instance.
Int32 FrameQBufMgr_delete (FrameQBufMgr_Handle *pHandle)
 Function to delete FrameQBufMgr instance.
Int32 FrameQBufMgr_open (FrameQBufMgr_Handle *handlePtr, Ptr openParams)
 Function to open the created FrameQBufMgr instance.
Int32 FrameQBufMgr_openByAddr (FrameQBufMgr_Handle *handlePtr, Ptr openParams)
 Function to open the created FrameQBufMgr instance using the address provided in open params.
Int32 FrameQBufMgr_close (FrameQBufMgr_Handle *pHandle)
 Function to close the opened FrameQBufMgr instance.
Int32 FrameQBufMgr_alloc (FrameQBufMgr_Handle handle, FrameQBufMgr_Frame *frame)
 Function to allocate frame from free frame pool zero.
Int32 FrameQBufMgr_allocv (FrameQBufMgr_Handle handle, FrameQBufMgr_Frame framePtr[], UInt32 freeQId[], UInt8 *numFrames)
 Function to allocate multiple frames from the FrameQbufMgr instance..
Int32 FrameQBufMgr_free (FrameQBufMgr_Handle handle, FrameQBufMgr_Frame frame)
 Function to free frame.
Int32 FrameQBufMgr_freev (FrameQBufMgr_Handle handle, FrameQBufMgr_Frame framePtr[], UInt32 numFrames)
 Function to free multiple frames to the FrameQBufMgr.
Ptr FrameQBufMgr_add (FrameQBufMgr_Handle handle, UInt8 freeQId)
 Function to add frame.
Int32 FrameQBufMgr_remove (FrameQBufMgr_Handle handle, UInt8 freeQId, FrameQBufMgr_Frame framePtr)
 Function to remove frame.
Int32 FrameQBufMgr_dup (FrameQBufMgr_Handle handle, FrameQBufMgr_Frame framePtr, FrameQBufMgr_Frame dupedFramePtr[], UInt32 numDupedFrames)
 Function to duplicate the frame.
Int32 FrameQBufMgr_dupv (FrameQBufMgr_Handle handle, FrameQBufMgr_Frame framePtr[], FrameQBufMgr_Frame **dupedFramePtr, UInt32 numDupedFrames, UInt32 numFrames)
 Function to duplicate the multiple frames.
Int32 FrameQBufMgr_registerNotifier (FrameQBufMgr_Handle handle, FrameQBufMgr_NotifyParams *notifyParams)
 Function to register call back function for notification.
Int32 FrameQBufMgr_unregisterNotifier (FrameQBufMgr_Handle handle)
 Function to unregister call back function.
Int32 FrameQBufMgr_writeBack (FrameQBufMgr_Handle handle, FrameQBufMgr_Frame framePtr)
 Function to write back the frame.
Int32 FrameQBufMgr_writeBackBuf (FrameQBufMgr_Handle handle, Ptr buf, UInt32 flags)
 Write back the contents of buffer.
Int32 FrameQBufMgr_invalidate (FrameQBufMgr_Handle handle, FrameQBufMgr_Frame framePtr)
 Function to invalidate frame.
Int32 FrameQBufMgr_invalidateFrameBuf (FrameQBufMgr_Handle handle, Ptr frameBuf, UInt32 size, UInt8 bufIndexInFrame)
 Function to invalidate frame buffer.
Int32 FrameQBufMgr_writeBackFrameBuf (FrameQBufMgr_Handle handle, Ptr frameBuf, UInt32 size, UInt8 bufIndexInFrame)
 Function to writeback frame buffer.
Int32 FrameQBufMgr_invalidateHeaderBuf (FrameQBufMgr_Handle handle, Ptr headerBuf)
 Invalidate the contents of frame header.
Int32 FrameQBufMgr_writeBackHeaderBuf (FrameQBufMgr_Handle handle, Ptr headerBuf)
 Write back the contents of frame header.
Int32 FrameQBufMgr_translateAddr (FrameQBufMgr_Handle handle, Ptr *dstAddr, FrameQBufMgr_AddrType dstAddrType, Ptr srcAddr, FrameQBufMgr_AddrType srcAddrType, FrameQBufMgr_BufType bufType)
 API to translate the given pointer to other address type.
UInt32 FrameQBufMgr_getId (FrameQBufMgr_Handle handle)
 API to get the ID of the instance.
Ptr FrameQBufMgr_getHandle (UInt32 Id)
 API to get the handle of the instance.
Bool FrameQBufMgr_isCacheEnabledForHeaderBuf (FrameQBufMgr_Handle handle)
 Function to determine whether cache calls(writeback/invalidate) are enabled for frame headers.
Bool FrameQBufMgr_isCacheEnabledForFrameBuf (FrameQBufMgr_Handle handle, UInt8 framebufIndex)
 Function to determine whether cache calls(writeback/invalidate) are enabled for frame headers.
Int32 FrameQBufMgr_getNumFreeFrames (FrameQBufMgr_Handle handle, UInt32 *numFreeFrames)
 Function to get the number of free frames availabel in pool 0.
Int32 FrameQBufMgr_control (FrameQBufMgr_Handle handle, Int32 cmd, Ptr arg)
 Provides a hook to perform implementation dependent operation.
UInt32 FrameQBufMgr_getBaseHeaderSize (UInt8 numFrameBufs)
 Function to calcaulate the base frame header size when number of frames in a frame is given.
Ptr FrameQBufMgr_getKnlHandle (FrameQBufMgr_Handle handle)
 Function to get the kernel space handle of the instance.


Define Documentation

#define FrameQBufMgr_E_ACCESSDENIED   -13
 

Operation can not be permitted or not implemented.

Definition at line 143 of file FrameQBufMgr.h.

#define FrameQBufMgr_E_ALLOC_ALLFRAMES   -22
 

Not able to allocate the requested frames.Able to allocate only few frames.

Definition at line 189 of file FrameQBufMgr.h.

#define FrameQBufMgr_E_ALLOC_BUF   -5
 

Failed to allocate buffer.

Definition at line 103 of file FrameQBufMgr.h.

#define FrameQBufMgr_E_ALLOC_FRAME   -21
 

Failed to allocate frame.

Definition at line 183 of file FrameQBufMgr.h.

#define FrameQBufMgr_E_ALLOC_MEMORY   -6
 

Failed to allocate memory.

Definition at line 108 of file FrameQBufMgr.h.

#define FrameQBufMgr_E_CLIENTN0TIFYMGR_OPEN   -9
 

ClientNotifyMgr open failed.

Definition at line 123 of file FrameQBufMgr.h.

#define FrameQBufMgr_E_CREATE_GATEMP   -10
 

Creation of GateMP failed.

Definition at line 128 of file FrameQBufMgr.h.

#define FrameQBufMgr_E_CREATE_NAMESERVER   -7
 

Name server create failed for the module.

Definition at line 113 of file FrameQBufMgr.h.

#define FrameQBufMgr_E_FAIL   -1
 

General Failure.

Definition at line 83 of file FrameQBufMgr.h.

#define FrameQBufMgr_E_FAIL_CLIENTN0TIFYMGR_CREATE   -8
 

ClientNotifyMgr create failed.

Definition at line 118 of file FrameQBufMgr.h.

#define FrameQBufMgr_E_INST_EXISTS   -4
 

FrameQBufMgr instance already exists.

Definition at line 98 of file FrameQBufMgr.h.

#define FrameQBufMgr_E_INSUFFICIENT_HDRBUFS   -20
 

Insufficient header buffers.

Definition at line 178 of file FrameQBufMgr.h.

#define FrameQBufMgr_E_INVALID_BUFINTERFACETYPE   -25
 

Invalid frame buffer interface type specified.see enum FrameQBufMgr_FrameBufferInterface for the supported types.

Definition at line 206 of file FrameQBufMgr.h.

#define FrameQBufMgr_E_INVALID_HDRINTERFACETYPE   -24
 

Invalid Header buffer interface type specified.see enum FrameQBufMgr_FrameHeaderInterface for the supported types.

Definition at line 200 of file FrameQBufMgr.h.

#define FrameQBufMgr_E_INVALID_INTERFACE   -18
 

Unsupported interface type.

Definition at line 168 of file FrameQBufMgr.h.

#define FrameQBufMgr_E_INVALID_MEMMGRTYPE   -23
 

Invalid MemMgr type specified.

Definition at line 194 of file FrameQBufMgr.h.

#define FrameQBufMgr_E_INVALIDARG   -2
 

Invalid arguments are passed to FrameQBufMgr API.

Definition at line 88 of file FrameQBufMgr.h.

#define FrameQBufMgr_E_INVALIDSTATE   -15
 

Module is not initialized.

Definition at line 153 of file FrameQBufMgr.h.

#define FrameQBufMgr_E_MAX_CLIENTS   -12
 

Maximum instances limit reached.

Definition at line 138 of file FrameQBufMgr.h.

#define FrameQBufMgr_E_MAXINSTANCES   -17
 

Max instances limit reached. Can not create instance.

Definition at line 163 of file FrameQBufMgr.h.

#define FrameQBufMgr_E_NAMESERVERADD   -33
 

NameServer_add failed.

Definition at line 211 of file FrameQBufMgr.h.

#define FrameQBufMgr_E_NOTFOUND   -3
 

Instance not found.

Definition at line 93 of file FrameQBufMgr.h.

#define FrameQBufMgr_E_NOTIMPLEMENTED   -14
 

API is not implemented.

Definition at line 148 of file FrameQBufMgr.h.

#define FrameQBufMgr_E_OPEN_GATEMP   -11
 

GateMP open failed.

Definition at line 133 of file FrameQBufMgr.h.

#define FrameQBufMgr_E_OPEN_NAMESERVER   -19
 

Failed to open NameServer.

Definition at line 173 of file FrameQBufMgr.h.

#define FrameQBufMgr_E_OSFAILURE   -16
 

Failure in OS call.

Definition at line 158 of file FrameQBufMgr.h.

#define FrameQBufMgr_FrameBufInfo   Frame_FrameBufInfo
 

Definition at line 223 of file FrameQBufMgr.h.

#define FrameQBufMgr_FrameHeader   Frame_FrameHeader
 

Defines the frame header structure.

Definition at line 228 of file FrameQBufMgr.h.

#define FrameQBufMgr_MAX_FRAMEBUFS   (8)
 

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

Definition at line 254 of file FrameQBufMgr.h.

#define FrameQBufMgr_MAX_FRAMESINVAPI   (FrameQ_MAX_FRAMESINVAPI)
 

Macro used in FrameQ for sorting of passed parameters in V API. In FrameQBufMgr_allocv case this denotes the number of frames that can be allocated in one call.

Definition at line 291 of file FrameQBufMgr.h.

#define FrameQBufMgr_MAX_POOLS   (64u)
 

Maximum number of free frame pools to be maintained in a instance.

Definition at line 248 of file FrameQBufMgr.h.

#define FrameQBufMgr_MAXINSTANCES   (64u)
 

Maximum number of instances managed by FrameQBufMgr module.

Definition at line 243 of file FrameQBufMgr.h.

#define FrameQBufMgr_MAXNAMELEN   (32u)
 

Maximum length of the name string in bytes.

Definition at line 238 of file FrameQBufMgr.h.

#define FrameQBufMgr_NOTIFY_RESERVED_EVENTNO   (0u)
 

Notify Event Number to be used by FrameQBufMgr module.

Definition at line 283 of file FrameQBufMgr.h.

#define FrameQBufMgr_POOL_DYNAMIC_MAXFRAMES   (1)
 

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

Definition at line 272 of file FrameQBufMgr.h.

#define FrameQBufMgr_POOL_DYNAMIC_MAXHDRS   (1)
 

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

Definition at line 278 of file FrameQBufMgr.h.

#define FrameQBufMgr_POOL_MAXFRAMES   (32)
 

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

Definition at line 260 of file FrameQBufMgr.h.

#define FrameQBufMgr_POOL_MAXHDRS   (64)
 

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

Definition at line 266 of file FrameQBufMgr.h.

#define FrameQBufMgr_S_ALREADYDESTROYED   2
 

Indicates module has been already destroyed.

Definition at line 68 of file FrameQBufMgr.h.

#define FrameQBufMgr_S_ALREADYSETUP   1
 

Indicates module is already setup.

Definition at line 73 of file FrameQBufMgr.h.

#define FrameQBufMgr_S_SUCCESS   0
 

Operation successful.

Definition at line 78 of file FrameQBufMgr.h.


Typedef Documentation

typedef enum FrameQBufMgr_AddrType_Tag FrameQBufMgr_AddrType
 

Enumerations to indicate address types used for translation.

typedef enum FrameQBufMgr_BufType_Tag FrameQBufMgr_BufType
 

Denotes the type of buffer.

typedef struct FrameQBufMgr_CommonOpenParams_Tag FrameQBufMgr_CommonOpenParams
 

Common parameters required to open a FrameQBufMgr instance of any implementation.

typedef enum FrameQBufMgr_CpuAccessFlags_Tag FrameQBufMgr_CpuAccessFlags
 

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

typedef struct FrameQBufMgr_CreateParams_Tag FrameQBufMgr_CreateParams
 

Common parameters required to create FrameQBufMgr instance of any implementation. It should be the first element of the actual implementaton params structure .

typedef Frame_FrameHeader* FrameQBufMgr_Frame
 

Defines the type for a frame pointer.

Definition at line 233 of file FrameQBufMgr.h.

typedef enum FrameQBufMgr_FrameBufferInterface_Tag FrameQBufMgr_FrameBufferInterface
 

Enumeration of FrameQBufMgr interface types.Denotes different implementation types.

typedef struct FrameQBufMgr_FrameBufParams_Tag FrameQBufMgr_FrameBufParams
 

Frame buffer param structure.

typedef enum FrameQBufMgr_FrameHeaderInterface_Tag FrameQBufMgr_FrameHeaderInterface
 

Enumeration of FrameQBufMgr interface types.Denotes different implementation types.

typedef struct FrameQBufMgr_Object* FrameQBufMgr_Handle
 

Handle for the FrameQBufMgr instance.

Definition at line 216 of file FrameQBufMgr.h.

typedef enum FrameQBufMgr_Interface_Tag FrameQBufMgr_Interface
 

Enumeration of FrameQBufMgr interface types.Denotes different implementation types.

typedef void(* FrameQBufMgr_NotifyFunc)(FrameQBufMgr_Handle, Ptr arg, UInt32)
 

Prototype of the FrameQBufMgr call back function.

Definition at line 476 of file FrameQBufMgr.h.

typedef struct FrameQBufMgr_NotifyParams_Tag FrameQBufMgr_NotifyParams
 

Structure defining notification parameter structure.

typedef struct FrameQBufMgr_Params FrameQBufMgr_Params
 

Common parameters required to create FrameQBufMgr instance of any implementation. It should be the first element of the actual implementaton params structure .


Enumeration Type Documentation

enum FrameQBufMgr_AddrType_Tag
 

Enumerations to indicate address types used for translation.

Enumerator:
FrameQBufMgr_AddrType_Virtual  Virtual address on calling process on DSP where MMU is not configured it could be the physical address.
FrameQBufMgr_AddrType_Portable  This is the shared region address incase sharedmemory manager plugged in to frameQbufMgr. In case of tiler it could be the tiler specific portable address
FrameQBufMgr_AddrType_EndValue  End delimiter indicating start of invalid values for this enum

Definition at line 352 of file FrameQBufMgr.h.

00352                                       {
00353     FrameQBufMgr_AddrType_Virtual  = 0u,
00354     /*!< Virtual address on calling process on DSP where MMU is not configured
00355      *   it could be the physical address.
00356      */
00357     FrameQBufMgr_AddrType_Portable = 1u,
00358     /*!< This is the shared region address incase sharedmemory manager plugged
00359      *   in to frameQbufMgr. In case of tiler it could be the tiler specific
00360      *   portable address
00361      */
00362     FrameQBufMgr_AddrType_EndValue = 2u
00363     /*!< End delimiter indicating start of invalid values for this enum*/
00364 }FrameQBufMgr_AddrType;

enum FrameQBufMgr_BufType_Tag
 

Denotes the type of buffer.

Enumerator:
FrameQBufMgr_BUF_FRAMEHEADER  Denotes buffer is of type used for frame headers.
FrameQBufMgr_BUF_FRAMEBUF  Denotes buffer is of type used for frame buffers
FrameQBufMgr_BUF_ENDVALUE  End delimiter indicating start of invalid values for this enum

Definition at line 340 of file FrameQBufMgr.h.

00340                                       {
00341     FrameQBufMgr_BUF_FRAMEHEADER = 0u,
00342     /*!< Denotes buffer is  of type used for frame headers. */
00343     FrameQBufMgr_BUF_FRAMEBUF    = 1u,
00344     /*!< Denotes buffer is  of type used for frame buffers */
00345     FrameQBufMgr_BUF_ENDVALUE    = 2u
00346     /*!< End delimiter indicating start of invalid values for this enum */
00347 }FrameQBufMgr_BufType;

enum FrameQBufMgr_CpuAccessFlags_Tag
 

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

Enumerator:
FrameQBufMgr_FRAMEBUF0_CPUACCESS  If specified first frame buffer is accessed through CPU (direct memory access).
FrameQBufMgr_FRAMEBUF1_CPUACCESS  If specified second frame buffer is accessed through CPU (direct memory access).
FrameQBufMgr_FRAMEBUF2_CPUACCESS  If specified third frame buffer is accessed through CPU (direct memory access).
FrameQBufMgr_FRAMEBUF3_CPUACCESS  If specified fourth frame buffer is accessed through CPU (direct memory access).
FrameQBufMgr_FRAMEBUF4_CPUACCESS  If specified fifth frame buffer is accessed through CPU (direct memory access).
FrameQBufMgr_FRAMEBUF5_CPUACCESS  If specified sixth frame buffer is accessed through CPU (direct memory access).
FrameQBufMgr_FRAMEBUF6_CPUACCESS  If specified seventh frame buffer is accessed through CPU (direct memory access).
FrameQBufMgr_FRAMEBUF7_CPUACCESS  If specified eighth frame buffer is accessed through CPU (direct memory access).

Definition at line 302 of file FrameQBufMgr.h.

00302                                              {
00303         FrameQBufMgr_FRAMEBUF0_CPUACCESS    =  0x10000,
00304         /*!< If specified first frame buffer is accessed  through CPU
00305          *  (direct memory access).
00306          */
00307         FrameQBufMgr_FRAMEBUF1_CPUACCESS    =  0x20000,
00308         /*!< If specified second frame buffer is accessed  through CPU
00309          *   (direct memory access).
00310          */
00311         FrameQBufMgr_FRAMEBUF2_CPUACCESS    =  0x40000,
00312         /*!< If specified third frame buffer is accessed  through CPU
00313          *   (direct memory access).
00314          */
00315         FrameQBufMgr_FRAMEBUF3_CPUACCESS    =  0x80000,
00316         /*!< If specified fourth frame buffer is accessed  through CPU
00317          *   (direct memory access).
00318          */
00319         FrameQBufMgr_FRAMEBUF4_CPUACCESS    = 0x100000,
00320         /*!< If specified fifth frame buffer is accessed  through CPU
00321          *   (direct memory access).
00322          */
00323         FrameQBufMgr_FRAMEBUF5_CPUACCESS    = 0x200000,
00324         /*!< If specified sixth frame buffer is accessed  through CPU
00325          *   (direct memory access).
00326          */
00327         FrameQBufMgr_FRAMEBUF6_CPUACCESS    = 0x400000,
00328         /*!< If specified seventh frame buffer is accessed  through CPU
00329          *   (direct memory access).
00330          */
00331         FrameQBufMgr_FRAMEBUF7_CPUACCESS    = 0x800000
00332         /*!< If specified eighth frame buffer is accessed  through CPU
00333          *   (direct memory access).
00334          */
00335 } FrameQBufMgr_CpuAccessFlags;

enum FrameQBufMgr_FrameBufferInterface_Tag
 

Enumeration of FrameQBufMgr interface types.Denotes different implementation types.

Enumerator:
FrameQBufMgr_BUFINTERFACE_SHAREDMEM  Denotes FrameQNufMgr implementation (FrameQBufMgr_ShMem Implementation) on shared memory.
FrameQBufMgr_BUFINTERFACE_TILERMEM  valid only on RTOS side for Netra platform. Not valid on HLOS side.
FrameQBufMgr_BUFINTERFACE_NONE 

Definition at line 394 of file FrameQBufMgr.h.

00394                                                    {
00395     FrameQBufMgr_BUFINTERFACE_SHAREDMEM = 0x0,
00396     /*!< Denotes FrameQNufMgr implementation (FrameQBufMgr_ShMem
00397      * Implementation) on shared memory.
00398      */
00399     FrameQBufMgr_BUFINTERFACE_TILERMEM = 0x1,
00400     /*!< valid only on RTOS side for Netra platform. Not valid on HLOS side.
00401      */
00402     FrameQBufMgr_BUFINTERFACE_NONE      = 0x2
00403 } FrameQBufMgr_FrameBufferInterface;

enum FrameQBufMgr_FrameHeaderInterface_Tag
 

Enumeration of FrameQBufMgr interface types.Denotes different implementation types.

Enumerator:
FrameQBufMgr_HDRINTERFACE_SHAREDMEM  Denotes FrameQNufMgr headers are from shared memory.Address translations will be done using shared region.
FrameQBufMgr_HDRINTERFACE_NONE 

Definition at line 382 of file FrameQBufMgr.h.

00382                                                    {
00383     FrameQBufMgr_HDRINTERFACE_SHAREDMEM = 0x0,
00384     /*!< Denotes FrameQNufMgr headers are from shared memory.Address translations
00385      *  will be done using shared region.
00386      */
00387     FrameQBufMgr_HDRINTERFACE_NONE      = 0x1
00388 } FrameQBufMgr_FrameHeaderInterface;

enum FrameQBufMgr_Interface_Tag
 

Enumeration of FrameQBufMgr interface types.Denotes different implementation types.

Enumerator:
FrameQBufMgr_INTERFACE_SHAREDMEM  Denotes FrameQNufMgr implementation (FrameQBufMgr_ShMem Implementation) on shared memory.
FrameQBufMgr_INTERFACE_NONE 

Definition at line 370 of file FrameQBufMgr.h.

00370                                         {
00371     FrameQBufMgr_INTERFACE_SHAREDMEM = 0x0,
00372     /*!< Denotes FrameQNufMgr implementation (FrameQBufMgr_ShMem
00373      * Implementation) on shared memory.
00374      */
00375     FrameQBufMgr_INTERFACE_NONE      = 0x1
00376 } FrameQBufMgr_Interface;


Function Documentation

Ptr FrameQBufMgr_add FrameQBufMgr_Handle  handle,
UInt8  freeQId
 

Function to add frame.

This function is to add free frames dynamically to the given pool id (freeQId). NOTE: API is not implemented.

Int32 FrameQBufMgr_alloc FrameQBufMgr_Handle  handle,
FrameQBufMgr_Frame frame
 

Function to allocate frame from free frame pool zero.

This function allocates a frame when called by FrameQBufMgr. from free Frame Pool zero.

Parameters:
handle FrameQBufMgr handle.
frame Location to receive the allocated frame.
Return values:
FrameQBufMgr_S_SUCCESS Successfully allocated frame.
FrameQBufMgr_E_FAIL Invalid buffer interface type.
FrameQBufMgr_E_ALLOC_FRAME Free frames are not available to allocate.
FrameQBufMgr_E_INVALIDARG framePtr paased is null.
FrameQBufMgr_E_INVALIDARG handle passed is null.
FrameQBufMgr_E_ACCESSDENIED Provided handle can not allocate frames. Only writer can allocate frames.
FrameQBufMgr_E_INVALIDSTATE Module is not initialized.
See also:
FrameQ_alloc, FrameQ_free, FrameQBufMgr_free.

Int32 FrameQBufMgr_allocv FrameQBufMgr_Handle  handle,
FrameQBufMgr_Frame  framePtr[],
UInt32  freeQId[],
UInt8 numFrames
 

Function to allocate multiple frames from the FrameQbufMgr instance..

This function allocates frames from multiple free pools.This API allocates all the frames requested if available other wise returns failure.

Parameters:
handle FrameQBufMgr handle.
framePtr Array to receive pointers to allocated frames..
freeQId Array of free frame pool nos of the FrameQBufMgr from from which this API needs to allocate free frames .
numFrames Number of frames that needs to be allocated.
Return values:
FrameQBufMgr_S_SUCCESS Successfully allocated frames.
FrameQBufMgr_E_ALLOC_FRAME Failed due to non availabilty of free frames in free frame pool.
FrameQBufMgr_E_INVALIDARG framePtr passed is null.
FrameQBufMgr_E_INVALIDARG handle passed is null.
FrameQBufMgr_E_INVALIDARG freeQId passed is null.
FrameQBufMgr_E_INVALIDARG numFrames passed is null.
FrameQBufMgr_E_INVALIDSTATE Module is not initialized.
See also:
FrameQ_allocv, FrameQ_freev, FrameQBufMgr_freev.

Int32 FrameQBufMgr_close FrameQBufMgr_Handle pHandle  ) 
 

Function to close the opened FrameQBufMgr instance.

This function closes FrameQBufMgr instance that is opened.

Parameters:
pHandle Pointer to the opened FrameQBufMgr instance handle.
Return values:
FrameQBufMgr_S_SUCCESS Close successful.
FrameQBufMgr_E_INVALIDARG Pointer to Handle passed is null.
FrameQBufMgr_E_INVALIDARG Handle passed is null.
FrameQBufMgr_E_ACCESSDENIED Invalid handle passed.
See also:
FrameQBufMgr_create, FrameQBufMgr_open and FrameQBufMgr_delete.

Int32 FrameQBufMgr_control FrameQBufMgr_Handle  handle,
Int32  cmd,
Ptr  arg
 

Provides a hook to perform implementation dependent operation.

Parameters:
handle Instance handle.
cmd Command to perform.
arg void * argument.
Return values:
FrameQBufMgr_S_SUCCESS Operation successful.
FrameQBufMgr_E_FAIL API failed.

FrameQBufMgr_Handle FrameQBufMgr_create Ptr  params  ) 
 

Function to create FrameQBufMgr instance.

This function create a new instance of FrameQBufMgr. It creates frameQBufMgr based on the params specific to implementation.

Parameters:
params pointer to implementation specific params.
Return values:
Handle Instance handle.
NULL Create failed.
See also:
FrameQBufMgr_Shmem_params, FrameQBufMgr_delete(), FrameQBufMgr_open() and FrameQBufMgr_close.

Int32 FrameQBufMgr_delete FrameQBufMgr_Handle pHandle  ) 
 

Function to delete FrameQBufMgr instance.

This function delets FrameQBufMgr instance that is created.

Parameters:
pHandle Pointer to the created frameQ instance handle.
Return values:
FrameQBufMgr_S_SUCCESS Delete successful.
FrameQBufMgr_E_FAIL Delete failed.
FrameQBufMgr_E_INVALIDARG Pointer to Handle passed is null.
FrameQBufMgr_E_INVALIDARG Handle passed is null.
See also:
FrameQBufMgr_create(), FrameQBufMgr_open() and FrameQBufMgr_close.

Int32 FrameQBufMgr_dup FrameQBufMgr_Handle  handle,
FrameQBufMgr_Frame  framePtr,
FrameQBufMgr_Frame  dupedFramePtr[],
UInt32  numDupedFrames
 

Function to duplicate the frame.

This function duplicates the given frame and returns the duplicated frame. It internally allocates one Frame header buffer and copy the header info to the allocated header buffer and returns it. it also increments the reference count of the original frame by 1 as both original frame and duped frmae are pointing to the same frame buffers.

Parameters:
handle FrameQBufMgr instance handle.
framePtr Original frame that needs to be duplicated.
dupedFramePtr Location to receive the duped frames.
numDupedFrames Number of duplicated frames required.
Return values:
FrameQBufMgr_S_SUCCESS Successfully duped frame.
FrameQBufMgr_E_FAIL dup failed.
FrameQBufMgr_E_INVALIDARG framePtr passed is null.
FrameQBufMgr_E_INVALIDARG handle passed is null.
FrameQBufMgr_E_INVALIDARG dupedFramePtr passed is null.
FrameQBufMgr_E_INVALIDSTATE Module is not initialized.
See also:
FrameQ_dup, FrameQBufMgr_alloc, FrameQBufMgr_allocv

Int32 FrameQBufMgr_dupv FrameQBufMgr_Handle  handle,
FrameQBufMgr_Frame  framePtr[],
FrameQBufMgr_Frame **  dupedFramePtr,
UInt32  numDupedFrames,
UInt32  numFrames
 

Function to duplicate the multiple frames.

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

Parameters:
handle Instance handle.
framePtr Array of frames to duplicated.
dupedFramePtr Location to receive duplicated frames.
numDupedFrames Number of duplicated frames required for each given frame.
numFrames Number of original frames that needs to be duplicated.
Return values:
FrameQBufMgr_S_SUCCESS Successfully duped frame.
FrameQBufMgr_E_FAIL dup failed.
FrameQBufMgr_E_INVALIDARG framePtr passed is null.
FrameQBufMgr_E_INVALIDARG handle passed is null.
FrameQBufMgr_E_INVALIDARG dupedFramePtr passed is null.
FrameQBufMgr_E_INVALIDSTATE Module is not initialized.
See also:
FrameQ_dup, FrameQBufMgr_alloc, FrameQBufMgr_allocv, FrameQBufMgr_dup

Int32 FrameQBufMgr_free FrameQBufMgr_Handle  handle,
FrameQBufMgr_Frame  frame
 

Function to free frame.

This function frees a frame.

Parameters:
handle FrameQBufMgr instance handle.
frame Frame to be freed.
Return values:
FrameQBufMgr_S_SUCCESS Successfully freed frame.
FrameQBufMgr_E_FAIL Free failed.
FrameQBufMgr_E_INVALIDARG frame passed is null.
FrameQBufMgr_E_INVALIDARG handle passed is null.
FrameQBufMgr_E_INVALIDSTATE Module is not initialized.
See also:
FrameQ_free, FrameQBufMgr_alloc

Int32 FrameQBufMgr_freev FrameQBufMgr_Handle  handle,
FrameQBufMgr_Frame  framePtr[],
UInt32  numFrames
 

Function to free multiple frames to the FrameQBufMgr.

This function frees multiple frames to the FrameQBufMgr instance.

Parameters:
handle FrameQBufMgr instance handle.
framePtr Array of frames to be freed.
numFrames Number of frames to free. The size of the framePtr should be at least numFrames.
Return values:
FrameQBufMgr_S_SUCCESS Successfully freed frames.
FrameQBufMgr_E_FAIL Freev failed.
FrameQBufMgr_E_INVALIDARG framePtr passed is null.
FrameQBufMgr_E_INVALIDARG handle passed is null.
FrameQBufMgr_E_INVALIDSTATE Module is not initialized.
See also:
FrameQ_freev, FrameQBufMgr_allocv

UInt32 FrameQBufMgr_getBaseHeaderSize UInt8  numFrameBufs  ) 
 

Function to calcaulate the base frame header size when number of frames in a frame is given.

Parameters:
numFrameBufs Number of Frame buffers.
Return values:
positive value size of the base header size.

Ptr FrameQBufMgr_getHandle UInt32  Id  ) 
 

API to get the handle of the instance.

Parameters:
Id id of the instance.
Return values:
pointer handle of the instance.
NULL getHandle failed.

UInt32 FrameQBufMgr_getId FrameQBufMgr_Handle  handle  ) 
 

API to get the ID of the instance.

Parameters:
handle Handle to the instance.
Return values:
id Id of the instance.

Ptr FrameQBufMgr_getKnlHandle FrameQBufMgr_Handle  handle  ) 
 

Function to get the kernel space handle of the instance.

This API is valid only on HLOS side.

Parameters:
handle Handle of the instance.
Return values:
pointer Kernel space handle.

Int32 FrameQBufMgr_getNumFreeFrames FrameQBufMgr_Handle  handle,
UInt32 numFreeFrames
 

Function to get the number of free frames availabel in pool 0.

Parameters:
handle Instance handle.
numFreeFrames Out parameter.Denotes number of free frames available in queue 0.
Return values:
FrameQBufMgr_S_SUCCESS Operation successful.

Int32 FrameQBufMgr_invalidate FrameQBufMgr_Handle  handle,
FrameQBufMgr_Frame  framePtr
 

Function to invalidate frame.

Function to invalidate the contents of frame .

Parameters:
handle Instance handle.
framePtr frame to be invalidated from external memory.
Return values:
FrameQBufMgr_S_SUCCESS Operation successful.
FrameQBufMgr_E_INVALIDARG handle passed is null.
FrameQBufMgr_E_INVALIDARG framePtr passed is null.
FrameQBufMgr_E_INVALIDSTATE Module is not initialized.
See also:
FrameQBufMgr_writeback

Int32 FrameQBufMgr_invalidateFrameBuf FrameQBufMgr_Handle  handle,
Ptr  frameBuf,
UInt32  size,
UInt8  bufIndexInFrame
 

Function to invalidate frame buffer.

Function to invalidate the contents of frame buffer .

Parameters:
handle Instance handle.
frameBuf framebuffer pointer.
size Size to be invalidated.
bufIndexInFrame index of the frame buffer in the frame to which the buffer bellongs to.
Return values:
FrameQBufMgr_S_SUCCESS Operation successful.
FrameQBufMgr_E_INVALIDARG handle passed is null.
FrameQBufMgr_E_INVALIDARG frameBuf passed is null.
FrameQBufMgr_E_INVALIDSTATE Module is not initialized.
See also:
FrameQBufMgr_writeback

Int32 FrameQBufMgr_invalidateHeaderBuf FrameQBufMgr_Handle  handle,
Ptr  headerBuf
 

Invalidate the contents of frame header.

API treates the passed buffer as frame Header.

Parameters:
handle Handle to the instance.
headerBuf frame header to be invalidated.
Return values:
FrameQBufMgr_S_SUCCESS Operation successful.
FrameQBufMgr_E_INVALIDARG handle passed is null.
FrameQBufMgr_E_INVALIDARG headerBuf passed is null.
FrameQBufMgr_E_INVALIDSTATE Module is not initialized.

Bool FrameQBufMgr_isCacheEnabledForFrameBuf FrameQBufMgr_Handle  handle,
UInt8  framebufIndex
 

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

Parameters:
handle Instance handle.
framebufIndex frame buffer index in frame.
Return values:
TRUE if cache writeback and invalidate calls are enabled
FALSE if cache writeback and invalidate calls are disabled.

Bool FrameQBufMgr_isCacheEnabledForHeaderBuf FrameQBufMgr_Handle  handle  ) 
 

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

Parameters:
handle Instance handle.
Return values:
TRUE if cache writeback and invalidate calls are enabled
FALSE if cache writeback and invalidate calls are disabled.

Int32 FrameQBufMgr_open FrameQBufMgr_Handle handlePtr,
Ptr  openParams
 

Function to open the created FrameQBufMgr instance.

This function opens the FrameQBufMgr instance depending upon the open params passed to it.The instance must be created before opening it. Application is expected to pass the implementations specific open params for the openParams field.FrameQ_open internally calls this API to use the FrameQBufMgr instance to allocate frames ftom it.

Parameters:
handlePtr Return parameter.Instance opened in given mode.
openParams Pointer to implementation specific open params.
Return values:
FrameQBufMgr_S_SUCCESS open successful.
FrameQBufMgr_E_INVALIDARG Invalid parameter specified.
FrameQBufMgr_E_INVALIDSTATE Module is not initialized.
FrameQBufMgr_E_MEMORY Memory_alloc failed.
FrameQBufMgr_E_ALLOC_MEMORY Memory_alloc failed.
FrameQBufMgr_E_FRAMEQBUFMGROPEN FrameQBufMge instance open failed.
FrameQBufMgr_E_OPEN_GATEMP GateMP open failed.
FrameQBufMgr_E_CLIENTN0TIFYMGR_OPEN ClientNotifyMgr open failed.
FrameQBufMgr_E_NOTFOUND Instance not found in FrameQBufMgr Nameserver or instance is not crated at the shared address obtained internally.
FrameQBufMgr_E_FAIL Failed due to Both name is null and shared addr is null.
FrameQBufMgr_E_INVALID_HDRINTERFACETYPE Failed to create the Syslink memory manager for header buffers.
FrameQBufMgr_E_INVALID_BUFINTERFACETYPE Failed to create the Syslink memory manager for frame buffers.
See also:
FrameQBufMgr_ShMem_openParams, FrameQBufMgr_create(), FrameQBufMgr_delete() and FrameQBufMgr_close.

Int32 FrameQBufMgr_openByAddr FrameQBufMgr_Handle handlePtr,
Ptr  openParams
 

Function to open the created FrameQBufMgr instance using the address provided in open params.

This function opens the FrameQBufMgr instance depending upon the open params passed to it.The instance must be created before opening it. Application is expected to pass the implementations specific open params for the openParams field.

Parameters:
handlePtr Return parameter.Instance opened in given mode.
openParams Pointer to implementation specific open params.
Return values:
FrameQBufMgr_S_SUCCESS open successful.
FrameQBufMgr_E_INVALIDARG Invalid parameter specified.
FrameQBufMgr_E_INVALIDSTATE Module is not initialized.
FrameQBufMgr_E_MEMORY Memory_alloc failed.
FrameQBufMgr_E_ALLOC_MEMORY Memory_alloc failed.
FrameQBufMgr_E_FRAMEQBUFMGROPEN FrameQBufMge instance open failed.
FrameQBufMgr_E_OPEN_GATEMP GateMP open failed.
FrameQBufMgr_E_CLIENTN0TIFYMGR_OPEN ClientNotifyMgr open failed.
FrameQBufMgr_E_NOTFOUND Instance not found in FrameQBufMgr Nameserver or instance is not crated at the shared address obtained internally.
FrameQBufMgr_E_FAIL Failed due to shared addr is null.
FrameQBufMgr_E_INVALID_HDRINTERFACETYPE Failed to create the Syslink memory manager for header buffers.
FrameQBufMgr_E_INVALID_BUFINTERFACETYPE Failed to create the Syslink memory manager for frame buffers.
See also:
FrameQBufMgr_ShMem_openParams, FrameQBufMgr_create(), FrameQBufMgr_delete() and FrameQBufMgr_close.

Int32 FrameQBufMgr_registerNotifier FrameQBufMgr_Handle  handle,
FrameQBufMgr_NotifyParams notifyParams
 

Function to register call back function for notification.

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

Parameters:
handle Instance handle.
notifyParams notify params.
Return values:
FrameQBufMgr_S_SUCCESS Operation successful.
FrameQBufMgr_E_INVALIDARG handle passed is null.
FrameQBufMgr_E_INVALIDARG notifyParams passed is null.
FrameQBufMgr_E_INVALIDSTATE Module is not initialized.
FrameQBufMgr_E_FAIL Failed to register notification.
See also:
FrameQBufMgr_unregisterNotifier

Int32 FrameQBufMgr_remove FrameQBufMgr_Handle  handle,
UInt8  freeQId,
FrameQBufMgr_Frame  framePtr
 

Function to remove frame.

This function is to remove the frames that is added dynamically. NOTE: API is not implemented.

Int32 FrameQBufMgr_translateAddr FrameQBufMgr_Handle  handle,
Ptr dstAddr,
FrameQBufMgr_AddrType  dstAddrType,
Ptr  srcAddr,
FrameQBufMgr_AddrType  srcAddrType,
FrameQBufMgr_BufType  bufType
 

API to translate the given pointer to other address type.

Parameters:
handle Handle to the instance.
dstAddr Location to receive the destination address (translated address).
dstAddrType address type to which the source address needs to be translated to.
srcAddr Source address.
srcAddrType Address type of the source address.
bufType buffer type. Denotes source address specified is frame header or frame buffer.
Return values:
FrameQBufMgr_S_SUCCESS Operation successful.
FrameQBufMgr_E_FAIL Invalid buffer type specified in bufType.
FrameQBufMgr_E_FAIL Translate failed in SysLinkMemMgr. bufType.
FrameQBufMgr_E_INVALIDARG handle passed is null.
FrameQBufMgr_E_INVALIDARG dstAddr passed is null.
FrameQBufMgr_E_INVALIDARG srcAddr passed is null.
FrameQBufMgr_E_INVALIDSTATE Module is not initialized.

Int32 FrameQBufMgr_unregisterNotifier FrameQBufMgr_Handle  handle  ) 
 

Function to unregister call back function.

Function to Register notification with the instance. It internally unregisters notification with the individual free frame pools.

Parameters:
handle Instance handle.
Return values:
FrameQBufMgr_S_SUCCESS Successfully duped frame.
FrameQBufMgr_E_INVALIDARG handle passed is null.
FrameQBufMgr_E_INVALIDARG notifyParams passed is null.
FrameQBufMgr_E_INVALIDSTATE Module is not initialized.
FrameQBufMgr_E_FAIL Failed to register notification.
See also:
FrameQBufMgr_registerNotifier

Int32 FrameQBufMgr_writeBack FrameQBufMgr_Handle  handle,
FrameQBufMgr_Frame  framePtr
 

Function to write back the frame.

Function to write back the contents of buffer .

Parameters:
handle Instance handle.
framePtr frame to be written back to external memory.
Return values:
FrameQBufMgr_S_SUCCESS Operation successful.
FrameQBufMgr_E_INVALIDARG handle passed is null.
FrameQBufMgr_E_INVALIDARG framePtr passed is null.
FrameQBufMgr_E_INVALIDSTATE Module is not initialized.
See also:
FrameQBufMgr_invlidate

Int32 FrameQBufMgr_writeBackBuf FrameQBufMgr_Handle  handle,
Ptr  buf,
UInt32  flags
 

Write back the contents of buffer.

Function to write back the contents of buffer . Flags denotes whether it is header buffer or frame buffer..

Parameters:
handle Instance handle.
buf Buffer to be written back.
flags Flags denotes whether buf is a header buffer or frame buffer.
Return values:
FrameQBufMgr_S_SUCCESS Operation successful.
FrameQBufMgr_E_INVALIDARG handle passed is null.
FrameQBufMgr_E_INVALIDARG notifyParams passed is null.
FrameQBufMgr_E_INVALIDSTATE Module is not initialized.
See also:
FrameQBufMgr_invlidate

Int32 FrameQBufMgr_writeBackFrameBuf FrameQBufMgr_Handle  handle,
Ptr  frameBuf,
UInt32  size,
UInt8  bufIndexInFrame
 

Function to writeback frame buffer.

Function to writeback the contents of frame buffer .

Parameters:
handle Instance handle.
frameBuf framebuffer pointer.
size Size to be writtenback.
bufIndexInFrame index of the frame buffer in the frame to which the given buffer bellongs to.
Return values:
FrameQBufMgr_S_SUCCESS Operation successful.
FrameQBufMgr_E_INVALIDARG handle passed is null.
FrameQBufMgr_E_INVALIDARG frameBuf passed is null.
FrameQBufMgr_E_INVALIDSTATE Module is not initialized.
See also:
FrameQBufMgr_writeback

Int32 FrameQBufMgr_writeBackHeaderBuf FrameQBufMgr_Handle  handle,
Ptr  headerBuf
 

Write back the contents of frame header.

API treates the passed buffer as frame Header.

Parameters:
handle Handle to the instance.
headerBuf frame header to be written back.
Return values:
FrameQBufMgr_S_SUCCESS Operation successful.
FrameQBufMgr_E_INVALIDARG handle passed is null.
FrameQBufMgr_E_INVALIDARG headerBuf passed is null.
FrameQBufMgr_E_INVALIDSTATE Module is not initialized.


Generated on Mon Mar 14 11:59:46 2011 for Syslink by  doxygen 1.4.4