SysLink API Reference: Data Structures

SysLink API Reference 2.21.02.10
  • Main Page
  • Data Structures
  • Files
  • Related Pages
  • Data Structures
  • Data Structure Index
  • Data Fields
Data Structures
Here are the data structures with brief descriptions:
o C Frame_FrameBufInfo_tag | Structure to frame buffer informantion in frame header
o C Frame_FrameHeader_Tag | 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
o C FrameQ_CommonOpenParams_Tag | Common parameters required to open a FrameQ instance of any implementation
o C FrameQ_Config_Tag | Structure defining config parameters for the FrameQ module
o C 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
o C FrameQ_NotifyParams_Tag | Notification parameter structure
o C FrameQ_Params | Common parameters required to create FrameQ instance of any implementation. It should be the first element of the actual implementaton params structure
o C FrameQ_ShMem_OpenParams_tag | Structure defining open parameters for the FrameQ instance on ShMem (shared memory interface)
o C FrameQ_ShMem_Params_tag | Structure defining instance create parameters for the FrameQ on shared memory(inter core and intra core)
o C FrameQBufMgr_CommonOpenParams_Tag | Common parameters required to open a FrameQBufMgr instance of any implementation
o C FrameQBufMgr_Config_Tag | Structure defining module config parameters for the FrameQBufMgr module
o C FrameQBufMgr_CreateParams_Tag | Common parameters required to create FrameQBufMgr instance of any implementation
o C FrameQBufMgr_FrameBufParams_Tag | Frame buffer param structure
o C FrameQBufMgr_NotifyParams_Tag | Structure defining notification parameter structure
o C FrameQBufMgr_Params | Common parameters required to create FrameQBufMgr instance of any implementation
o C FrameQBufMgr_ShMem_OpenParams_tag | Structure defining open parameters for the FrameQ instance on ShMem (shared memory interface)
o C FrameQBufMgr_ShMem_Params_tag | Structure defining parameters for the FrameQ module
o C GateMP_Params | Structure defining parameters for the GateMP module
o C GateProcess_Params | Create parameter structure
o C GateProcess_ShMem | Shared memory structure used by instance
o C HeapBufMP_ExtendedStats | Stats structure for the HeapBufMP_getExtendedStats API
o C HeapBufMP_Params | Structure defining parameters for the HeapBufMP module
o C HeapMemMP_ExtendedStats | Stats structure for the HeapMemMP_getExtendedStats API
o C HeapMemMP_Params | Structure defining parameters for the HeapMemMP module
o C IGateProvider_Object |
o C IHeap_Object_tag | Structure for the Handle for the Heap
o C Ipc_Terminate | Argument for the Ipc_CONTROLCMD_SETTERMINATEPOLICY command
o C IpcMemMgr_Config_t | Structure defining config parameters for overall System
o C List_Elem_tag | Structure defining object for the list element
o C List_Object_tag | Structure defining object for the list
o C List_Params_tag | Structure defining params for the list
o C ListMP_Elem | Structure defining a ListMP element
o C ListMP_Params | Structure defining parameter structure for ListMP_create()
o C Memory_Stats_tag | Structure defining memory related statistics
o C MessageQ_MsgHeader | Required first field in every message
o C MessageQ_Params | Structure defining parameters for the MessageQ module
o C NameServer_Params | NameServer_Handle type
o C ProcMgr_AddrInfo_tag | This structure defines information about memory regions mapped by the ProcMgr module
o C ProcMgr_AttachParams_tag | Configuration parameters specific to the slave ProcMgr instance
o C ProcMgr_MappedMemEntry | Structure containing information of mapped memory regions
o C ProcMgr_ProcInfo_tag | Characteristics of the slave processor
o C ProcMgr_SectionInfo_tag | Characteristics of sections in executable
o C ProcMgr_StartParams_tag | Configuration parameters to be provided while starting the slave processor
o C ResTrack_Params | Structure defining params for creating an instance
o C RingIO_openParams_Tag | Structure defining config parameters for opening the RingIO instances
o C RingIO_Params_Tag | Common parameters required to create RingIO instance of any implementation. It should be the first element of the actual implementaton params structure
o C RingIO_sharedMemReqDetails_tag | Structure defining config parameters for opening the RingIO instances
o C RingIOShm_Params_Tag | Structure defining parameters for creating the RingIOShm instances
o C SharedRegion_Entry | Structure defining a region
o C SyslinkMemMgr_AllocBlock_tag |
o C SyslinkMemMgr_AllocParams_tag | Alloc params
\ C SyslinkMemMgr_CreateParams_tag | Structure defining common create parameters for the Memory manager module.Should be the first element in implementation specific create params
Copyright 2013, Texas Instruments Incorporated


SysLink API Reference: Frame_FrameBufInfo_tag Struct Reference

  • Files
  • Related Pages
  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
Frame_FrameBufInfo_tag Struct Reference

Structure to frame buffer informantion in frame header. More...

#include <FrameQDefs.h>

Collaboration diagram for Frame_FrameBufInfo_tag:

Data Fields

UInt32 bufPtr
UInt32 bufSize
UInt32 startOffset
UInt32 validSize
UInt32 pixelFormat
UInt32 height
UInt32 width
UInt32 stride

Detailed Description

Structure to frame buffer informantion in frame header.

Field Documentation

UInt32 Frame_FrameBufInfo_tag::bufPtr

Pointer to the frame buffer.

UInt32 Frame_FrameBufInfo_tag::bufSize

Size of the buffer.

UInt32 Frame_FrameBufInfo_tag::startOffset

Start offset in the buffer from where valid data starts.

UInt32 Frame_FrameBufInfo_tag::validSize

Valid size in the buffer from the zeroth offset in the frame buffer

UInt32 Frame_FrameBufInfo_tag::pixelFormat
UInt32 Frame_FrameBufInfo_tag::height
UInt32 Frame_FrameBufInfo_tag::width
UInt32 Frame_FrameBufInfo_tag::stride
The documentation for this struct was generated from the following file:
  • ti/syslink/FrameQDefs.h


SysLink API Reference: Frame_FrameHeader_Tag Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
Frame_FrameHeader_Tag Struct Reference

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. More...

#include <FrameQDefs.h>

Collaboration diagram for Frame_FrameHeader_Tag:

Data Fields

UInt32 reserved0
UInt32 reserved1
UInt16 baseHeaderSize
UInt16 headerSize
UInt32 frmAllocaterId
UInt32 frameBufType
UInt8 freeFrmQueueNo
UInt8 numFrameBuffers
Frame_FrameBufInfo frameBufInfo [1]

Detailed Description

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.

Field Documentation

UInt32 Frame_FrameHeader_Tag::reserved0

reserverd field

UInt32 Frame_FrameHeader_Tag::reserved1

reserverd field

UInt16 Frame_FrameHeader_Tag::baseHeaderSize

Size of the base frame header.

UInt16 Frame_FrameHeader_Tag::headerSize

Size of the frame header(total size of base header and extended header).

UInt32 Frame_FrameHeader_Tag::frmAllocaterId

Denotes the FrameQBufMgr Id from which frame is allocated.

UInt32 Frame_FrameHeader_Tag::frameBufType
UInt8 Frame_FrameHeader_Tag::freeFrmQueueNo

Free quque No from which frame is allocated in FrameQBufMgr.

UInt8 Frame_FrameHeader_Tag::numFrameBuffers

Number of framebuffers in frame.

Frame_FrameBufInfo Frame_FrameHeader_Tag::frameBufInfo[1]

Information of Frame buffers. see Frame_FrameBufInfo

The documentation for this struct was generated from the following file:
  • ti/syslink/FrameQDefs.h


SysLink API Reference: FrameQ_CommonOpenParams_Tag Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
FrameQ_CommonOpenParams_Tag Struct Reference

Common parameters required to open a FrameQ instance of any implementation. More...

#include <FrameQ.h>

Collaboration diagram for FrameQ_CommonOpenParams_Tag:

Data Fields

String name
Ptr sharedAddr
UInt32 openMode
UInt32 cpuAccessFlags

Detailed Description

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

Field Documentation

String FrameQ_CommonOpenParams_Tag::name

Name of the instance to open

Ptr FrameQ_CommonOpenParams_Tag::sharedAddr

Virtual shared Region addr in case open by address is required.

UInt32 FrameQ_CommonOpenParams_Tag::openMode

Mode of the client.

UInt32 FrameQ_CommonOpenParams_Tag::cpuAccessFlags

cpuAccessFlags flags to know if app is going to access frame buffers through CPU.

The documentation for this struct was generated from the following file:
  • ti/syslink/FrameQ.h


SysLink API Reference: FrameQ_Config_Tag Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
FrameQ_Config_Tag Struct Reference

Structure defining config parameters for the FrameQ module. More...

#include <FrameQ.h>

Collaboration diagram for FrameQ_Config_Tag:

Data Fields

UInt32 eventNo
UInt8 maxInstances
UInt32 usedefaultgate

Detailed Description

Structure defining config parameters for the FrameQ module.

Field Documentation

UInt32 FrameQ_Config_Tag::eventNo

Notify event number used for client notifications

UInt8 FrameQ_Config_Tag::maxInstances

Maximum instances

UInt32 FrameQ_Config_Tag::usedefaultgate

If set to TRUE, FrameQ instances will use dafault gate set in FrameQ. If default gate is not set in FrameQ, it uses GateMP's default gate. Set it to zero if FrameQ needs to create gate for a instance (remoteProtect and localProtect flags should be valid in params in this case).

The documentation for this struct was generated from the following file:
  • ti/syslink/FrameQ.h


SysLink API Reference: FrameQ_CreateParams_Tag Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
FrameQ_CreateParams_Tag Struct Reference

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

#include <FrameQ.h>

Collaboration diagram for FrameQ_CreateParams_Tag:

Data Fields

UInt32 size
FrameQ_Interface ctrlInterfaceType
String name
Bool openFlag

Detailed Description

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

Field Documentation

UInt32 FrameQ_CreateParams_Tag::size

Size of the paramstructure

FrameQ_Interface FrameQ_CreateParams_Tag::ctrlInterfaceType

Interface type

String FrameQ_CreateParams_Tag::name

Name of the instance

Bool FrameQ_CreateParams_Tag::openFlag
The documentation for this struct was generated from the following file:
  • ti/syslink/FrameQ.h


SysLink API Reference: FrameQ_NotifyParams_Tag Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
FrameQ_NotifyParams_Tag Struct Reference

Notification parameter structure. More...

#include <FrameQ.h>

Collaboration diagram for FrameQ_NotifyParams_Tag:

Data Fields

FrameQ_NotifyType notifyType
UInt32 watermark
FrameQ_NotifyFunc cbFxnPtr
Ptr cbContext
Ptr cbClientHandle

Detailed Description

Notification parameter structure.

Field Documentation

FrameQ_NotifyType FrameQ_NotifyParams_Tag::notifyType

Notification type

UInt32 FrameQ_NotifyParams_Tag::watermark

Minumum number of free frames required to generate notification Same water mark for all the individual freeFramePools in the set.

FrameQ_NotifyFunc FrameQ_NotifyParams_Tag::cbFxnPtr

Cacll back function

Ptr FrameQ_NotifyParams_Tag::cbContext

Context pointer that needs to be passed to call back function.

Ptr FrameQ_NotifyParams_Tag::cbClientHandle

Handle that needs to be passed as first arg to call back. Ideally this should be callers client handle.

The documentation for this struct was generated from the following file:
  • ti/syslink/FrameQ.h


SysLink API Reference: FrameQ_Params Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
FrameQ_Params Struct Reference

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

#include <FrameQ.h>

Collaboration diagram for FrameQ_Params:

Data Fields

FrameQ_CreateParams commonCreateParams
Ptr impParams
UInt32 impParamsSize

Detailed Description

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

Field Documentation

FrameQ_CreateParams FrameQ_Params::commonCreateParams
Ptr FrameQ_Params::impParams

Pointer to implementation specific parameters

UInt32 FrameQ_Params::impParamsSize

Size of the implementation specific structure pointed by impParams.

The documentation for this struct was generated from the following file:
  • ti/syslink/FrameQ.h


SysLink API Reference: FrameQ_ShMem_OpenParams_tag Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
FrameQ_ShMem_OpenParams_tag Struct Reference

Structure defining open parameters for the FrameQ instance on ShMem (shared memory interface). More...

#include <FrameQ_ShMem.h>

Collaboration diagram for FrameQ_ShMem_OpenParams_tag:

Data Fields

FrameQ_CommonOpenParams commonOpenParams

Detailed Description

Structure defining open parameters for the FrameQ instance on ShMem (shared memory interface).

Field Documentation

FrameQ_CommonOpenParams FrameQ_ShMem_OpenParams_tag::commonOpenParams

Open params common to all the implementations

The documentation for this struct was generated from the following file:
  • ti/syslink/FrameQ_ShMem.h


SysLink API Reference: FrameQ_ShMem_Params_tag Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
FrameQ_ShMem_Params_tag Struct Reference

Structure defining instance create parameters for the FrameQ on shared memory(inter core and intra core). More...

#include <FrameQ_ShMem.h>

Collaboration diagram for FrameQ_ShMem_Params_tag:

Data Fields

FrameQ_CreateParams commonCreateParams
GateMP_Handle gate
GateMP_LocalProtect localProtect
GateMP_RemoteProtect remoteProtect
Ptr sharedAddr
UInt32 sharedAddrSize
UInt32 regionId
UInt32 numReaders
UInt32 numQueues
UInt32 cpuAccessFlags
String frameQBufMgrName
Ptr frameQBufMgrSharedAddr

Detailed Description

Structure defining instance create parameters for the FrameQ on shared memory(inter core and intra core).

Field Documentation

FrameQ_CreateParams FrameQ_ShMem_Params_tag::commonCreateParams

Common create parameters .Same for all the implementations of FrameQ

GateMP_Handle FrameQ_ShMem_Params_tag::gate

gate used for critical region management of the shared memory.

If it is null, FrameQ decides the gate based on the following 1. If module's usedefaultgate is set to FALSE, It creates a gate internally based on the localProtect and remoteProtect flags provided in this params. 2. If module's usedefaultgate is set to TRUE, it uses the module' s gloabl gate for the instance. if module's global gate does not exist FrameQ uses the GateMP's default gate for the instance.

GateMP_LocalProtect FrameQ_ShMem_Params_tag::localProtect

local protection level for the instance. Will be used if gate passed is NULL.

GateMP_RemoteProtect FrameQ_ShMem_Params_tag::remoteProtect

Multiprocessor protection for the module instances.Will be used if gate is passed as NULL to create gate internally.

Ptr FrameQ_ShMem_Params_tag::sharedAddr

Virtual Address of the shared memory.Must be mapped on other processors if instance needs to be accessible from other processors.

The creator must supply the shared memory that this will use to maintain shared state information. Required parameter if regionId is not specified.

UInt32 FrameQ_ShMem_Params_tag::sharedAddrSize

Size of sharedAddr

Can use the FrameQ_ShMem_sharedMemReq call to determine the required size.

Required parameter if regionId is not specified.

UInt32 FrameQ_ShMem_Params_tag::regionId

Shared region ID

The ID corresponding to the shared region in which this shared instance is to be placed.

UInt32 FrameQ_ShMem_Params_tag::numReaders

Number of readers that can use this instance.

UInt32 FrameQ_ShMem_Params_tag::numQueues

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

UInt32 FrameQ_ShMem_Params_tag::cpuAccessFlags

cpuAccessFlags flags denoting whether frame buffers are accessed through CPU or not. All the conrol structure and header buffers cache flags will be derived internally based on shared region settings.

String FrameQ_ShMem_Params_tag::frameQBufMgrName

Name of FrameQ bufMgr that needs to be opened in FrameQ instance for use. Note: The FrameQBufMgr instance has to be created prior to calling FrameQ_create API.

Ptr FrameQ_ShMem_Params_tag::frameQBufMgrSharedAddr

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

The documentation for this struct was generated from the following file:
  • ti/syslink/FrameQ_ShMem.h


SysLink API Reference: FrameQBufMgr_CommonOpenParams_Tag Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
FrameQBufMgr_CommonOpenParams_Tag Struct Reference

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

#include <FrameQBufMgr.h>

Collaboration diagram for FrameQBufMgr_CommonOpenParams_Tag:

Data Fields

String name
UInt32 cpuAccessFlags
Ptr sharedAddr

Detailed Description

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

Field Documentation

String FrameQBufMgr_CommonOpenParams_Tag::name

Name of the instance to open

UInt32 FrameQBufMgr_CommonOpenParams_Tag::cpuAccessFlags

cpuAccessFlags flags to know if Frame buffers are accessed through CPU

Ptr FrameQBufMgr_CommonOpenParams_Tag::sharedAddr

Virtual shared Region addr in case open by address is required.

The documentation for this struct was generated from the following file:
  • ti/syslink/FrameQBufMgr.h


SysLink API Reference: FrameQBufMgr_Config_Tag Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
FrameQBufMgr_Config_Tag Struct Reference

Structure defining module config parameters for the FrameQBufMgr module. More...

#include <FrameQBufMgr.h>

Collaboration diagram for FrameQBufMgr_Config_Tag:

Data Fields

UInt32 eventNo
Bool maxInstances
UInt32 usedefaultgate

Detailed Description

Structure defining module config parameters for the FrameQBufMgr module.

Field Documentation

UInt32 FrameQBufMgr_Config_Tag::eventNo

Event number used for notification

Bool FrameQBufMgr_Config_Tag::maxInstances

Maximum instances of the module

UInt32 FrameQBufMgr_Config_Tag::usedefaultgate
The documentation for this struct was generated from the following file:
  • ti/syslink/FrameQBufMgr.h


SysLink API Reference: FrameQBufMgr_CreateParams_Tag Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
FrameQBufMgr_CreateParams_Tag Struct Reference

Common parameters required to create FrameQBufMgr instance of any implementation. More...

#include <FrameQBufMgr.h>

Collaboration diagram for FrameQBufMgr_CreateParams_Tag:

Data Fields

UInt32 size
FrameQBufMgr_Interface ctrlInterfaceType
String name
UInt32 openFlag

Detailed Description

Common parameters required to create FrameQBufMgr instance of any implementation.

This struct must be the first field of the implementation-specific params structure.

Field Documentation

UInt32 FrameQBufMgr_CreateParams_Tag::size

size of param struct

FrameQBufMgr_Interface FrameQBufMgr_CreateParams_Tag::ctrlInterfaceType

Interface type

String FrameQBufMgr_CreateParams_Tag::name

Instance name

UInt32 FrameQBufMgr_CreateParams_Tag::openFlag

Open flag to indicate create or open.

Remarks:
This is an internal flag, the caller should not touch this flag during create
The documentation for this struct was generated from the following file:
  • ti/syslink/FrameQBufMgr.h


SysLink API Reference: FrameQBufMgr_FrameBufParams_Tag Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
FrameQBufMgr_FrameBufParams_Tag Struct Reference

Frame buffer param structure. More...

#include <FrameQBufMgr.h>

Collaboration diagram for FrameQBufMgr_FrameBufParams_Tag:

Data Fields

UInt32 size
UInt32 pixelFormat
UInt32 height
UInt32 width
UInt32 align

Detailed Description

Frame buffer param structure.

Field Documentation

UInt32 FrameQBufMgr_FrameBufParams_Tag::size

size of the Frame buffer. valid if it is not a Tiler buffer

UInt32 FrameQBufMgr_FrameBufParams_Tag::pixelFormat

Pixel format.Valid for Tiler buffers

UInt32 FrameQBufMgr_FrameBufParams_Tag::height

Height of buffer.Valid for Tiler buffers

UInt32 FrameQBufMgr_FrameBufParams_Tag::width

Width of the buffer.Valid for Tiler buffers

UInt32 FrameQBufMgr_FrameBufParams_Tag::align

Alignment of the buffer.Currently not used.

The documentation for this struct was generated from the following file:
  • ti/syslink/FrameQBufMgr.h


SysLink API Reference: FrameQBufMgr_NotifyParams_Tag Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
FrameQBufMgr_NotifyParams_Tag Struct Reference

Structure defining notification parameter structure. More...

#include <FrameQBufMgr.h>

Collaboration diagram for FrameQBufMgr_NotifyParams_Tag:

Data Fields

SysLink_NotifyType notifyType
UInt32 watermark
FrameQBufMgr_NotifyFunc cbFxnPtr
Ptr cbContext
Ptr cbClientHandle

Detailed Description

Structure defining notification parameter structure.

Field Documentation

SysLink_NotifyType FrameQBufMgr_NotifyParams_Tag::notifyType

Notification type.See SysLink_NotifyType

UInt32 FrameQBufMgr_NotifyParams_Tag::watermark

Minumum number of free frames required to generate notification Same water mark for all the individual freeFramePools in the set.

FrameQBufMgr_NotifyFunc FrameQBufMgr_NotifyParams_Tag::cbFxnPtr

Callback function

Ptr FrameQBufMgr_NotifyParams_Tag::cbContext

Context pointer that needs to be passed to call back function.

Ptr FrameQBufMgr_NotifyParams_Tag::cbClientHandle

Handle that needs to be passed as first arg to call back. Ideally this should be callers client handle.

The documentation for this struct was generated from the following file:
  • ti/syslink/FrameQBufMgr.h


SysLink API Reference: FrameQBufMgr_Params Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
FrameQBufMgr_Params Struct Reference

Common parameters required to create FrameQBufMgr instance of any implementation. More...

#include <FrameQBufMgr.h>

Collaboration diagram for FrameQBufMgr_Params:

Data Fields

FrameQBufMgr_CreateParams commonCreateParams
Ptr impParams
UInt32 impParamsSize

Detailed Description

Common parameters required to create FrameQBufMgr instance of any implementation.

This struct must be the first element of the implementation-specific create params structure.

Field Documentation

FrameQBufMgr_CreateParams FrameQBufMgr_Params::commonCreateParams
Ptr FrameQBufMgr_Params::impParams

Pointer to implementation-specific struct

UInt32 FrameQBufMgr_Params::impParamsSize

Size of the implementation-specific impParams struct.

The documentation for this struct was generated from the following file:
  • ti/syslink/FrameQBufMgr.h


SysLink API Reference: FrameQBufMgr_ShMem_OpenParams_tag Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
FrameQBufMgr_ShMem_OpenParams_tag Struct Reference

Structure defining open parameters for the FrameQ instance on ShMem (shared memory interface). More...

#include <FrameQBufMgr_ShMem.h>

Collaboration diagram for FrameQBufMgr_ShMem_OpenParams_tag:

Data Fields

FrameQBufMgr_CommonOpenParams commonOpenParams

Detailed Description

Structure defining open parameters for the FrameQ instance on ShMem (shared memory interface).

Field Documentation

FrameQBufMgr_CommonOpenParams FrameQBufMgr_ShMem_OpenParams_tag::commonOpenParams

open params common to all the implementations

The documentation for this struct was generated from the following file:
  • ti/syslink/FrameQBufMgr_ShMem.h


SysLink API Reference: FrameQBufMgr_ShMem_Params_tag Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
FrameQBufMgr_ShMem_Params_tag Struct Reference

Structure defining parameters for the FrameQ module. More...

#include <FrameQBufMgr_ShMem.h>

Collaboration diagram for FrameQBufMgr_ShMem_Params_tag:

Data Fields

FrameQBufMgr_CreateParams commonCreateParams
GateMP_Handle gate
GateMP_LocalProtect localProtect
GateMP_RemoteProtect remoteProtect
Ptr sharedAddr
UInt32 sharedAddrSize
UInt32 regionId
UInt32 headerInterfaceType
UInt32 bufInterfaceType
Ptr sharedAddrHdrBuf
UInt32 sharedAddrHdrBufSize
UInt32 hdrBuf_regionId
Ptr sharedAddrFrmBuf
UInt32 sharedAddrFrmBufSize
UInt32 frmBuf_regionId
UInt32 numFreeFramePools
UInt32 | numFreeFramesInPool [(64u)]
UInt32 | numFreeHeaderBufsInPool [(64u)]
UInt32 | frameHeaderBufSize [(64u)]
UInt32 | numFrameBufsInFrame [(64u)]
FrameQBufMgr_FrameBufParams * | frameBufParams [(64u)]
UInt32 cpuAccessFlags
UInt32 numNotifyEntries

Detailed Description

Structure defining parameters for the FrameQ module.

Field Documentation

FrameQBufMgr_CreateParams FrameQBufMgr_ShMem_Params_tag::commonCreateParams

Common create parameters. Same for all the implementations.

GateMP_Handle FrameQBufMgr_ShMem_Params_tag::gate

Gate used for critical region management of the shared memory.

If it is NULL, FrameQBufMgr decides the gate based on the following: 1. If module's usedefaultgate is set to FALSE, It creates a gate internally based on the localProtect and remoteProtect flags provided in this params. 2. If module's usedefaultgate is set to TRUE, it uses the module's global gate for the instance. If module's global gate does not exist, FrameQBufMgr uses the GateMP's default gate for the instance.

GateMP_LocalProtect FrameQBufMgr_ShMem_Params_tag::localProtect

Local protection level for the module instance.

GateMP_RemoteProtect FrameQBufMgr_ShMem_Params_tag::remoteProtect

Default multiprocessor protection for the module instances.

Ptr FrameQBufMgr_ShMem_Params_tag::sharedAddr

Virtual Address of the shared memory. Must be mapped on other processors if instance needs to be accessible from other processors.

The creator must supply the shared memory that this will use for maintain shared state information. Required parameter.

UInt32 FrameQBufMgr_ShMem_Params_tag::sharedAddrSize

Size of shareAddr

Can use FrameQBufMgr_ShMem_sharedMemReq() call to determine the required size.

Required parameter.

UInt32 FrameQBufMgr_ShMem_Params_tag::regionId

Shared region ID

The ID corresponding to the shared region in which this shared instance is to be placed.

UInt32 FrameQBufMgr_ShMem_Params_tag::headerInterfaceType

Type of the interface used for frame headers.

Required parameter.

UInt32 FrameQBufMgr_ShMem_Params_tag::bufInterfaceType

Type of the interface used for frame buffers.

Required parameter.

Ptr FrameQBufMgr_ShMem_Params_tag::sharedAddrHdrBuf

Virtual Address of the shared memory for frame header buffers. Must be mapped on other processors if the buffers managed by this instance needs to be accessible from other processors.

The creator can supply the shared memory that this will use for maintaining the data buffers. Applications can create instances without passing this address. In this case applications need to add buffers to the instance at runtime.

UInt32 FrameQBufMgr_ShMem_Params_tag::sharedAddrHdrBufSize

Size of sharedAddrHdrBuf

UInt32 FrameQBufMgr_ShMem_Params_tag::hdrBuf_regionId
Ptr FrameQBufMgr_ShMem_Params_tag::sharedAddrFrmBuf

Shared region ID for Header buffers.

The ID corresponding to the shared region from which header buffers will be allocated if sharedAddrHdrBuf is not provided. Virtual shared Region Address of chunk for frame buffers.

UInt32 FrameQBufMgr_ShMem_Params_tag::sharedAddrFrmBufSize

Size of the sharedAddrFrmBuf

UInt32 FrameQBufMgr_ShMem_Params_tag::frmBuf_regionId

Shared region ID for Frame buffers.

The ID corresponding to the shared region from which frame buffers will be allocated if sharedAddrFrmBuf is not provided.

UInt32 FrameQBufMgr_ShMem_Params_tag::numFreeFramePools

Number of buffer pools

UInt32 FrameQBufMgr_ShMem_Params_tag::numFreeFramesInPool[(64u)]

Number of free frames in each pool

UInt32 FrameQBufMgr_ShMem_Params_tag::numFreeHeaderBufsInPool[(64u)]

Number of free header buffers in each pool

UInt32 FrameQBufMgr_ShMem_Params_tag::frameHeaderBufSize[(64u)]

Array of frame header buffer sizes for all the pools

UInt32 FrameQBufMgr_ShMem_Params_tag::numFrameBufsInFrame[(64u)]

Number of frame buffers in a frame. For each pool, Apps can specify the number of buffers in frames

FrameQBufMgr_FrameBufParams* FrameQBufMgr_ShMem_Params_tag::frameBufParams[(64u)]

frame buffer size of framebuffers in pool

UInt32 FrameQBufMgr_ShMem_Params_tag::cpuAccessFlags

cpuAccessFlags flags denoting whether frame buffers are accessed through CPU or not. All the conrol structure and header buffers cache flags will be derived internally based on shared region settings.

UInt32 FrameQBufMgr_ShMem_Params_tag::numNotifyEntries

Number of clients that have registered callback functions with the instance.

The documentation for this struct was generated from the following file:
  • ti/syslink/FrameQBufMgr_ShMem.h


SysLink API Reference: GateMP_Params Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
GateMP_Params Struct Reference

Structure defining parameters for the GateMP module. More...

#include <GateMP.h>

Collaboration diagram for GateMP_Params:

Data Fields

String name
UInt16 regionId
GateMP_LocalProtect localProtect
GateMP_RemoteProtect remoteProtect

Detailed Description

Structure defining parameters for the GateMP module.

Field Documentation

String GateMP_Params::name

Name of this instance.

The name (if not NULL) must be unique among all GateMP instances in the entire system. The name does not have to be in persistent memory. The supplied string is copied into persistent memory. If no name is supplied, the instance cannot be opened calling GateMP_open(). The max length of the name is defined by the maxNameLen of the NameServer instance.

UInt16 GateMP_Params::regionId

Shared region ID

The index corresponding to the shared region from which shared memory is allocated for the instance. If not specified, the default of '0' is used, otherwise the specified SharedRegion is used. The amount of shared memory allocated can be determined by calling GateMP_sharedMemReq().

GateMP_LocalProtect GateMP_Params::localProtect

Local protection level

The default value is GateMP_LocalProtect_THREAD

GateMP_RemoteProtect GateMP_Params::remoteProtect

Remote protection level

The default value is GateMP_RemoteProtect_SYSTEM

The documentation for this struct was generated from the following file:
  • ti/ipc/GateMP.h


SysLink API Reference: GateProcess_Params Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
GateProcess_Params Struct Reference

Create parameter structure. More...

#include <GateProcess.h>

Collaboration diagram for GateProcess_Params:

Data Fields

UInt reserved

Detailed Description

Create parameter structure.

Field Documentation

UInt GateProcess_Params::reserved
The documentation for this struct was generated from the following file:
  • ti/syslink/utils/GateProcess.h


SysLink API Reference: GateProcess_ShMem Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
GateProcess_ShMem Struct Reference

Shared memory structure used by instance. More...

#include <GateProcess.h>

Collaboration diagram for GateProcess_ShMem:

Data Fields

Char _f1 [16]

Detailed Description

Shared memory structure used by instance.

Field Documentation

Char GateProcess_ShMem::_f1[16]
The documentation for this struct was generated from the following file:
  • ti/syslink/utils/GateProcess.h


SysLink API Reference: HeapBufMP_ExtendedStats Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
HeapBufMP_ExtendedStats Struct Reference

Stats structure for the HeapBufMP_getExtendedStats API. More...

#include <HeapBufMP.h>

Collaboration diagram for HeapBufMP_ExtendedStats:

Data Fields

UInt maxAllocatedBlocks
UInt numAllocatedBlocks

Detailed Description

Stats structure for the HeapBufMP_getExtendedStats API.

Field Documentation

UInt HeapBufMP_ExtendedStats::maxAllocatedBlocks

The maximum number of blocks allocated from this heap at any point in time during the lifetime of this HeapBufMP instance.

UInt HeapBufMP_ExtendedStats::numAllocatedBlocks

The total number of blocks currently allocated in this HeapBufMP instance.

The documentation for this struct was generated from the following file:
  • ti/ipc/HeapBufMP.h


SysLink API Reference: HeapBufMP_Params Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
HeapBufMP_Params Struct Reference

Structure defining parameters for the HeapBufMP module. More...

#include <HeapBufMP.h>

Collaboration diagram for HeapBufMP_Params:

Data Fields

String name
UInt16 regionId
SizeT blockSize
UInt numBlocks
SizeT align
Bool exact
GateMP_Handle gate

Detailed Description

Structure defining parameters for the HeapBufMP module.

Field Documentation

String HeapBufMP_Params::name

Name of this instance.

The name (if not NULL) must be unique among all HeapBufMP instances in the entire system. When creating a new heap, it is necessary to supply an instance name.

The name does not have to be persistent. The supplied string is copied into persistent memory.

UInt16 HeapBufMP_Params::regionId

Shared region ID

The index corresponding to the shared region from which shared memory will be allocated.

SizeT HeapBufMP_Params::blockSize

Size (in MAUs) of each block.

HeapBufMP will round the blockSize up to the nearest multiple of the alignment, so the actual blockSize may be larger. When creating a HeapBufMP dynamically, this needs to be taken into account to determine the proper buffer size to pass in.

Required parameter.

The default size of the blocks is 0 MAUs.

UInt HeapBufMP_Params::numBlocks

Number of fixed-size blocks.

This is a required parameter for all new HeapBufMP instances.

SizeT HeapBufMP_Params::align

Alignment (in MAUs) of each block.

The alignment must be a power of 2. If the value 0 is specified, the value will be changed to meet minimum structure alignment requirements and the cache alignment size of the region in which the heap will be placed. Therefore, the actual alignment may be larger.

The default alignment is 0.

Bool HeapBufMP_Params::exact

Use exact matching

Setting this flag will allow allocation only if the requested size is equal to (rather than less than or equal to) the buffer's block size.

GateMP_Handle HeapBufMP_Params::gate

GateMP used for critical region management of the shared memory

Using the default value of NULL will result in use of the GateMP system gate for context protection.

The documentation for this struct was generated from the following file:
  • ti/ipc/HeapBufMP.h


SysLink API Reference: HeapMemMP_ExtendedStats Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
HeapMemMP_ExtendedStats Struct Reference

Stats structure for the HeapMemMP_getExtendedStats API. More...

#include <HeapMemMP.h>

Collaboration diagram for HeapMemMP_ExtendedStats:

Data Fields

Ptr buf
SizeT size

Detailed Description

Stats structure for the HeapMemMP_getExtendedStats API.

Field Documentation

Ptr HeapMemMP_ExtendedStats::buf

Local address of the shared buffer

SizeT HeapMemMP_ExtendedStats::size

Size of the shared buffer

The documentation for this struct was generated from the following file:
  • ti/ipc/HeapMemMP.h


SysLink API Reference: HeapMemMP_Params Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
HeapMemMP_Params Struct Reference

Structure defining parameters for the HeapMemMP module. More...

#include <HeapMemMP.h>

Collaboration diagram for HeapMemMP_Params:

Data Fields

String name
UInt16 regionId
SizeT sharedBufSize
GateMP_Handle gate

Detailed Description

Structure defining parameters for the HeapMemMP module.

Field Documentation

String HeapMemMP_Params::name

Name of this instance.

The name (if not NULL) must be unique among all HeapMemMP instances in the entire system. When creating a new heap, it is necessary to supply an instance name.

The name does not have to be persistent. The supplied string is copied into persistent memory.

UInt16 HeapMemMP_Params::regionId

Shared region ID

The index corresponding to the shared region from which shared memory will be allocated.

SizeT HeapMemMP_Params::sharedBufSize

Size of shared buffer

This is the size of the buffer to be used in the HeapMemMP instance. The actual buffer size in the created instance might actually be less than the value supplied in 'sharedBufSize' because of alignment constraints.

It is important to note that the total amount of shared memory required for a HeapMemMP instance will be greater than the size supplied here. Additional space will be consumed by shared instance attributes and alignment-related padding.

GateMP_Handle HeapMemMP_Params::gate

GateMP used for critical region management of the shared memory

Using the default value of NULL will result in use of the GateMP system gate for context protection.

The documentation for this struct was generated from the following file:
  • ti/ipc/HeapMemMP.h


SysLink API Reference: IGateProvider_Object Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
IGateProvider_Object Struct Reference

#include <IGateProvider.h>

Collaboration diagram for IGateProvider_Object:

Data Fields

IGateProvider_ENTER enter
IGateProvider_LEAVE leave

Detailed Description

Structure for generic gate instance

Field Documentation

IGateProvider_ENTER IGateProvider_Object::enter
IGateProvider_LEAVE IGateProvider_Object::leave
The documentation for this struct was generated from the following file:
  • ti/syslink/utils/IGateProvider.h


SysLink API Reference: IHeap_Object_tag Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
IHeap_Object_tag Struct Reference

Structure for the Handle for the Heap. More...

#include <IHeap.h>

Collaboration diagram for IHeap_Object_tag:

Data Fields

IHeap_allocFxn alloc
IHeap_freeFxn free
IHeap_getStatsFxn getStats
IHeap_isBlockingFxn isBlocking
IHeap_getKnlHandleFxn getKnlHandle
Ptr obj

Detailed Description

Structure for the Handle for the Heap.

Field Documentation

IHeap_allocFxn IHeap_Object_tag::alloc

Allocate a block

IHeap_freeFxn IHeap_Object_tag::free

Free a block

IHeap_getStatsFxn IHeap_Object_tag::getStats

Get statistics

IHeap_isBlockingFxn IHeap_Object_tag::isBlocking

Does the Heap block during alloc/free?

IHeap_getKnlHandleFxn IHeap_Object_tag::getKnlHandle

Get kernel object handle

Ptr IHeap_Object_tag::obj

Actual Heap Handle

The documentation for this struct was generated from the following file:
  • ti/syslink/utils/IHeap.h


SysLink API Reference: Ipc_Terminate Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
Ipc_Terminate Struct Reference

Argument for the Ipc_CONTROLCMD_SETTERMINATEPOLICY command. More...

#include <IpcHost.h>

Collaboration diagram for Ipc_Terminate:

Data Fields

Int policy

Detailed Description

Argument for the Ipc_CONTROLCMD_SETTERMINATEPOLICY command.

Initialize a structure of this type with the desired terminate policy. Pass the address of this structure as the arg parameter to Ipc_control() along with this command type. This must be done before calling the load callback.

Example:
Ipc_Terminate terminateConfig;
// set the requested terminate policy
terminateConfig.policy = Ipc_TERMINATEPOLICY_STOP;
Ipc_control(procId, Ipc_CONTROLCMD_SETTERMINATEPOLICY,
(Ptr)(&terminateConfig));
// now invoke the load callback
Ipc_control(procId, Ipc_CONTROLCMD_LOADCALLBACK, NULL);
See also:
Ipc_TERMINATEPOLICY_STOP
Ipc_TERMINATEPOLICY_NOTIFY

Field Documentation

Int Ipc_Terminate::policy

terminate policy

The documentation for this struct was generated from the following file:
  • ti/syslink/IpcHost.h


SysLink API Reference: IpcMemMgr_Config_t Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
IpcMemMgr_Config_t Struct Reference

Structure defining config parameters for overall System. More...

#include <IpcMemMgr.h>

Collaboration diagram for IpcMemMgr_Config_t:

Data Fields

UInt32 size
UInt32 minAlign
UInt32 gateOffset

Detailed Description

Structure defining config parameters for overall System.

Field Documentation

UInt32 IpcMemMgr_Config_t::size

Size of the shared memory to create

UInt32 IpcMemMgr_Config_t::minAlign
UInt32 IpcMemMgr_Config_t::gateOffset
The documentation for this struct was generated from the following file:
  • ti/syslink/utils/IpcMemMgr.h


SysLink API Reference: List_Elem_tag Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
List_Elem_tag Struct Reference

Structure defining object for the list element. More...

#include <List.h>

Collaboration diagram for List_Elem_tag:

Data Fields

struct List_Elem_tag * | next
struct List_Elem_tag * | prev

Detailed Description

Structure defining object for the list element.

Field Documentation

struct List_Elem_tag* List_Elem_tag::next

Pointer to the next element

struct List_Elem_tag* List_Elem_tag::prev

Pointer to the previous element

The documentation for this struct was generated from the following file:
  • ti/syslink/utils/List.h


SysLink API Reference: List_Object_tag Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
List_Object_tag Struct Reference

Structure defining object for the list. More...

#include <List.h>

Collaboration diagram for List_Object_tag:

Data Fields

List_Elem elem

Detailed Description

Structure defining object for the list.

Field Documentation

List_Elem List_Object_tag::elem

Head pointing to next element

The documentation for this struct was generated from the following file:
  • ti/syslink/utils/List.h


SysLink API Reference: List_Params_tag Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
List_Params_tag Struct Reference

Structure defining params for the list. More...

#include <List.h>

Collaboration diagram for List_Params_tag:

Data Fields

UInt32 temp

Detailed Description

Structure defining params for the list.

Field Documentation

UInt32 List_Params_tag::temp
The documentation for this struct was generated from the following file:
  • ti/syslink/utils/List.h


SysLink API Reference: ListMP_Elem Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
ListMP_Elem Struct Reference

Structure defining a ListMP element. More...

#include <ListMP.h>

Collaboration diagram for ListMP_Elem:

Data Fields

volatile SharedRegion_SRPtr | next
volatile SharedRegion_SRPtr | prev

Detailed Description

Structure defining a ListMP element.

Field Documentation

volatile SharedRegion_SRPtr ListMP_Elem::next

SharedRegion pointer to next element

volatile SharedRegion_SRPtr ListMP_Elem::prev

SharedRegion pointer to previous element

The documentation for this struct was generated from the following file:
  • ti/ipc/ListMP.h


SysLink API Reference: ListMP_Params Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
ListMP_Params Struct Reference

Structure defining parameter structure for ListMP_create(). More...

#include <ListMP.h>

Collaboration diagram for ListMP_Params:

Data Fields

GateMP_Handle gate
String name
UInt16 regionId

Detailed Description

Structure defining parameter structure for ListMP_create().

Field Documentation

GateMP_Handle ListMP_Params::gate

GateMP instance for critical region management of shared memory

Using the default value of NULL will result in use of the GateMP system gate for context protection.

String ListMP_Params::name

Name of the instance

The name (if not NULL) must be unique among all ListMP instances in the entire system. When creating a new heap, it is necessary to supply an instance name.

The name does not have to be persistent. The supplied string is copied into persistent memory.

UInt16 ListMP_Params::regionId

SharedRegion ID.

The ID corresponding to the index of the shared region in which this shared instance is to be placed. This is used in create() only when name is not null.

The documentation for this struct was generated from the following file:
  • ti/ipc/ListMP.h


SysLink API Reference: Memory_Stats_tag Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
Memory_Stats_tag Struct Reference

Structure defining memory related statistics. More...

#include <MemoryDefs.h>

Collaboration diagram for Memory_Stats_tag:

Data Fields

UInt32 totalSize
UInt32 totalFreeSize
UInt32 largestFreeSize

Detailed Description

Structure defining memory related statistics.

Field Documentation

UInt32 Memory_Stats_tag::totalSize

Total memory size

UInt32 Memory_Stats_tag::totalFreeSize

Total free memory size

UInt32 Memory_Stats_tag::largestFreeSize

Largest free memory size

The documentation for this struct was generated from the following file:
  • ti/syslink/utils/MemoryDefs.h


SysLink API Reference: MessageQ_MsgHeader Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
MessageQ_MsgHeader Struct Reference

Required first field in every message. More...

#include <MessageQ.h>

Collaboration diagram for MessageQ_MsgHeader:

Data Fields

Bits32 reserved0
Bits32 reserved1
Bits32 msgSize
Bits16 flags
Bits16 msgId
Bits16 dstId
Bits16 dstProc
Bits16 replyId
Bits16 replyProc
Bits16 srcProc
Bits16 heapId
Bits16 seqNum
Bits16 reserved

Detailed Description

Required first field in every message.

Field Documentation

Bits32 MessageQ_MsgHeader::reserved0

reserved for List.elem->next

Bits32 MessageQ_MsgHeader::reserved1

reserved for List.elem->prev

Bits32 MessageQ_MsgHeader::msgSize

message size

Bits16 MessageQ_MsgHeader::flags

bitmask of different flags

Bits16 MessageQ_MsgHeader::msgId

message id

Bits16 MessageQ_MsgHeader::dstId

destination queue id

Bits16 MessageQ_MsgHeader::dstProc

destination processor id

Bits16 MessageQ_MsgHeader::replyId

reply id

Bits16 MessageQ_MsgHeader::replyProc

reply processor

Bits16 MessageQ_MsgHeader::srcProc

source processor

Bits16 MessageQ_MsgHeader::heapId

heap id

Bits16 MessageQ_MsgHeader::seqNum

sequence number

Bits16 MessageQ_MsgHeader::reserved

reserved

The documentation for this struct was generated from the following file:
  • ti/ipc/MessageQ.h


SysLink API Reference: MessageQ_Params Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
MessageQ_Params Struct Reference

Structure defining parameters for the MessageQ module. More...

#include <MessageQ.h>

Collaboration diagram for MessageQ_Params:

Data Fields

Void * synchronizer

Detailed Description

Structure defining parameters for the MessageQ module.

Field Documentation

Void* MessageQ_Params::synchronizer

Synchronizer instance used to signal IO completion

The synchronizer is used in MessageQ_put() and MessageQ_get(). The synchronizer signal is called as part of MessageQ_put(). The synchronizer waits in MessageQ_get() if there are no messages present.

The documentation for this struct was generated from the following file:
  • ti/ipc/MessageQ.h


SysLink API Reference: NameServer_Params Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
NameServer_Params Struct Reference

NameServer_Handle type. More...

#include <NameServer.h>

Collaboration diagram for NameServer_Params:

Data Fields

UInt maxRuntimeEntries
Ptr tableHeap
Bool checkExisting
UInt maxValueLen
UInt maxNameLen

Detailed Description

NameServer_Handle type.

Field Documentation

UInt NameServer_Params::maxRuntimeEntries

Maximum number of name/value pairs that can be dynamically created.

This parameter allows NameServer to pre-allocate memory. When NameServer_add() or NameServer_addUInt32() is called, no memory allocation occurs.

If the number of pairs is not known at configuration time, set this value to NameServer_ALLOWGROWTH. This instructs NameServer to grow the table as needed. NameServer will allocate memory from the NameServer_Params::tableHeap when a name/value pair is added.

The default is NameServer_ALLOWGROWTH.

Ptr NameServer_Params::tableHeap

Name/value table is allocated from this heap.

The instance table and related buffers are allocated out of this heap during the dynamic create. This heap is also used to allocate new name/value pairs when NameServer_ALLOWGROWTH for NameServer_Params::maxRuntimeEntries

The default is to use the same heap that instances are allocated from which can be configured via the NameServer.common$.instanceHeap configuration parameter.

Bool NameServer_Params::checkExisting

Check if a name already exists in the name/value table.

When a name/value pair is added during runtime, if this boolean is true, the table is searched to see if the name already exists. If it does, the name is not added and the NameServer_E_ALREADYEXISTS error is returned.

If this flag is false, the table will not be checked to see if the name already exists. It will simply be added. This mode has better performance at the expense of potentially having non-unique names in the table.

This flag is used for runtime adds only. Adding non-unique names during configuration results in a build error.

UInt NameServer_Params::maxValueLen

Length, in MAUs, of the value field in the table.

Any value less than sizeof(UInt32) will be rounded up to sizeof(UInt32)

UInt NameServer_Params::maxNameLen

Length, in MAUs, of the name field in the table.

The maximum length of the name portion of the name/value pair. The length includes the null terminator ('\0').

The documentation for this struct was generated from the following file:
  • ti/ipc/NameServer.h


SysLink API Reference: ProcMgr_AddrInfo_tag Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
ProcMgr_AddrInfo_tag Struct Reference

This structure defines information about memory regions mapped by the ProcMgr module. More...

#include <ProcMgr.h>

Collaboration diagram for ProcMgr_AddrInfo_tag:

Data Fields

UInt32 addr [ProcMgr_AddrType_EndValue]
UInt32 size
Bool isCached
Bool isMapped
ProcMgr_MapMask mapMask
UInt16 refCount

Detailed Description

This structure defines information about memory regions mapped by the ProcMgr module.

Field Documentation

UInt32 ProcMgr_AddrInfo_tag::addr[ProcMgr_AddrType_EndValue]

Addresses for each type of address space

UInt32 ProcMgr_AddrInfo_tag::size

Size of the memory region in bytes

Bool ProcMgr_AddrInfo_tag::isCached

Region cached?

Bool ProcMgr_AddrInfo_tag::isMapped

tells whether the entry is mapped

ProcMgr_MapMask ProcMgr_AddrInfo_tag::mapMask

map type needed for default entries in translation table

UInt16 ProcMgr_AddrInfo_tag::refCount

To ensure entry is added/removed only in appropriate map/unmap

The documentation for this struct was generated from the following file:
  • ti/syslink/ProcMgr.h


SysLink API Reference: ProcMgr_AttachParams_tag Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
ProcMgr_AttachParams_tag Struct Reference

Configuration parameters specific to the slave ProcMgr instance. More...

#include <ProcMgr.h>

Collaboration diagram for ProcMgr_AttachParams_tag:

Data Fields

ProcMgr_BootMode bootMode
Ptr bootParams

Detailed Description

Configuration parameters specific to the slave ProcMgr instance.

Field Documentation

ProcMgr_BootMode ProcMgr_AttachParams_tag::bootMode

Boot mode for the slave processor.

Ptr ProcMgr_AttachParams_tag::bootParams

Params for dependent processors like IVHD for netra.

The documentation for this struct was generated from the following file:
  • ti/syslink/ProcMgr.h


SysLink API Reference: ProcMgr_MappedMemEntry Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
ProcMgr_MappedMemEntry Struct Reference

Structure containing information of mapped memory regions. More...

#include <ProcMgr.h>

Collaboration diagram for ProcMgr_MappedMemEntry:

Data Fields

ProcMgr_AddrInfo info
ProcMgr_AddrType srcAddrType
ProcMgr_MapMask mapMask
Bool inUse

Detailed Description

Structure containing information of mapped memory regions.

Field Documentation

ProcMgr_AddrInfo ProcMgr_MappedMemEntry::info

Address information

ProcMgr_AddrType ProcMgr_MappedMemEntry::srcAddrType

Source address type used for mapping

ProcMgr_MapMask ProcMgr_MappedMemEntry::mapMask

Mapping type

Bool ProcMgr_MappedMemEntry::inUse

Entry index is in use?

The documentation for this struct was generated from the following file:
  • ti/syslink/ProcMgr.h


SysLink API Reference: ProcMgr_ProcInfo_tag Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
ProcMgr_ProcInfo_tag Struct Reference

Characteristics of the slave processor. More...

#include <ProcMgr.h>

Collaboration diagram for ProcMgr_ProcInfo_tag:

Data Fields

ProcMgr_BootMode bootMode
UInt16 maxMemoryRegions
UInt16 numMemEntries
ProcMgr_MappedMemEntry memEntries [0]

Detailed Description

Characteristics of the slave processor.

Field Documentation

ProcMgr_BootMode ProcMgr_ProcInfo_tag::bootMode

Boot mode of the processor

UInt16 ProcMgr_ProcInfo_tag::maxMemoryRegions

Value of ProcMgr_Object.maxMemoryRegions

UInt16 ProcMgr_ProcInfo_tag::numMemEntries

Number of valid memory entries

ProcMgr_MappedMemEntry ProcMgr_ProcInfo_tag::memEntries[0]

Configuration of memory regions

The documentation for this struct was generated from the following file:
  • ti/syslink/ProcMgr.h


SysLink API Reference: ProcMgr_SectionInfo_tag Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
ProcMgr_SectionInfo_tag Struct Reference

Characteristics of sections in executable. More...

#include <ProcMgr.h>

Collaboration diagram for ProcMgr_SectionInfo_tag:

Data Fields

UInt32 physicalAddress
UInt32 virtualAddress
UInt16 sectId
UInt32 size

Detailed Description

Characteristics of sections in executable.

Field Documentation

UInt32 ProcMgr_SectionInfo_tag::physicalAddress

Requested/returned section's physicalAddress

UInt32 ProcMgr_SectionInfo_tag::virtualAddress

Requested/returned section's vitualAddress

UInt16 ProcMgr_SectionInfo_tag::sectId

Requested/returned section id

UInt32 ProcMgr_SectionInfo_tag::size

Section size

The documentation for this struct was generated from the following file:
  • ti/syslink/ProcMgr.h


SysLink API Reference: ProcMgr_StartParams_tag Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
ProcMgr_StartParams_tag Struct Reference

Configuration parameters to be provided while starting the slave processor. More...

#include <ProcMgr.h>

Collaboration diagram for ProcMgr_StartParams_tag:

Data Fields

UInt32 reserved

Detailed Description

Configuration parameters to be provided while starting the slave processor.

Field Documentation

UInt32 ProcMgr_StartParams_tag::reserved

Reserved for future params.

The documentation for this struct was generated from the following file:
  • ti/syslink/ProcMgr.h


SysLink API Reference: ResTrack_Params Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
ResTrack_Params Struct Reference

Structure defining params for creating an instance. More...

#include <ResTrack.h>

Collaboration diagram for ResTrack_Params:

Data Fields

Int temp

Detailed Description

Structure defining params for creating an instance.

Field Documentation

Int ResTrack_Params::temp
The documentation for this struct was generated from the following file:
  • ti/syslink/utils/ResTrack.h


SysLink API Reference: RingIO_openParams_Tag Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
RingIO_openParams_Tag Struct Reference

Structure defining config parameters for opening the RingIO instances. More...

#include <RingIO.h>

Collaboration diagram for RingIO_openParams_Tag:

Data Fields

UInt32 flags
RingIO_OpenMode openMode

Detailed Description

Structure defining config parameters for opening the RingIO instances.

Field Documentation

UInt32 RingIO_openParams_Tag::flags

Flags to set behavior of RingIO (e.g. cache maintenance, use exact size). See RingIO_Flags

RingIO_OpenMode RingIO_openParams_Tag::openMode

Mode in which client will be opened

The documentation for this struct was generated from the following file:
  • ti/syslink/RingIO.h


SysLink API Reference: RingIO_Params_Tag Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
RingIO_Params_Tag Struct Reference

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

#include <RingIO.h>

Collaboration diagram for RingIO_Params_Tag:

Data Fields

String name
RingIO_Type interfaceType

Detailed Description

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

Field Documentation

String RingIO_Params_Tag::name

Name of the instance

RingIO_Type RingIO_Params_Tag::interfaceType

interface type for ringio transport

The documentation for this struct was generated from the following file:
  • ti/syslink/RingIO.h


SysLink API Reference: RingIO_sharedMemReqDetails_tag Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
RingIO_sharedMemReqDetails_tag Struct Reference

Structure defining config parameters for opening the RingIO instances. More...

#include <RingIO.h>

Collaboration diagram for RingIO_sharedMemReqDetails_tag:

Data Fields

UInt32 ctrlSharedMemReq
UInt32 dataSharedMemReq
UInt32 attrSharedMemReq

Detailed Description

Structure defining config parameters for opening the RingIO instances.

Field Documentation

UInt32 RingIO_sharedMemReqDetails_tag::ctrlSharedMemReq

Instance specific control shared memory requirements

UInt32 RingIO_sharedMemReqDetails_tag::dataSharedMemReq

Data buffer shared memory requirements

UInt32 RingIO_sharedMemReqDetails_tag::attrSharedMemReq

Attribute buffer shared memory requirements

The documentation for this struct was generated from the following file:
  • ti/syslink/RingIO.h


SysLink API Reference: RingIOShm_Params_Tag Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
RingIOShm_Params_Tag Struct Reference

Structure defining parameters for creating the RingIOShm instances. More...

#include <RingIOShm.h>

Collaboration diagram for RingIOShm_Params_Tag:

Data Fields

RingIO_Params commonParams
UInt16 ctrlRegionId
UInt16 dataRegionId
UInt16 attrRegionId
Ptr ctrlSharedAddr
Ptr dataSharedAddr
UInt32 dataSharedAddrSize
UInt32 footBufSize
Ptr attrSharedAddr
UInt32 attrSharedAddrSize
GateMP_Handle gateHandle
GateMP_LocalProtect localProtect
GateMP_RemoteProtect remoteProtect
UInt16 remoteProcId

Detailed Description

Structure defining parameters for creating the RingIOShm instances.

Field Documentation

RingIO_Params RingIOShm_Params_Tag::commonParams

Common create parameters .Same for all the implementations of RingIO

UInt16 RingIOShm_Params_Tag::ctrlRegionId

Shared region ID for RingIOShm control structures

The index corresponding to the shared region from which shared memory will be allocated if ctrlSharedAddr is NULL. If a valid ctrlSharedAddr is provided, this field is ignored.

UInt16 RingIOShm_Params_Tag::dataRegionId

Shared region ID for RingIOShm data buffer

The index corresponding to the shared region from which shared memory will be allocated if dataSharedAddr is NULL. If a valid dataSharedAddr is provided, this field is ignored.

UInt16 RingIOShm_Params_Tag::attrRegionId

Shared region ID for RingIOShm attr buffer

The index corresponding to the shared region from which shared memory will be allocated if attrSharedAddr is NULL. If a valid attrSharedAddr is provided, this field is ignored.

Ptr RingIOShm_Params_Tag::ctrlSharedAddr

Shared region address for control structure. If this field is NULL, memory equal to that required to allocate the RingIOShm instance control structure is allocated from heap associated with ctrlRegionId

Ptr RingIOShm_Params_Tag::dataSharedAddr

Shared Region Address for data buffer If this field is NULL, memory equal to (dataSharedAddrSize + footBufSize) is allocated from heap associated with dataRegionId

UInt32 RingIOShm_Params_Tag::dataSharedAddrSize

Data Buffer size.

UInt32 RingIOShm_Params_Tag::footBufSize

Foot Buffer size.

Ptr RingIOShm_Params_Tag::attrSharedAddr

Shared Region Address for attr buffer If this field is NULL, memory equal to attrSharedAddrSize is allocated from heap associated with attrRegionId

UInt32 RingIOShm_Params_Tag::attrSharedAddrSize

Attr Buffer size.

GateMP_Handle RingIOShm_Params_Tag::gateHandle

Gate for protection. If gateHandle is NULL, the default GateMP instance provided by the GateMP module is used.

GateMP_LocalProtect RingIOShm_Params_Tag::localProtect

Local protection level for the module instance.(not used currently)

GateMP_RemoteProtect RingIOShm_Params_Tag::remoteProtect

Remote protection level for the module instance.(not used currently)

UInt16 RingIOShm_Params_Tag::remoteProcId

Remote processor id with which the RingIOShm communicates

The documentation for this struct was generated from the following file:
  • ti/syslink/RingIOShm.h


SysLink API Reference: SharedRegion_Entry Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
SharedRegion_Entry Struct Reference

Structure defining a region. More...

#include <SharedRegion.h>

Collaboration diagram for SharedRegion_Entry:

Data Fields

Ptr base
SizeT len
UInt16 ownerProcId
Bool isValid
Bool cacheEnable
SizeT cacheLineSize
Bool createHeap
String name

Detailed Description

Structure defining a region.

Field Documentation

Ptr SharedRegion_Entry::base

The base address of the region

SizeT SharedRegion_Entry::len

The length of the region

Ths length of a region must be the same across all processors in the system.

UInt16 SharedRegion_Entry::ownerProcId

The MultiProc id of the owner of the region

The owner id for a shared region must be the same across all processors in the system.

Bool SharedRegion_Entry::isValid

Whether the region is valid

Bool SharedRegion_Entry::cacheEnable

Whether to perform cache operations for the region

If 'TRUE', a cache invalidate is performed before any read and a cache write back invalidate is performed after any write for the shared region. The cache operations are done for all caches. If 'FALSE', no cache operations are performed.

SizeT SharedRegion_Entry::cacheLineSize

The cache line size of the region

The cache line size for a region must be the same across all processors in the system. It is used for structure alignment and padding.

Bool SharedRegion_Entry::createHeap

Whether a heap is created for the region

If 'TRUE', a HeapMemMP instance is created with the size spanning the length of the shared region minus any memory that is reserved in the region. If 'FALSE', no heap is created in the shared region.

String SharedRegion_Entry::name

The name of the region.

The name must be in persistent memory. It is used for displaying in ROV.

The documentation for this struct was generated from the following file:
  • ti/ipc/SharedRegion.h


SysLink API Reference: SyslinkMemMgr_AllocBlock_tag Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
SyslinkMemMgr_AllocBlock_tag Struct Reference

#include <SyslinkMemMgr.h>

Collaboration diagram for SyslinkMemMgr_AllocBlock_tag:

Data Fields

UInt16 pixelFormat
union {
struct {
UInt16 width
UInt16 height
} area
UInt16 len
} dim
UInt32 stride

Field Documentation

UInt16 SyslinkMemMgr_AllocBlock_tag::pixelFormat
UInt16 SyslinkMemMgr_AllocBlock_tag::width
UInt16 SyslinkMemMgr_AllocBlock_tag::height
struct { ... } SyslinkMemMgr_AllocBlock_tag::area
UInt16 SyslinkMemMgr_AllocBlock_tag::len
union { ... } SyslinkMemMgr_AllocBlock_tag::dim
UInt32 SyslinkMemMgr_AllocBlock_tag::stride
The documentation for this struct was generated from the following file:
  • ti/syslink/utils/SyslinkMemMgr.h


SysLink API Reference: SyslinkMemMgr_AllocParams_tag Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
SyslinkMemMgr_AllocParams_tag Struct Reference

Alloc params. More...

#include <SyslinkMemMgr.h>

Collaboration diagram for SyslinkMemMgr_AllocParams_tag:

Data Fields

UInt32 size
UInt32 align
SyslinkMemMgr_AllocBlock block [10u]
UInt32 tilerBlocks

Detailed Description

Alloc params.

Field Documentation

UInt32 SyslinkMemMgr_AllocParams_tag::size
UInt32 SyslinkMemMgr_AllocParams_tag::align
SyslinkMemMgr_AllocBlock SyslinkMemMgr_AllocParams_tag::block[10u]
UInt32 SyslinkMemMgr_AllocParams_tag::tilerBlocks
The documentation for this struct was generated from the following file:
  • ti/syslink/utils/SyslinkMemMgr.h


SysLink API Reference: SyslinkMemMgr_CreateParams_tag Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields
SyslinkMemMgr_CreateParams_tag Struct Reference

Structure defining common create parameters for the Memory manager module.Should be the first element in implementation specific create params. More...

#include <SyslinkMemMgr.h>

Collaboration diagram for SyslinkMemMgr_CreateParams_tag:

Data Fields

UInt32 size
SyslinkMemMgr_Type memMgrType
UInt8 name [32u]

Detailed Description

Structure defining common create parameters for the Memory manager module.Should be the first element in implementation specific create params.

Field Documentation

UInt32 SyslinkMemMgr_CreateParams_tag::size

Size of the param structure

SyslinkMemMgr_Type SyslinkMemMgr_CreateParams_tag::memMgrType

type of implementation.

UInt8 SyslinkMemMgr_CreateParams_tag::name[32u]

Name of the instance

The documentation for this struct was generated from the following file:
  • ti/syslink/utils/SyslinkMemMgr.h


SysLink API Reference: Data Structure Index

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Structure Index
F | G | H | I | L | M | N | P | R | S
F
FrameQBufMgr_NotifyParams_Tag
I
MessageQ_MsgHeader RingIO_openParams_Tag
FrameQBufMgr_Params MessageQ_Params RingIO_Params_Tag
Frame_FrameBufInfo_tag FrameQBufMgr_ShMem_OpenParams_tag IGateProvider_Object
N
RingIO_sharedMemReqDetails_tag
Frame_FrameHeader_Tag FrameQBufMgr_ShMem_Params_tag IHeap_Object_tag RingIOShm_Params_Tag
FrameQ_CommonOpenParams_Tag
G
Ipc_Terminate NameServer_Params
S
FrameQ_Config_Tag IpcMemMgr_Config_t
P
FrameQ_CreateParams_Tag GateMP_Params
L
SharedRegion_Entry
FrameQ_NotifyParams_Tag GateProcess_Params ProcMgr_AddrInfo_tag SyslinkMemMgr_AllocBlock_tag
FrameQ_Params GateProcess_ShMem List_Elem_tag ProcMgr_AttachParams_tag SyslinkMemMgr_AllocParams_tag
FrameQ_ShMem_OpenParams_tag
H
List_Object_tag ProcMgr_MappedMemEntry SyslinkMemMgr_CreateParams_tag
FrameQ_ShMem_Params_tag List_Params_tag ProcMgr_ProcInfo_tag
FrameQBufMgr_CommonOpenParams_Tag HeapBufMP_ExtendedStats ListMP_Elem ProcMgr_SectionInfo_tag
FrameQBufMgr_Config_Tag HeapBufMP_Params ListMP_Params ProcMgr_StartParams_tag
FrameQBufMgr_CreateParams_Tag HeapMemMP_ExtendedStats
M
R


SysLink API Reference: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- _ -

  • _f1 : GateProcess_ShMem


SysLink API Reference: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- a -

  • addr : ProcMgr_AddrInfo_tag
  • align : HeapBufMP_Params , SyslinkMemMgr_AllocParams_tag , FrameQBufMgr_FrameBufParams_Tag
  • alloc : IHeap_Object_tag
  • area : SyslinkMemMgr_AllocBlock_tag
  • attrRegionId : RingIOShm_Params_Tag
  • attrSharedAddr : RingIOShm_Params_Tag
  • attrSharedAddrSize : RingIOShm_Params_Tag
  • attrSharedMemReq : RingIO_sharedMemReqDetails_tag


SysLink API Reference: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- b -

  • base : SharedRegion_Entry
  • baseHeaderSize : Frame_FrameHeader_Tag
  • block : SyslinkMemMgr_AllocParams_tag
  • blockSize : HeapBufMP_Params
  • bootMode : ProcMgr_AttachParams_tag , ProcMgr_ProcInfo_tag
  • bootParams : ProcMgr_AttachParams_tag
  • buf : HeapMemMP_ExtendedStats
  • bufInterfaceType : FrameQBufMgr_ShMem_Params_tag
  • bufPtr : Frame_FrameBufInfo_tag
  • bufSize : Frame_FrameBufInfo_tag


SysLink API Reference: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- c -

  • cacheEnable : SharedRegion_Entry
  • cacheLineSize : SharedRegion_Entry
  • cbClientHandle : FrameQBufMgr_NotifyParams_Tag , FrameQ_NotifyParams_Tag
  • cbContext : FrameQ_NotifyParams_Tag , FrameQBufMgr_NotifyParams_Tag
  • cbFxnPtr : FrameQBufMgr_NotifyParams_Tag , FrameQ_NotifyParams_Tag
  • checkExisting : NameServer_Params
  • commonCreateParams : FrameQ_Params , FrameQ_ShMem_Params_tag , FrameQBufMgr_Params , FrameQBufMgr_ShMem_Params_tag
  • commonOpenParams : FrameQBufMgr_ShMem_OpenParams_tag , FrameQ_ShMem_OpenParams_tag
  • commonParams : RingIOShm_Params_Tag
  • cpuAccessFlags : FrameQBufMgr_CommonOpenParams_Tag , FrameQ_CommonOpenParams_Tag , FrameQ_ShMem_Params_tag , FrameQBufMgr_ShMem_Params_tag
  • createHeap : SharedRegion_Entry
  • ctrlInterfaceType : FrameQBufMgr_CreateParams_Tag , FrameQ_CreateParams_Tag
  • ctrlRegionId : RingIOShm_Params_Tag
  • ctrlSharedAddr : RingIOShm_Params_Tag
  • ctrlSharedMemReq : RingIO_sharedMemReqDetails_tag


SysLink API Reference: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- d -

  • dataRegionId : RingIOShm_Params_Tag
  • dataSharedAddr : RingIOShm_Params_Tag
  • dataSharedAddrSize : RingIOShm_Params_Tag
  • dataSharedMemReq : RingIO_sharedMemReqDetails_tag
  • dim : SyslinkMemMgr_AllocBlock_tag
  • dstId : MessageQ_MsgHeader
  • dstProc : MessageQ_MsgHeader


SysLink API Reference: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- e -

  • elem : List_Object_tag
  • enter : IGateProvider_Object
  • eventNo : FrameQBufMgr_Config_Tag , FrameQ_Config_Tag
  • exact : HeapBufMP_Params


SysLink API Reference: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- f -

  • flags : MessageQ_MsgHeader , RingIO_openParams_Tag
  • footBufSize : RingIOShm_Params_Tag
  • frameBufInfo : Frame_FrameHeader_Tag
  • frameBufParams : FrameQBufMgr_ShMem_Params_tag
  • frameBufType : Frame_FrameHeader_Tag
  • frameHeaderBufSize : FrameQBufMgr_ShMem_Params_tag
  • frameQBufMgrName : FrameQ_ShMem_Params_tag
  • frameQBufMgrSharedAddr : FrameQ_ShMem_Params_tag
  • free : IHeap_Object_tag
  • freeFrmQueueNo : Frame_FrameHeader_Tag
  • frmAllocaterId : Frame_FrameHeader_Tag
  • frmBuf_regionId : FrameQBufMgr_ShMem_Params_tag


SysLink API Reference: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- g -

  • gate : HeapBufMP_Params , HeapMemMP_Params , FrameQ_ShMem_Params_tag , FrameQBufMgr_ShMem_Params_tag , ListMP_Params
  • gateHandle : RingIOShm_Params_Tag
  • gateOffset : IpcMemMgr_Config_t
  • getKnlHandle : IHeap_Object_tag
  • getStats : IHeap_Object_tag


SysLink API Reference: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- h -

  • hdrBuf_regionId : FrameQBufMgr_ShMem_Params_tag
  • headerInterfaceType : FrameQBufMgr_ShMem_Params_tag
  • headerSize : Frame_FrameHeader_Tag
  • heapId : MessageQ_MsgHeader
  • height : SyslinkMemMgr_AllocBlock_tag , Frame_FrameBufInfo_tag , FrameQBufMgr_FrameBufParams_Tag


SysLink API Reference: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- i -

  • impParams : FrameQ_Params , FrameQBufMgr_Params
  • impParamsSize : FrameQBufMgr_Params , FrameQ_Params
  • info : ProcMgr_MappedMemEntry
  • interfaceType : RingIO_Params_Tag
  • inUse : ProcMgr_MappedMemEntry
  • isBlocking : IHeap_Object_tag
  • isCached : ProcMgr_AddrInfo_tag
  • isMapped : ProcMgr_AddrInfo_tag
  • isValid : SharedRegion_Entry


SysLink API Reference: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- l -

  • largestFreeSize : Memory_Stats_tag
  • leave : IGateProvider_Object
  • len : SyslinkMemMgr_AllocBlock_tag , SharedRegion_Entry
  • localProtect : GateMP_Params , RingIOShm_Params_Tag , FrameQ_ShMem_Params_tag , FrameQBufMgr_ShMem_Params_tag


SysLink API Reference: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- m -

  • mapMask : ProcMgr_AddrInfo_tag , ProcMgr_MappedMemEntry
  • maxAllocatedBlocks : HeapBufMP_ExtendedStats
  • maxInstances : FrameQ_Config_Tag , FrameQBufMgr_Config_Tag
  • maxMemoryRegions : ProcMgr_ProcInfo_tag
  • maxNameLen : NameServer_Params
  • maxRuntimeEntries : NameServer_Params
  • maxValueLen : NameServer_Params
  • memEntries : ProcMgr_ProcInfo_tag
  • memMgrType : SyslinkMemMgr_CreateParams_tag
  • minAlign : IpcMemMgr_Config_t
  • msgId : MessageQ_MsgHeader
  • msgSize : MessageQ_MsgHeader


SysLink API Reference: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- n -

  • name : GateMP_Params , HeapBufMP_Params , ListMP_Params , FrameQBufMgr_CreateParams_Tag , FrameQBufMgr_CommonOpenParams_Tag , SharedRegion_Entry , RingIO_Params_Tag , SyslinkMemMgr_CreateParams_tag , HeapMemMP_Params , FrameQ_CreateParams_Tag , FrameQ_CommonOpenParams_Tag
  • next : ListMP_Elem , List_Elem_tag
  • notifyType : FrameQBufMgr_NotifyParams_Tag , FrameQ_NotifyParams_Tag
  • numAllocatedBlocks : HeapBufMP_ExtendedStats
  • numBlocks : HeapBufMP_Params
  • numFrameBuffers : Frame_FrameHeader_Tag
  • numFrameBufsInFrame : FrameQBufMgr_ShMem_Params_tag
  • numFreeFramePools : FrameQBufMgr_ShMem_Params_tag
  • numFreeFramesInPool : FrameQBufMgr_ShMem_Params_tag
  • numFreeHeaderBufsInPool : FrameQBufMgr_ShMem_Params_tag
  • numMemEntries : ProcMgr_ProcInfo_tag
  • numNotifyEntries : FrameQBufMgr_ShMem_Params_tag
  • numQueues : FrameQ_ShMem_Params_tag
  • numReaders : FrameQ_ShMem_Params_tag


SysLink API Reference: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- o -

  • obj : IHeap_Object_tag
  • openFlag : FrameQ_CreateParams_Tag , FrameQBufMgr_CreateParams_Tag
  • openMode : FrameQ_CommonOpenParams_Tag , RingIO_openParams_Tag
  • ownerProcId : SharedRegion_Entry


SysLink API Reference: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- p -

  • physicalAddress : ProcMgr_SectionInfo_tag
  • pixelFormat : FrameQBufMgr_FrameBufParams_Tag , SyslinkMemMgr_AllocBlock_tag , Frame_FrameBufInfo_tag
  • policy : Ipc_Terminate
  • prev : ListMP_Elem , List_Elem_tag


SysLink API Reference: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- r -

  • refCount : ProcMgr_AddrInfo_tag
  • regionId : GateMP_Params , HeapMemMP_Params , ListMP_Params , HeapBufMP_Params , FrameQ_ShMem_Params_tag , FrameQBufMgr_ShMem_Params_tag
  • remoteProcId : RingIOShm_Params_Tag
  • remoteProtect : GateMP_Params , FrameQ_ShMem_Params_tag , FrameQBufMgr_ShMem_Params_tag , RingIOShm_Params_Tag
  • replyId : MessageQ_MsgHeader
  • replyProc : MessageQ_MsgHeader
  • reserved : MessageQ_MsgHeader , ProcMgr_StartParams_tag , GateProcess_Params
  • reserved0 : MessageQ_MsgHeader , Frame_FrameHeader_Tag
  • reserved1 : Frame_FrameHeader_Tag , MessageQ_MsgHeader


SysLink API Reference: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- s -

  • sectId : ProcMgr_SectionInfo_tag
  • seqNum : MessageQ_MsgHeader
  • sharedAddr : FrameQ_ShMem_Params_tag , FrameQBufMgr_CommonOpenParams_Tag , FrameQ_CommonOpenParams_Tag , FrameQBufMgr_ShMem_Params_tag
  • sharedAddrFrmBuf : FrameQBufMgr_ShMem_Params_tag
  • sharedAddrFrmBufSize : FrameQBufMgr_ShMem_Params_tag
  • sharedAddrHdrBuf : FrameQBufMgr_ShMem_Params_tag
  • sharedAddrHdrBufSize : FrameQBufMgr_ShMem_Params_tag
  • sharedAddrSize : FrameQ_ShMem_Params_tag , FrameQBufMgr_ShMem_Params_tag
  • sharedBufSize : HeapMemMP_Params
  • size : ProcMgr_SectionInfo_tag , FrameQ_CreateParams_Tag , SyslinkMemMgr_AllocParams_tag , FrameQBufMgr_CreateParams_Tag , ProcMgr_AddrInfo_tag , IpcMemMgr_Config_t , SyslinkMemMgr_CreateParams_tag , FrameQBufMgr_FrameBufParams_Tag , HeapMemMP_ExtendedStats
  • srcAddrType : ProcMgr_MappedMemEntry
  • srcProc : MessageQ_MsgHeader
  • startOffset : Frame_FrameBufInfo_tag
  • stride : SyslinkMemMgr_AllocBlock_tag , Frame_FrameBufInfo_tag
  • synchronizer : MessageQ_Params


SysLink API Reference: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- t -

  • tableHeap : NameServer_Params
  • temp : List_Params_tag , ResTrack_Params
  • tilerBlocks : SyslinkMemMgr_AllocParams_tag
  • totalFreeSize : Memory_Stats_tag
  • totalSize : Memory_Stats_tag


SysLink API Reference: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- u -

  • usedefaultgate : FrameQ_Config_Tag , FrameQBufMgr_Config_Tag


SysLink API Reference: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- v -

  • validSize : Frame_FrameBufInfo_tag
  • virtualAddress : ProcMgr_SectionInfo_tag


SysLink API Reference: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- w -

  • watermark : FrameQ_NotifyParams_Tag , FrameQBufMgr_NotifyParams_Tag
  • width : Frame_FrameBufInfo_tag , FrameQBufMgr_FrameBufParams_Tag , SyslinkMemMgr_AllocBlock_tag


SysLink API Reference: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- _ -

  • _f1 : GateProcess_ShMem


SysLink API Reference: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- a -

  • addr : ProcMgr_AddrInfo_tag
  • align : HeapBufMP_Params , SyslinkMemMgr_AllocParams_tag , FrameQBufMgr_FrameBufParams_Tag
  • alloc : IHeap_Object_tag
  • area : SyslinkMemMgr_AllocBlock_tag
  • attrRegionId : RingIOShm_Params_Tag
  • attrSharedAddr : RingIOShm_Params_Tag
  • attrSharedAddrSize : RingIOShm_Params_Tag
  • attrSharedMemReq : RingIO_sharedMemReqDetails_tag


SysLink API Reference: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- b -

  • base : SharedRegion_Entry
  • baseHeaderSize : Frame_FrameHeader_Tag
  • block : SyslinkMemMgr_AllocParams_tag
  • blockSize : HeapBufMP_Params
  • bootMode : ProcMgr_AttachParams_tag , ProcMgr_ProcInfo_tag
  • bootParams : ProcMgr_AttachParams_tag
  • buf : HeapMemMP_ExtendedStats
  • bufInterfaceType : FrameQBufMgr_ShMem_Params_tag
  • bufPtr : Frame_FrameBufInfo_tag
  • bufSize : Frame_FrameBufInfo_tag


SysLink API Reference: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- c -

  • cacheEnable : SharedRegion_Entry
  • cacheLineSize : SharedRegion_Entry
  • cbClientHandle : FrameQBufMgr_NotifyParams_Tag , FrameQ_NotifyParams_Tag
  • cbContext : FrameQ_NotifyParams_Tag , FrameQBufMgr_NotifyParams_Tag
  • cbFxnPtr : FrameQBufMgr_NotifyParams_Tag , FrameQ_NotifyParams_Tag
  • checkExisting : NameServer_Params
  • commonCreateParams : FrameQ_Params , FrameQ_ShMem_Params_tag , FrameQBufMgr_Params , FrameQBufMgr_ShMem_Params_tag
  • commonOpenParams : FrameQBufMgr_ShMem_OpenParams_tag , FrameQ_ShMem_OpenParams_tag
  • commonParams : RingIOShm_Params_Tag
  • cpuAccessFlags : FrameQBufMgr_CommonOpenParams_Tag , FrameQ_CommonOpenParams_Tag , FrameQ_ShMem_Params_tag , FrameQBufMgr_ShMem_Params_tag
  • createHeap : SharedRegion_Entry
  • ctrlInterfaceType : FrameQBufMgr_CreateParams_Tag , FrameQ_CreateParams_Tag
  • ctrlRegionId : RingIOShm_Params_Tag
  • ctrlSharedAddr : RingIOShm_Params_Tag
  • ctrlSharedMemReq : RingIO_sharedMemReqDetails_tag


SysLink API Reference: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- d -

  • dataRegionId : RingIOShm_Params_Tag
  • dataSharedAddr : RingIOShm_Params_Tag
  • dataSharedAddrSize : RingIOShm_Params_Tag
  • dataSharedMemReq : RingIO_sharedMemReqDetails_tag
  • dim : SyslinkMemMgr_AllocBlock_tag
  • dstId : MessageQ_MsgHeader
  • dstProc : MessageQ_MsgHeader


SysLink API Reference: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- e -

  • elem : List_Object_tag
  • enter : IGateProvider_Object
  • eventNo : FrameQBufMgr_Config_Tag , FrameQ_Config_Tag
  • exact : HeapBufMP_Params


SysLink API Reference: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- f -

  • flags : MessageQ_MsgHeader , RingIO_openParams_Tag
  • footBufSize : RingIOShm_Params_Tag
  • frameBufInfo : Frame_FrameHeader_Tag
  • frameBufParams : FrameQBufMgr_ShMem_Params_tag
  • frameBufType : Frame_FrameHeader_Tag
  • frameHeaderBufSize : FrameQBufMgr_ShMem_Params_tag
  • frameQBufMgrName : FrameQ_ShMem_Params_tag
  • frameQBufMgrSharedAddr : FrameQ_ShMem_Params_tag
  • free : IHeap_Object_tag
  • freeFrmQueueNo : Frame_FrameHeader_Tag
  • frmAllocaterId : Frame_FrameHeader_Tag
  • frmBuf_regionId : FrameQBufMgr_ShMem_Params_tag


SysLink API Reference: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- g -

  • gate : HeapBufMP_Params , HeapMemMP_Params , FrameQ_ShMem_Params_tag , FrameQBufMgr_ShMem_Params_tag , ListMP_Params
  • gateHandle : RingIOShm_Params_Tag
  • gateOffset : IpcMemMgr_Config_t
  • getKnlHandle : IHeap_Object_tag
  • getStats : IHeap_Object_tag


SysLink API Reference: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- h -

  • hdrBuf_regionId : FrameQBufMgr_ShMem_Params_tag
  • headerInterfaceType : FrameQBufMgr_ShMem_Params_tag
  • headerSize : Frame_FrameHeader_Tag
  • heapId : MessageQ_MsgHeader
  • height : SyslinkMemMgr_AllocBlock_tag , Frame_FrameBufInfo_tag , FrameQBufMgr_FrameBufParams_Tag


SysLink API Reference: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- i -

  • impParams : FrameQ_Params , FrameQBufMgr_Params
  • impParamsSize : FrameQBufMgr_Params , FrameQ_Params
  • info : ProcMgr_MappedMemEntry
  • interfaceType : RingIO_Params_Tag
  • inUse : ProcMgr_MappedMemEntry
  • isBlocking : IHeap_Object_tag
  • isCached : ProcMgr_AddrInfo_tag
  • isMapped : ProcMgr_AddrInfo_tag
  • isValid : SharedRegion_Entry


SysLink API Reference: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- l -

  • largestFreeSize : Memory_Stats_tag
  • leave : IGateProvider_Object
  • len : SyslinkMemMgr_AllocBlock_tag , SharedRegion_Entry
  • localProtect : GateMP_Params , RingIOShm_Params_Tag , FrameQ_ShMem_Params_tag , FrameQBufMgr_ShMem_Params_tag


SysLink API Reference: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- m -

  • mapMask : ProcMgr_AddrInfo_tag , ProcMgr_MappedMemEntry
  • maxAllocatedBlocks : HeapBufMP_ExtendedStats
  • maxInstances : FrameQ_Config_Tag , FrameQBufMgr_Config_Tag
  • maxMemoryRegions : ProcMgr_ProcInfo_tag
  • maxNameLen : NameServer_Params
  • maxRuntimeEntries : NameServer_Params
  • maxValueLen : NameServer_Params
  • memEntries : ProcMgr_ProcInfo_tag
  • memMgrType : SyslinkMemMgr_CreateParams_tag
  • minAlign : IpcMemMgr_Config_t
  • msgId : MessageQ_MsgHeader
  • msgSize : MessageQ_MsgHeader


SysLink API Reference: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- n -

  • name : GateMP_Params , HeapBufMP_Params , ListMP_Params , FrameQBufMgr_CreateParams_Tag , FrameQBufMgr_CommonOpenParams_Tag , SharedRegion_Entry , RingIO_Params_Tag , SyslinkMemMgr_CreateParams_tag , HeapMemMP_Params , FrameQ_CreateParams_Tag , FrameQ_CommonOpenParams_Tag
  • next : ListMP_Elem , List_Elem_tag
  • notifyType : FrameQBufMgr_NotifyParams_Tag , FrameQ_NotifyParams_Tag
  • numAllocatedBlocks : HeapBufMP_ExtendedStats
  • numBlocks : HeapBufMP_Params
  • numFrameBuffers : Frame_FrameHeader_Tag
  • numFrameBufsInFrame : FrameQBufMgr_ShMem_Params_tag
  • numFreeFramePools : FrameQBufMgr_ShMem_Params_tag
  • numFreeFramesInPool : FrameQBufMgr_ShMem_Params_tag
  • numFreeHeaderBufsInPool : FrameQBufMgr_ShMem_Params_tag
  • numMemEntries : ProcMgr_ProcInfo_tag
  • numNotifyEntries : FrameQBufMgr_ShMem_Params_tag
  • numQueues : FrameQ_ShMem_Params_tag
  • numReaders : FrameQ_ShMem_Params_tag


SysLink API Reference: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- o -

  • obj : IHeap_Object_tag
  • openFlag : FrameQ_CreateParams_Tag , FrameQBufMgr_CreateParams_Tag
  • openMode : FrameQ_CommonOpenParams_Tag , RingIO_openParams_Tag
  • ownerProcId : SharedRegion_Entry


SysLink API Reference: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- p -

  • physicalAddress : ProcMgr_SectionInfo_tag
  • pixelFormat : FrameQBufMgr_FrameBufParams_Tag , SyslinkMemMgr_AllocBlock_tag , Frame_FrameBufInfo_tag
  • policy : Ipc_Terminate
  • prev : ListMP_Elem , List_Elem_tag


SysLink API Reference: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- r -

  • refCount : ProcMgr_AddrInfo_tag
  • regionId : GateMP_Params , HeapMemMP_Params , ListMP_Params , HeapBufMP_Params , FrameQ_ShMem_Params_tag , FrameQBufMgr_ShMem_Params_tag
  • remoteProcId : RingIOShm_Params_Tag
  • remoteProtect : GateMP_Params , FrameQ_ShMem_Params_tag , FrameQBufMgr_ShMem_Params_tag , RingIOShm_Params_Tag
  • replyId : MessageQ_MsgHeader
  • replyProc : MessageQ_MsgHeader
  • reserved : MessageQ_MsgHeader , ProcMgr_StartParams_tag , GateProcess_Params
  • reserved0 : MessageQ_MsgHeader , Frame_FrameHeader_Tag
  • reserved1 : Frame_FrameHeader_Tag , MessageQ_MsgHeader


SysLink API Reference: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- s -

  • sectId : ProcMgr_SectionInfo_tag
  • seqNum : MessageQ_MsgHeader
  • sharedAddr : FrameQ_ShMem_Params_tag , FrameQBufMgr_CommonOpenParams_Tag , FrameQ_CommonOpenParams_Tag , FrameQBufMgr_ShMem_Params_tag
  • sharedAddrFrmBuf : FrameQBufMgr_ShMem_Params_tag
  • sharedAddrFrmBufSize : FrameQBufMgr_ShMem_Params_tag
  • sharedAddrHdrBuf : FrameQBufMgr_ShMem_Params_tag
  • sharedAddrHdrBufSize : FrameQBufMgr_ShMem_Params_tag
  • sharedAddrSize : FrameQ_ShMem_Params_tag , FrameQBufMgr_ShMem_Params_tag
  • sharedBufSize : HeapMemMP_Params
  • size : ProcMgr_SectionInfo_tag , FrameQ_CreateParams_Tag , SyslinkMemMgr_AllocParams_tag , FrameQBufMgr_CreateParams_Tag , ProcMgr_AddrInfo_tag , IpcMemMgr_Config_t , SyslinkMemMgr_CreateParams_tag , FrameQBufMgr_FrameBufParams_Tag , HeapMemMP_ExtendedStats
  • srcAddrType : ProcMgr_MappedMemEntry
  • srcProc : MessageQ_MsgHeader
  • startOffset : Frame_FrameBufInfo_tag
  • stride : SyslinkMemMgr_AllocBlock_tag , Frame_FrameBufInfo_tag
  • synchronizer : MessageQ_Params


SysLink API Reference: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- t -

  • tableHeap : NameServer_Params
  • temp : List_Params_tag , ResTrack_Params
  • tilerBlocks : SyslinkMemMgr_AllocParams_tag
  • totalFreeSize : Memory_Stats_tag
  • totalSize : Memory_Stats_tag


SysLink API Reference: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- u -

  • usedefaultgate : FrameQ_Config_Tag , FrameQBufMgr_Config_Tag


SysLink API Reference: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- v -

  • validSize : Frame_FrameBufInfo_tag
  • virtualAddress : ProcMgr_SectionInfo_tag


SysLink API Reference: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
  • w

- w -

  • watermark : FrameQ_NotifyParams_Tag , FrameQBufMgr_NotifyParams_Tag
  • width : Frame_FrameBufInfo_tag , FrameQBufMgr_FrameBufParams_Tag , SyslinkMemMgr_AllocBlock_tag


SysLink API Reference: File List

  • File List
  • Globals
File List
Here is a list of all files with brief descriptions:
[detail level 1234]
\ - ti |
o - ipc |
| o * GateMP.h | Multiple processor gate that provides local and remote context protection
| o * HeapBufMP.h | Multi-processor fixed-size buffer heap implementation
| o * HeapMemMP.h | Multi-processor variable size buffer heap implementation
| o * Ipc.h | Ipc Manager
| o * ListMP.h | Multiple processor shared memory list
| o * MessageQ.h | MessageQ Manager
| o * MultiProc.h | Processor ID Manager
| o * NameServer.h | NameServer Manager
| o * Notify.h | Notification manager for IPC
| \ * SharedRegion.h | Shared memory manager and address translator
\ - syslink |
o - utils |
| o * Cache.h | Defines Cache API interface
| o * Cfg.h | Configuration Helper Utilities
| o * Dev.h | Defines Dev API interface
| o * Gate.h | Critical section support
| o * GateMonitor.h | Header file for Gate based on Monitor
| o * GateMutex.h | Gate based on Mutex
| o * GateProcess.h | Process level gate
| o * GateSem.h | Header file for Gate based on Semaphore
| o * GateSpinlock.h | Gate based on Spinlock
| o * IGateProvider.h | Interface implemented by all gate providers
| o * IHeap.h | Defines Heap based memory allocator
| o * IpcMemMgr.h | IPC Memory Manager
| o * List.h | Creates a doubly linked list. It works as utils for other modules
| o * Memory.h | Memory manager interface definitions
| o * MemoryDefs.h | Definitions for Memory module
| o * MemoryOS.h | Memory abstraction APIs for local memory allocation
| o * OsalPrint.h | Kernel utils Print interface definitions
| o * OsalSemaphore.h | Kernel utils Semaphore interface definitions
| o * ResTrack.h | Resource Tracker utility module
| o * String.h | Defines for String manipulation library
| o * SyslinkMemMgr.h | Header file implementing Memory manager. It is a wrapper implementation to support Shared memory allocation using heap address translations using shared region or Tiler buffer allocation using tiler buffer manager and address translations
| \ * Trace.h | Kernel Trace enabling/disabling/application interface
o * FrameQ.h | Defines for interfaces for FrameQ module. (Deprecated)
o * FrameQ_ShMem.h | Header file for FrameQ on SharedMemory interface. (Deprecated)
o * FrameQBufMgr.h | Defines for interfaces for FrameQBufMgr module. (Deprecated)
o * FrameQBufMgr_ShMem.h | Header file for FrameQBufMgr ShMem. (Deprecated)
o * FrameQBufMgrDefs.h | Defines configurable elements for FrameQBufMgr module
o * FrameQDefs.h | Defines configurable elements for FrameQ module. (Deprecated)
o * IpcHost.h | This file contains APIs and defines that are used by applications only on the host-side of the device
o * ProcMgr.h | The Processor Manager on a master processor provides control functionality for a slave device
o * RingIO.h | RingIO module
o * RingIOShm.h | RingIOShm shared memory based physical transport for communication with another client
o * Std.h | This will have definitions of standard data types for platform abstraction
\ * SysLink.h | This module contains common definitions, types, structures and functions used by SysLink


SysLink API Reference: ti/ Directory Reference

  • ti
ti Directory Reference
Directory dependency graph for ti/:

Directories

directory | ipc
directory | syslink


SysLink API Reference: ti/ipc/ Directory Reference

  • ti
  • ipc
ipc Directory Reference
Directory dependency graph for ti/ipc/:

Files

file | GateMP.h [code]
Multiple processor gate that provides local and remote context protection.
file | HeapBufMP.h [code]
Multi-processor fixed-size buffer heap implementation.
file | HeapMemMP.h [code]
Multi-processor variable size buffer heap implementation.
file | Ipc.h [code]
Ipc Manager.
file | ListMP.h [code]
Multiple processor shared memory list.
file | MessageQ.h [code]
MessageQ Manager.
file | MultiProc.h [code]
Processor ID Manager.
file | NameServer.h [code]
NameServer Manager.
file | Notify.h [code]
Notification manager for IPC.
file | SharedRegion.h [code]
Shared memory manager and address translator.


SysLink API Reference: ti/ipc/GateMP.h File Reference

  • ti
  • ipc
Data Structures | Macros | Typedefs | Enumerations | Functions
GateMP.h File Reference

Detailed Description

Multiple processor gate that provides local and remote context protection.

============================================================================

A GateMP instance can be used to enforce both local and remote context context protection. That is, entering a GateMP can prevent preemption by another thread running on the same processor and simultaneously prevent a remote processor from entering the same gate. GateMP's are typically used to protect reads/writes to a shared resource, such as shared memory.

Creating a GateMP requires supplying the following configuration

  • Instance name (see GateMP_Params::name)
  • Region id (see GateMP_Params::regionId) In addition, the following parameters should be configured as necessary:
  • The level of local protection (interrupt, thread, tasklet, process or none) can be configured using the GateMP_Params::localProtect config parameter.
  • The type of remote system gate that can be used. Most devices will typically have a single type of system gate so this configuration should typically be left alone. See GateMP_Params::remoteProtect for more information.

Once created GateMP allows the gate to be opened on another processor using GateMP_open() and the name that was used in GateMP_create().

A GateMP can be entered and left using GateMP_enter() and GateMP_leave() like any other gate that implements the IGateProvider interface.

GateMP has the following proxies - RemoteSystemProxy, RemoteCustom1Proxy and RemoteCustom2Proxy which are automatically plugged with device-specific delegates that implement multiple processor mutexes using a variety of hardware mechanisms.

GateMP creates a default system gate whose handle may be obtained using GateMP_getDefaultRemote(). Most IPC modules typically use this gate by default if they require gates and no instance gate is configured by the user.

The GateMP header should be included in an application as follows:

#include <ti/ipc/GateMP.h>
Version:
0.00.01

============================================================================

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct GateMP_Params
Structure defining parameters for the GateMP module. More...

Macros

#define | GateMP_S_BUSY 2
The resource is still in use.
#define | GateMP_S_ALREADYSETUP 1
The module has been already setup.
#define | GateMP_S_SUCCESS 0
Operation is successful.
#define | GateMP_E_FAIL -1
Generic failure.
#define | GateMP_E_INVALIDARG -2
Argument passed to function is invalid.
#define | GateMP_E_MEMORY -3
Operation resulted in memory failure.
#define | GateMP_E_ALREADYEXISTS -4
The specified entity already exists.
#define | GateMP_E_NOTFOUND -5
Unable to find the specified entity.
#define | GateMP_E_TIMEOUT -6
Operation timed out.
#define | GateMP_E_INVALIDSTATE -7
Module is not initialized.
#define | GateMP_E_OSFAILURE -8
A failure occurred in an OS-specific call.
#define | GateMP_E_RESOURCE -9
Specified resource is not available.
#define | GateMP_E_RESTART -10
Operation was interrupted. Please restart the operation.

Typedefs

typedef enum GateMP_LocalProtect | GateMP_LocalProtect
A set of local context protection levels.
typedef enum GateMP_RemoteProtect | GateMP_RemoteProtect
Type of remote Gate.
typedef struct GateMP_Object * | GateMP_Handle
GateMP_Handle type.
typedef struct GateMP_Params | GateMP_Params
Structure defining parameters for the GateMP module.

Enumerations

enum GateMP_LocalProtect {
GateMP_LocalProtect_NONE = 0,
GateMP_LocalProtect_INTERRUPT = 1,
GateMP_LocalProtect_TASKLET = 2,
GateMP_LocalProtect_THREAD = 3,
GateMP_LocalProtect_PROCESS = 4
}
A set of local context protection levels. More...
enum GateMP_RemoteProtect {
GateMP_RemoteProtect_NONE = 0,
GateMP_RemoteProtect_SYSTEM = 1,
GateMP_RemoteProtect_CUSTOM1 = 2,
GateMP_RemoteProtect_CUSTOM2 = 3
}
Type of remote Gate. More...

Functions

Int | GateMP_close (GateMP_Handle *handlePtr)
Close an opened gate.
GateMP_Handle | GateMP_create (const GateMP_Params *params)
Create a GateMP instance.
Int | GateMP_delete (GateMP_Handle *handlePtr)
Delete a created GateMP instance.
GateMP_Handle GateMP_getDefaultRemote (Void)
Get the default remote gate.
GateMP_LocalProtect | GateMP_getLocalProtect (GateMP_Handle handle)
Get the local protection level configured in a GateMP instance.
GateMP_RemoteProtect | GateMP_getRemoteProtect (GateMP_Handle handle)
Get the remote protection level configured in a GateMP instance.
Int | GateMP_open (String name, GateMP_Handle *handlePtr)
Open a created GateMP by name.
Void | GateMP_Params_init (GateMP_Params *params)
Initialize a GateMP parameters struct.
IArg | GateMP_enter (GateMP_Handle handle)
Enter the GateMP.
Void | GateMP_leave (GateMP_Handle handle, IArg key)
Leave the GateMP.

Macro Definition Documentation

#define GateMP_S_BUSY 2

The resource is still in use.

#define GateMP_S_ALREADYSETUP 1

The module has been already setup.

#define GateMP_S_SUCCESS 0

Operation is successful.

#define GateMP_E_FAIL -1

Generic failure.

#define GateMP_E_INVALIDARG -2

Argument passed to function is invalid.

#define GateMP_E_MEMORY -3

Operation resulted in memory failure.

#define GateMP_E_ALREADYEXISTS -4

The specified entity already exists.

#define GateMP_E_NOTFOUND -5

Unable to find the specified entity.

#define GateMP_E_TIMEOUT -6

Operation timed out.

#define GateMP_E_INVALIDSTATE -7

Module is not initialized.

#define GateMP_E_OSFAILURE -8

A failure occurred in an OS-specific call.

#define GateMP_E_RESOURCE -9

Specified resource is not available.

#define GateMP_E_RESTART -10

Operation was interrupted. Please restart the operation.

Typedef Documentation

typedef enum GateMP_LocalProtect GateMP_LocalProtect

A set of local context protection levels.

Each member corresponds to a specific local processor gates used for local protection.

In Linux user mode, the following are the mapping for the constants

  • INTERRUPT -> [N/A]
  • TASKLET -> [N/A]
  • THREAD -> GateMutex
  • PROCESS -> GateMutex

In Linux kernel mode, the following are the mapping for the constants

  • INTERRUPT -> [Interrupts disabled]
  • TASKLET -> GateMutex
  • THREAD -> GateMutex
  • PROCESS -> GateMutex

For SYS/BIOS users, the following are the mappings for the constants

  • INTERRUPT -> GateAll: disables interrupts, Swis and Tasks
  • TASKLET -> GateSwi: disables Swis and Tasks
  • THREAD -> GateMutexPri: based on Semaphores
  • PROCESS -> GateMutexPri: based on Semaphores
typedef enum GateMP_RemoteProtect GateMP_RemoteProtect

Type of remote Gate.

Each member corresponds to a specific type of remote gate. Each enum value corresponds to the following remote protection levels:

  • NONE -> No remote protection (the GateMP instance will exclusively offer local protection configured in GateMP_Params::localProtect
  • SYSTEM -> Use the SYSTEM remote protection level (default for remote protection
  • CUSTOM1 -> Use the CUSTOM1 remote protection level
  • CUSTOM2 -> Use the CUSTOM2 remote protection level
typedef struct GateMP_Object* GateMP_Handle

GateMP_Handle type.

typedef struct GateMP_Params GateMP_Params

Structure defining parameters for the GateMP module.

Enumeration Type Documentation

enum GateMP_LocalProtect

A set of local context protection levels.

Each member corresponds to a specific local processor gates used for local protection.

In Linux user mode, the following are the mapping for the constants

  • INTERRUPT -> [N/A]
  • TASKLET -> [N/A]
  • THREAD -> GateMutex
  • PROCESS -> GateMutex

In Linux kernel mode, the following are the mapping for the constants

  • INTERRUPT -> [Interrupts disabled]
  • TASKLET -> GateMutex
  • THREAD -> GateMutex
  • PROCESS -> GateMutex

For SYS/BIOS users, the following are the mappings for the constants

  • INTERRUPT -> GateAll: disables interrupts, Swis and Tasks
  • TASKLET -> GateSwi: disables Swis and Tasks
  • THREAD -> GateMutexPri: based on Semaphores
  • PROCESS -> GateMutexPri: based on Semaphores
Enumerator:
GateMP_LocalProtect_NONE

Use no local protection

GateMP_LocalProtect_INTERRUPT

Use the INTERRUPT local protection level

GateMP_LocalProtect_TASKLET

Use the TASKLET local protection level

GateMP_LocalProtect_THREAD

Use the THREAD local protection level

GateMP_LocalProtect_PROCESS

Use the PROCESS local protection level

enum GateMP_RemoteProtect

Type of remote Gate.

Each member corresponds to a specific type of remote gate. Each enum value corresponds to the following remote protection levels:

  • NONE -> No remote protection (the GateMP instance will exclusively offer local protection configured in GateMP_Params::localProtect
  • SYSTEM -> Use the SYSTEM remote protection level (default for remote protection
  • CUSTOM1 -> Use the CUSTOM1 remote protection level
  • CUSTOM2 -> Use the CUSTOM2 remote protection level
Enumerator:
GateMP_RemoteProtect_NONE

No remote protection (the GateMP instance will exclusively offer local protection configured in GateMP_Params::localProtect)

GateMP_RemoteProtect_SYSTEM

Use the SYSTEM remote protection level (default remote protection)

GateMP_RemoteProtect_CUSTOM1

Use the CUSTOM1 remote protection level

GateMP_RemoteProtect_CUSTOM2

Use the CUSTOM2 remote protection level

Function Documentation

Int GateMP_close ( GateMP_Handle * handlePtr )

Close an opened gate.

Parameters:
[in,out] handlePtr Pointer to handle to opened GateMP instance
Returns:
GateMP status
GateMP_Handle GateMP_create ( const GateMP_Params * params )

Create a GateMP instance.

The params structure should be initialized using GateMP_Params_init().

Parameters:
[in] params GateMP parameters
Returns:
GateMP Handle
Int GateMP_delete ( GateMP_Handle * handlePtr )

Delete a created GateMP instance.

Parameters:
[in,out] handlePtr Pointer to GateMP handle
Returns:
GateMP Status
GateMP_Handle GateMP_getDefaultRemote ( Void )

Get the default remote gate.

Returns:
GateMP handle
GateMP_LocalProtect GateMP_getLocalProtect ( GateMP_Handle handle )

Get the local protection level configured in a GateMP instance.

Returns:
GateMP_LocalProtect corresponding to local protection level
GateMP_RemoteProtect GateMP_getRemoteProtect ( GateMP_Handle handle )

Get the remote protection level configured in a GateMP instance.

Returns:
GateMP_RemoteProtect corresponding to remote protection level
Int GateMP_open | ( | String | name,
 |  | GateMP_Handle * | handlePtr
 | ) |  |

Open a created GateMP by name.

Parameters:
[in] | name | Name of the GateMP instance
[out] | handlePtr | Pointer to GateMP handle to be opened
Returns:
GateMP status:
  • GateMP_E_NOTFOUND: open failed (name not found on any processor)
  • GateMP_E_FAIL: open failed (general failure occurred)
  • GateMP_S_SUCCESS: open successful
Void GateMP_Params_init ( GateMP_Params * params )

Initialize a GateMP parameters struct.

Parameters:
[out] params Pointer to GateMP parameters
IArg GateMP_enter ( GateMP_Handle handle )

Enter the GateMP.

Parameters:
[in] handle GateMP handle
Returns:
key that must be used to leave the gate
Void GateMP_leave | ( | GateMP_Handle | handle,
 |  | IArg | key
 | ) |  |

Leave the GateMP.

Parameters:
[in] | handle | GateMP handle
[in] | key | key returned from GateMP_enter


SysLink API Reference: ti/ipc/HeapBufMP.h File Reference

  • ti
  • ipc
Data Structures | Macros | Typedefs | Functions
HeapBufMP.h File Reference

Detailed Description

Multi-processor fixed-size buffer heap implementation.

============================================================================

Heap implementation that manages fixed size buffers that can be used in a multiprocessor system with shared memory.

The HeapBufMP manager provides functions to allocate and free storage from a heap of type HeapBufMP which inherits from IHeap. HeapBufMP manages a single fixed-size buffer, split into equally sized allocatable blocks.

The HeapBufMP manager is intended as a very fast memory manager which can only allocate blocks of a single size. It is ideal for managing a heap that is only used for allocating a single type of object, or for objects that have very similar sizes.

The HeapBufMP module uses a NameServer instance to store instance information when an instance is created. The name supplied must be unique for all HeapBufMP instances.

The HeapBufMP_create call initializes the shared memory as needed. Once an instance is created, a HeapBufMP_open can be performed. The open is used to gain access to the same HeapBufMP instance. Generally an instance is created on one processor and opened on the other processor(s).

The open returns a HeapBufMP instance handle like the create, however the open does not modify the shared memory.

The HeapBufMP header should be included in an application as follows:

#include <ti/ipc/HeapBufMP.h>
Version:
0.00.01
#include <ti/ipc/GateMP.h>
Include dependency graph for HeapBufMP.h:

Go to the source code of this file.

Data Structures

struct | HeapBufMP_Params
Structure defining parameters for the HeapBufMP module. More...
struct | HeapBufMP_ExtendedStats
Stats structure for the HeapBufMP_getExtendedStats API. More...

Macros

#define | HeapBufMP_S_BUSY 2
The resource is still in use.
#define | HeapBufMP_S_ALREADYSETUP 1
The module has been already setup.
#define | HeapBufMP_S_SUCCESS 0
Operation is successful.
#define | HeapBufMP_E_FAIL -1
Generic failure.
#define | HeapBufMP_E_INVALIDARG -2
Argument passed to function is invalid.
#define | HeapBufMP_E_MEMORY -3
Operation resulted in memory failure.
#define | HeapBufMP_E_ALREADYEXISTS -4
The specified entity already exists.
#define | HeapBufMP_E_NOTFOUND -5
Unable to find the specified entity.
#define | HeapBufMP_E_TIMEOUT -6
Operation timed out.
#define | HeapBufMP_E_INVALIDSTATE -7
Module is not initialized.
#define | HeapBufMP_E_OSFAILURE -8
A failure occurred in an OS-specific call.
#define | HeapBufMP_E_RESOURCE -9
Specified resource is not available.
#define | HeapBufMP_E_RESTART -10
Operation was interrupted. Please restart the operation.

Typedefs

typedef struct HeapBufMP_Object * | HeapBufMP_Handle
HeapBufMP_Handle type.
typedef struct HeapBufMP_Params | HeapBufMP_Params
Structure defining parameters for the HeapBufMP module.
typedef struct
HeapBufMP_ExtendedStats 		HeapBufMP_ExtendedStats
Stats structure for the HeapBufMP_getExtendedStats API.

Functions

Int | HeapBufMP_close (HeapBufMP_Handle *handlePtr)
Close a HeapBufMP instance.
HeapBufMP_Handle | HeapBufMP_create (const HeapBufMP_Params *params)
Create a HeapBufMP instance.
Int | HeapBufMP_delete (HeapBufMP_Handle *handlePtr)
Delete a created HeapBufMP instance.
Int | HeapBufMP_open (String name, HeapBufMP_Handle *handlePtr)
Open a created HeapBufMP instance.
Void | HeapBufMP_Params_init (HeapBufMP_Params *params)
Initialize a HeapBufMP parameters struct.
Void * | HeapBufMP_alloc (HeapBufMP_Handle handle, SizeT size, SizeT align)
Allocate a block of memory of specified size and alignment.
Void | HeapBufMP_free (HeapBufMP_Handle handle, Ptr block, SizeT size)
Frees a block of memory.
Void | HeapBufMP_getExtendedStats (HeapBufMP_Handle handle, HeapBufMP_ExtendedStats *stats)
Get extended memory statistics.
Void | HeapBufMP_getStats (HeapBufMP_Handle handle, Ptr stats)
Get memory statistics.

Macro Definition Documentation

#define HeapBufMP_S_BUSY 2

The resource is still in use.

#define HeapBufMP_S_ALREADYSETUP 1

The module has been already setup.

#define HeapBufMP_S_SUCCESS 0

Operation is successful.

#define HeapBufMP_E_FAIL -1

Generic failure.

#define HeapBufMP_E_INVALIDARG -2

Argument passed to function is invalid.

#define HeapBufMP_E_MEMORY -3

Operation resulted in memory failure.

#define HeapBufMP_E_ALREADYEXISTS -4

The specified entity already exists.

#define HeapBufMP_E_NOTFOUND -5

Unable to find the specified entity.

#define HeapBufMP_E_TIMEOUT -6

Operation timed out.

#define HeapBufMP_E_INVALIDSTATE -7

Module is not initialized.

#define HeapBufMP_E_OSFAILURE -8

A failure occurred in an OS-specific call.

#define HeapBufMP_E_RESOURCE -9

Specified resource is not available.

#define HeapBufMP_E_RESTART -10

Operation was interrupted. Please restart the operation.

Typedef Documentation

typedef struct HeapBufMP_Object* HeapBufMP_Handle

HeapBufMP_Handle type.

typedef struct HeapBufMP_Params HeapBufMP_Params

Structure defining parameters for the HeapBufMP module.

typedef struct HeapBufMP_ExtendedStats HeapBufMP_ExtendedStats

Stats structure for the HeapBufMP_getExtendedStats API.

Function Documentation

Int HeapBufMP_close ( HeapBufMP_Handle * handlePtr )

Close a HeapBufMP instance.

Closing an instance will free local memory consumed by the opened instance. All opened instances should be closed before the instance is deleted.

Parameters:
[in,out] handlePtr Pointer to HeapBufMP handle typically returned from HeapBufMP_open
Returns:
HeapBufMP status:
  • HeapBufMP_S_SUCCESS: Heap successfully closed
See also:
HeapBufMP_open
HeapBufMP_Handle HeapBufMP_create ( const HeapBufMP_Params * params )

Create a HeapBufMP instance.

Parameters:
[in] params HeapBufMP parameters
Returns:
HeapBufMP Handle
Int HeapBufMP_delete ( HeapBufMP_Handle * handlePtr )

Delete a created HeapBufMP instance.

Parameters:
[in,out] handlePtr Pointer to handle to delete.
Returns:
HeapBufMP status:
  • HeapBufMP_S_SUCCESS: Heap successfully deleted
Int HeapBufMP_open | ( | String | name,
 |  | HeapBufMP_Handle * | handlePtr
 | ) |  |

Open a created HeapBufMP instance.

Once an instance is created, an open can be performed. The open is used to gain access to the same HeapBufMP instance. Generally an instance is created on one processor and opened on the other processor.

The open returns a HeapBufMP instance handle like the create, however the open does not initialize the shared memory. The supplied name is used to identify the created instance.

Call HeapBufMP_close when the opened instance is not longer needed.

Parameters:
[in] | name | Name of created HeapBufMP instance
[out] | handlePtr | Pointer to HeapBufMP handle to be opened
Returns:
HeapBufMP status:
  • HeapBufMP_S_SUCCESS: Heap successfully opened
  • HeapBufMP_E_NOTFOUND: Heap is not yet ready to be opened.
  • HeapBufMP_E_FAIL: A general failure has occurred
See also:
HeapBufMP_close
Void HeapBufMP_Params_init ( HeapBufMP_Params * params )

Initialize a HeapBufMP parameters struct.

Parameters:
[out] params Pointer to GateMP parameters
Void* HeapBufMP_alloc | ( | HeapBufMP_Handle | handle,
 |  | SizeT | size,
 |  | SizeT | align
 | ) |  |

Allocate a block of memory of specified size and alignment.

The actual block returned may be larger than requested to satisfy alignment requirements. NULL is returned if alloc fails.

HeapBufMP_alloc will lock the heap using the HeapBufMP gate while it traverses the list of free blocks to find a large enough block for the request.

Guidelines for using large heaps and multiple alloc() calls.

  • If possible, allocate larger blocks first. Previous allocations of small memory blocks can reduce the size of the blocks available for larger memory allocations.
  • Realize that alloc() can fail even if the heap contains a sufficient absolute amount of unalloccated space. This is because the largest free memory block may be smaller than total amount of unallocated memory.
Parameters:
[in] | handle | Handle to previously created/opened instance.
[in] | size | Size to be allocated (in MADUs)
[in] | align | Alignment for allocation (power of 2)
See also:
HeapBufMP_free
Void HeapBufMP_free | ( | HeapBufMP_Handle | handle,
 |  | Ptr | block,
 |  | SizeT | size
 | ) |  |

Frees a block of memory.

free() places the memory block specified by addr and size back into the free pool of the heap specified. The newly freed block is combined with any adjacent free blocks. The space is then available for further allocation by alloc().

HeapBufMP_free will lock the heap using the HeapBufMP gate if one is specified or the system GateMP if not.

Parameters:
[in] | handle | Handle to previously created/opened instance.
[in] | block | Block of memory to be freed.
[in] | size | Size to be freed (in MADUs)
See also:
HeapBufMP_alloc
Void HeapBufMP_getExtendedStats | ( | HeapBufMP_Handle | handle,
 |  | HeapBufMP_ExtendedStats * | stats
 | ) |  |

Get extended memory statistics.

This function retrieves the extended statistics for a HeapBufMP instance. It does not retrieve the standard Memory_Stats information. Refer to HeapBufMP_ExtendedStats for more information regarding what information is returned.

In BIOS, HeapBufMP.trackAllocs needs to be set to 'true' in the configuration to get meaningful extended stats.

Parameters:
[in] | handle | Handle to previously created/opened instance.
[out] | stats | ExtendedStats structure
See also:
HeapBufMP_getStats
Void HeapBufMP_getStats | ( | HeapBufMP_Handle | handle,
 |  | Ptr | stats
 | ) |  |

Get memory statistics.

Parameters:
[in] | handle | Handle to previously created/opened instance.
[out] | stats | Memory statistics structure
See also:
HeapBufMP_getExtendedStats


SysLink API Reference: ti/ipc/HeapMemMP.h File Reference

  • ti
  • ipc
Data Structures | Macros | Typedefs | Functions
HeapMemMP.h File Reference

Detailed Description

Multi-processor variable size buffer heap implementation.

============================================================================

HeapMemMP is a heap implementation that manages variable size buffers that can be used in a multiprocessor system with shared memory. HeapMemMP manages a single buffer in shared memory from which blocks of user- specified length are allocated and freed.

The HeapMemMP module uses a NameServer instance to store instance information when an instance is created. The name supplied must be unique for all HeapMemMP instances.

The HeapMemMP_create call initializes the shared memory as needed. Once an instance is created, an HeapMemMP_open can be performed. The open is used to gain access to the same HeapMemMP instance. Generally an instance is created on one processor and opened on the other processor(s).

The open returns a HeapMemMP instance handle like the create, however the open does not modify the shared memory.

Because HeapMemMP is a variable-size heap implementation, it is also used by the SharedRegion module to manage shared memory in each shared region. When any shared memory IPC instance is created in a particular shared region, the HeapMemMP that manages shared memory in the shared region allocates shared memory for the instance.

The HeapMemMP header should be included in an application as follows:

#include <ti/ipc/HeapMemMP.h>
Version:
0.00.01

============================================================================

#include <ti/ipc/GateMP.h>
Include dependency graph for HeapMemMP.h:

Go to the source code of this file.

Data Structures

struct | HeapMemMP_Params
Structure defining parameters for the HeapMemMP module. More...
struct | HeapMemMP_ExtendedStats
Stats structure for the HeapMemMP_getExtendedStats API. More...

Macros

#define | HeapMemMP_S_BUSY 2
The resource is still in use.
#define | HeapMemMP_S_ALREADYSETUP 1
The module has been already setup.
#define | HeapMemMP_S_SUCCESS 0
Operation is successful.
#define | HeapMemMP_E_FAIL -1
Generic failure.
#define | HeapMemMP_E_INVALIDARG -2
Argument passed to function is invalid.
#define | HeapMemMP_E_MEMORY -3
Operation resulted in memory failure.
#define | HeapMemMP_E_ALREADYEXISTS -4
The specified entity already exists.
#define | HeapMemMP_E_NOTFOUND -5
Unable to find the specified entity.
#define | HeapMemMP_E_TIMEOUT -6
Operation timed out.
#define | HeapMemMP_E_INVALIDSTATE -7
Module is not initialized.
#define | HeapMemMP_E_OSFAILURE -8
A failure occurred in an OS-specific call.
#define | HeapMemMP_E_RESOURCE -9
Specified resource is not available.
#define | HeapMemMP_E_RESTART -10
Operation was interrupted. Please restart the operation.

Typedefs

typedef struct HeapMemMP_Object * | HeapMemMP_Handle
HeapMemMP_Handle type.
typedef struct HeapMemMP_Params | HeapMemMP_Params
Structure defining parameters for the HeapMemMP module.
typedef struct
HeapMemMP_ExtendedStats 		HeapMemMP_ExtendedStats
Stats structure for the HeapMemMP_getExtendedStats API.

Functions

Int | HeapMemMP_close (HeapMemMP_Handle *handlePtr)
Close a HeapMemMP instance.
HeapMemMP_Handle | HeapMemMP_create (const HeapMemMP_Params *params)
Create a HeapMemMP instance.
Int | HeapMemMP_delete (HeapMemMP_Handle *handlePtr)
Delete a created HeapMemMP instance.
Int | HeapMemMP_open (String name, HeapMemMP_Handle *handlePtr)
Open a created HeapMemMP instance.
Void | HeapMemMP_Params_init (HeapMemMP_Params *params)
Initialize a HeapMemMP parameters struct.
Void * | HeapMemMP_alloc (HeapMemMP_Handle handle, SizeT size, SizeT align)
Allocate a block of memory of specified size and alignment.
Void | HeapMemMP_free (HeapMemMP_Handle handle, Ptr block, SizeT size)
Frees a block of memory.
Void | HeapMemMP_getExtendedStats (HeapMemMP_Handle handle, HeapMemMP_ExtendedStats *stats)
Get extended memory statistics.
Void | HeapMemMP_getStats (HeapMemMP_Handle handle, Ptr stats)
Get memory statistics.
Void | HeapMemMP_restore (HeapMemMP_Handle handle)
Restore an instance to it's original created state.

Macro Definition Documentation

#define HeapMemMP_S_BUSY 2

The resource is still in use.

#define HeapMemMP_S_ALREADYSETUP 1

The module has been already setup.

#define HeapMemMP_S_SUCCESS 0

Operation is successful.

#define HeapMemMP_E_FAIL -1

Generic failure.

#define HeapMemMP_E_INVALIDARG -2

Argument passed to function is invalid.

#define HeapMemMP_E_MEMORY -3

Operation resulted in memory failure.

#define HeapMemMP_E_ALREADYEXISTS -4

The specified entity already exists.

#define HeapMemMP_E_NOTFOUND -5

Unable to find the specified entity.

#define HeapMemMP_E_TIMEOUT -6

Operation timed out.

#define HeapMemMP_E_INVALIDSTATE -7

Module is not initialized.

#define HeapMemMP_E_OSFAILURE -8

A failure occurred in an OS-specific call.

#define HeapMemMP_E_RESOURCE -9

Specified resource is not available.

#define HeapMemMP_E_RESTART -10

Operation was interrupted. Please restart the operation.

Typedef Documentation

typedef struct HeapMemMP_Object* HeapMemMP_Handle

HeapMemMP_Handle type.

typedef struct HeapMemMP_Params HeapMemMP_Params

Structure defining parameters for the HeapMemMP module.

typedef struct HeapMemMP_ExtendedStats HeapMemMP_ExtendedStats

Stats structure for the HeapMemMP_getExtendedStats API.

Function Documentation

Int HeapMemMP_close ( HeapMemMP_Handle * handlePtr )

Close a HeapMemMP instance.

Closing an instance will free local memory consumed by the opened instance. All opened instances should be closed before the instance is deleted.

Parameters:
[in,out] handlePtr Pointer to handle returned from HeapMemMP_open
Returns:
HeapMemMP status:
  • HeapMemMP_S_SUCCESS: Heap successfully closed
HeapMemMP_Handle HeapMemMP_create ( const HeapMemMP_Params * params )

Create a HeapMemMP instance.

Parameters:
[in] params HeapMemMP parameters
Returns:
HeapMemMP Handle
Int HeapMemMP_delete ( HeapMemMP_Handle * handlePtr )

Delete a created HeapMemMP instance.

Parameters:
[in,out] handlePtr Pointer to handle to delete.
Returns:
HeapMemMP status:
  • HeapMemMP_S_SUCCESS: Heap successfully deleted
Int HeapMemMP_open | ( | String | name,
 |  | HeapMemMP_Handle * | handlePtr
 | ) |  |

Open a created HeapMemMP instance.

Once an instance is created, an open can be performed. The open is used to gain access to the same HeapMemMP instance. Generally an instance is created on one processor and opened on the other processor.

The open returns a HeapMemMP instance handle like the create, however the open does not initialize the shared memory. The supplied name is used to identify the created instance.

Call HeapMemMP_close when the opened instance is not longer needed.

Parameters:
[in] | name | Name of created HeapMemMP instance
[out] | handlePtr | Pointer to HeapMemMP handle to be opened
Returns:
HeapMemMP status:
  • HeapMemMP_S_SUCCESS: Heap successfully opened
  • HeapMemMP_E_NOTFOUND: Heap is not yet ready to be opened.
  • HeapMemMP_E_FAIL: A general failure has occurred
See also:
HeapMemMP_close
Void HeapMemMP_Params_init ( HeapMemMP_Params * params )

Initialize a HeapMemMP parameters struct.

Parameters:
[out] params Pointer to GateMP parameters
Void* HeapMemMP_alloc | ( | HeapMemMP_Handle | handle,
 |  | SizeT | size,
 |  | SizeT | align
 | ) |  |

Allocate a block of memory of specified size and alignment.

The actual block returned may be larger than requested to satisfy alignment requirements. NULL is returned if the alloc fails.

HeapMemMP_alloc will lock the heap using the HeapMemMP gate while it traverses the list of free blocks to find a large enough block for the request.

Guidelines for using large heaps and multiple alloc() calls.

  • If possible, allocate larger blocks first. Previous allocations of small memory blocks can reduce the size of the blocks available for larger memory allocations.
  • Realize that alloc() can fail even if the heap contains a sufficient absolute amount of unalloccated space. This is because the largest free memory block may be smaller than total amount of unallocated memory.
Parameters:
[in] | handle | Handle to previously created/opened instance.
[in] | size | Size to be allocated (in MADUs)
[in] | align | Alignment for allocation (power of 2)
See also:
HeapMemMP_free
Void HeapMemMP_free | ( | HeapMemMP_Handle | handle,
 |  | Ptr | block,
 |  | SizeT | size
 | ) |  |

Frees a block of memory.

free() places the memory block specified by addr and size back into the free pool of the heap specified. The newly freed block is combined with any adjacent free blocks. The space is then available for further allocation by alloc().

HeapMemMP_free will lock the heap using the HeapMemMP gate if one is specified or the system GateMP if not.

Parameters:
[in] | handle | Handle to previously created/opened instance.
[in] | block | Block of memory to be freed.
[in] | size | Size to be freed (in MADUs)
See also:
HeapMemMP_alloc
Void HeapMemMP_getExtendedStats | ( | HeapMemMP_Handle | handle,
 |  | HeapMemMP_ExtendedStats * | stats
 | ) |  |

Get extended memory statistics.

This function retrieves extended statistics for a HeapMemMP instance. Refer to HeapMemMP_ExtendedStats for more information regarding what information is returned.

Parameters:
[in] | handle | Handle to previously created/opened instance.
[out] | stats | ExtendedStats structure
See also:
HeapMemMP_getStats
Void HeapMemMP_getStats | ( | HeapMemMP_Handle | handle,
 |  | Ptr | stats
 | ) |  |

Get memory statistics.

Parameters:
[in] | handle | Handle to previously created/opened instance.
[out] | stats | Memory statistics structure
See also:
HeapMemMP_getExtendedStats
Void HeapMemMP_restore ( HeapMemMP_Handle handle )

Restore an instance to it's original created state.

This function restores an instance to its original created state. Any memory previously allocated from the heap is no longer valid after this API is called. This function does not check whether there is allocated memory or not.

Parameters:
[in] handle Handle to previously created/opened instance.


SysLink API Reference: ti/ipc/Ipc.h File Reference

  • ti
  • ipc
Macros | Functions
Ipc.h File Reference

Detailed Description

Ipc Manager.

===========================================================================

This module is primarily used to configure IPC, synchronize processors, and initialize the IPC runtime. The memory for SharedRegion zero must be valid before Ipc_start() can be called. Ipc_start() must be called before any other IPC APIs are used.

The Ipc header should be included in an application as follows:

#include <ti/ipc/Ipc.h>

============================================================================

Go to the source code of this file.

Macros

#define | Ipc_S_BUSY 2
The resource is still in use.
#define | Ipc_S_ALREADYSETUP 1
The module has been already setup.
#define | Ipc_S_SUCCESS 0
Operation is successful.
#define | Ipc_E_FAIL -1
Generic failure.
#define | Ipc_E_INVALIDARG -2
Argument passed to function is invalid.
#define | Ipc_E_MEMORY -3
Operation resulted in memory failure.
#define | Ipc_E_ALREADYEXISTS -4
The specified entity already exists.
#define | Ipc_E_NOTFOUND -5
Unable to find the specified entity.
#define | Ipc_E_TIMEOUT -6
Operation timed out.
#define | Ipc_E_INVALIDSTATE -7
Module is not initialized or in an invalid state.
#define | Ipc_E_OSFAILURE -8
A failure occurred in an OS-specific call.
#define | Ipc_E_RESOURCE -9
Specified resource is not available.
#define | Ipc_E_RESTART -10
Operation was interrupted. Please restart the operation.
#define | Ipc_E_NOTREADY -11
Operation was not ready.

Functions

Int | Ipc_attach (UInt16 remoteProcId)
Attach to remote processor.
Int | Ipc_detach (UInt16 remoteProcId)
Detach from the remote processor.
Bool | Ipc_isAttached (UInt16 remoteProcId)
Query whether attached to a remote processor.
Int | Ipc_readConfig (UInt16 remoteProcId, UInt32 tag, Ptr cfg, SizeT size)
Reads the config entry from the config area.
Int Ipc_start (Void)
Reserves memory, creates default GateMP and HeapMemMP.
Int Ipc_stop (Void)
Resets the Ipc state.
Int | Ipc_writeConfig (UInt16 remoteProcId, UInt32 tag, Ptr cfg, SizeT size)
Writes the config entry to the config area.

Macro Definition Documentation

#define Ipc_S_BUSY 2

The resource is still in use.

#define Ipc_S_ALREADYSETUP 1

The module has been already setup.

#define Ipc_S_SUCCESS 0

Operation is successful.

#define Ipc_E_FAIL -1

Generic failure.

#define Ipc_E_INVALIDARG -2

Argument passed to function is invalid.

#define Ipc_E_MEMORY -3

Operation resulted in memory failure.

#define Ipc_E_ALREADYEXISTS -4

The specified entity already exists.

#define Ipc_E_NOTFOUND -5

Unable to find the specified entity.

#define Ipc_E_TIMEOUT -6

Operation timed out.

#define Ipc_E_INVALIDSTATE -7

Module is not initialized or in an invalid state.

#define Ipc_E_OSFAILURE -8

A failure occurred in an OS-specific call.

#define Ipc_E_RESOURCE -9

Specified resource is not available.

#define Ipc_E_RESTART -10

Operation was interrupted. Please restart the operation.

#define Ipc_E_NOTREADY -11

Operation was not ready.

Function Documentation

Int Ipc_attach ( UInt16 remoteProcId )

Attach to remote processor.

This function uses shared memory to synchronize self with the remote processor. Both processors must call this function to attach to each other. Ipc_start() must be called before calling Ipc_attach(). A processor must attach to the owner of SharedRegion zero before it can successfully attach to another processor. Attempting to attach to another processor first returns Ipc_E_FAIL.

This function opens the default GateMP and SharedRegion zero heap. The Notify, NameServerRemoteNotify, and MessageQ transport instances are created for communicating with the specified remote processor in SharedRegion zero heap. The user's Ipc attach function is called.

For BIOS, this function should be called within a 'while' loop within a Task. A Task_sleep() or Task_yield() should be called within the loop to allow other threads in the system to execute. This function needs to be called in a loop because the remote processor may not be in a ready state.

Note: For BIOS, if the config parameter Ipc.procSync is set to Ipc.ProcSync_ALL, there is no need to call this function as it is internally called by Ipc_start().

while (Ipc_attach(remoteProcId) < 0) {
Task_sleep(1);
}
Parameters:
remoteProcId remote processor's MultiProc id
Returns:
Status
  • Ipc_S_SUCCESS: attach was successful
  • Ipc_S_ALREADYSETUP: already attached
  • Ipc_E_MEMORY: operation failed due to a memory error
  • Ipc_E_FAIL: General failure
  • Ipc_E_NOTREADY: remote processor not ready
See also:
Ipc_detach Ipc_isAttached
Int Ipc_detach ( UInt16 remoteProcId )

Detach from the remote processor.

A processor must detach from all other processors before it can successfully detach from the owner of SharedRegion zero. Attempting to detach from the owner of SharedRegion zero first returns Ipc_E_FAIL.

If a processor successfully attached to a remote processor 'N' times, it must call Ipc_detach 'N' times to be completely detached. Ipc_detach returns Ipc_S_BUSY for the first 'N - 1' times its called. Ipc_detach returns Ipc_S_SUCCESS, if successful, on the 'N' time its called. If called on a remote processor that is detached, Ipc_S_SUCCESS is returned.

This function should be called within a loop to make sure the processor successfully detached from the remote processor. If called from the processor with the bigger procId, this function closes the instances created for communicating with the specified remote processor. If called from the processor with the smaller procId, this function returns Ipc_E_NOTREADY while the processor with the bigger procId has not finished detaching. Once the processor with the bigger procId is finished detaching, this function deletes the instances created for communicating with the specified remote processor.

For BIOS, this function should be called within a 'while' loop in a Task because the slave may have to wait for the master to detach. Furthermore, a Task_sleep() or Task_yield() should be called within the same 'while' loop to allow other threads in the system to execute.

while (TRUE) {
status = Ipc_detach(remoteProcId);
if (status == Ipc_E_NOTREADY) {
Task_sleep(1);
}
else if (status < 0) {
System_printf("Ipc_detach failed \n");
break;
}
else {
break;
}
}
Parameters:
remoteProcId remote processor's MultiProc id
Returns:
Status
  • Ipc_S_SUCCESS: operation was successful
  • Ipc_S_BUSY: attach count != 0
  • Ipc_E_FAIL: operation failed
  • Ipc_E_NOTREADY: processor not ready to detach
See also:
Ipc_attach Ipc_isAttached
Bool Ipc_isAttached ( UInt16 remoteProcId )

Query whether attached to a remote processor.

Returns TRUE if attached to a remote processor and FALSE otherwise. If remoteProcId == MultiProc_self(), FALSE is always returned.

Parameters:
remoteProcId remote processor's MultiProc id
Returns:
TRUE if attached, FALSE if not attached
See also:
Ipc_attach Ipc_detach
Int Ipc_readConfig | ( | UInt16 | remoteProcId,
 |  | UInt32 | tag,
 |  | Ptr | cfg,
 |  | SizeT | size
 | ) |  |

Reads the config entry from the config area.

For more information about this API, refer to the documentation for Ipc_writeConfig

Parameters:
remoteProcId | remote processor's MultiProc id
tag | tag to identify a config entry
cfg | address where the entry will be copied
size | size of config entry
Returns:
Status
  • Ipc_S_SUCCESS: operation was successful
  • Ipc_E_FAIL: operation failed
See also:
Ipc_writeConfig
Int Ipc_start ( Void )

Reserves memory, creates default GateMP and HeapMemMP.

This function needs to be called before Ipc_attach(). It should only be called once, unless the return value is Ipc_E_NOTREADY. This indicates that either the SharedRegion zero is not valid or has not been setup yet so Ipc_start may be called again. Once sucessfully started, subsequent calls returns Ipc_S_ALREADYSETUP.

Ipc reserves some shared memory in SharedRegion zero for synchronization. GateMP reserves some shared memory for managing the gates and for the default GateMP. The same amount of memory must be reserved by each processor, but only the owner of SharedRegion zero clears the reserved memory and creates the default GateMP. The default heap for each SharedRegion is created by the owner of each SharedRegion.

Note: For BIOS, if the config parameter Ipc.procSync is set to Ipc.ProcSync_ALL, this function calls Ipc_attach() internally.

Returns:
Status
  • Ipc_S_SUCCESS: operation was successful
  • Ipc_S_ALREADYSETUP: already successfully called
  • Ipc_E_NOTREADY: shared memory is not ready
  • Ipc_E_FAIL: operation failed
Int Ipc_stop ( Void )

Resets the Ipc state.

This function should be called only once and only after detaching from all processors. Once called, Ipc is placed back to the same state as it was before Ipc_start() was called.

Returns:
Status
  • Ipc_S_SUCCESS: operation was successful
Int Ipc_writeConfig | ( | UInt16 | remoteProcId,
 |  | UInt32 | tag,
 |  | Ptr | cfg,
 |  | SizeT | size
 | ) |  |

Writes the config entry to the config area.

The Ipc_writeConfig and Ipc_readConfig APIs are used to pass configuration information from one core to another. This 'information' is passed via a pointer to shared memory with a given size and is identified via a unique tag. A typical use case of this API would be passing configuration information from a Slave core to the Host at startup-time. For example, if MessageQ is used, this information might include the queue name, message heap sizes, etc.

For Ipc_writeConfig, if 'NULL' is passed in for the cfg parameter, it attempts to free the shared memory that is allocated by a previous Ipc_writeConfig call. The remoteProcId, tag, and size must match the previous Ipc_writeConfig call.

The Ipc_writeConfig API writes into SharedRegion 0 (SR0) and uses the tag to uniquely identify the structure (cfg) and size written into SR0 which both sides must agree on.

Parameters:
remoteProcId | remote processor's MultiProc id
tag | tag to identify a config entry
cfg | address where the entry will be copied
size | size of config entry
Returns:
Status
  • Ipc_S_SUCCESS: if operation was successful
  • Ipc_E_FAIL: if operation failed
See also:
Ipc_readConfig


SysLink API Reference: ti/ipc/ListMP.h File Reference

  • ti
  • ipc
Data Structures | Macros | Typedefs | Functions
ListMP.h File Reference

Detailed Description

Multiple processor shared memory list.

===========================================================================

ListMP is a doubly linked-list based module designed to be used in a multi-processor environment. It provides a way for multiple processors to create, access, and manipulate the same link list in shared memory.

The ListMP module uses a NameServer instance to store information about an instance during create. Each ListMP instance is created by specifying a name and region id. The name supplied must be unique for all ListMP instances in the system.

ListMP_create() is used to create an instance of a ListMP. Shared memory is modified during create. Once created, an instance may be opened by calling ListMP_open(). Open does not modify any shared memory. Open() should be called only when global interrupts are enabled.

To use a ListMP instance, a ListMP_Elem must be embedded as the very first element of a structure. ListMP does not provide cache coherency for the buffer put onto the link list. ListMP only provides cache coherency for the ListMP_Elem fields. The buffer should be written back before being placed on a ListMP, if cache coherency is required.

The ListMP header should be included in an application as follows:

#include <ti/ipc/ListMP.h>

============================================================================

#include <ti/ipc/SharedRegion.h>
#include <ti/ipc/GateMP.h>
Include dependency graph for ListMP.h:

Go to the source code of this file.

Data Structures

struct | ListMP_Elem
Structure defining a ListMP element. More...
struct | ListMP_Params
Structure defining parameter structure for ListMP_create(). More...

Macros

#define | ListMP_S_BUSY 2
The resource is still in use.
#define | ListMP_S_ALREADYSETUP 1
The module has been already setup.
#define | ListMP_S_SUCCESS 0
Operation is successful.
#define | ListMP_E_FAIL -1
Generic failure.
#define | ListMP_E_INVALIDARG -2
Argument passed to function is invalid.
#define | ListMP_E_MEMORY -3
Operation resulted in memory failure.
#define | ListMP_E_ALREADYEXISTS -4
The specified entity already exists.
#define | ListMP_E_NOTFOUND -5
Unable to find the specified entity.
#define | ListMP_E_TIMEOUT -6
Operation timed out.
#define | ListMP_E_INVALIDSTATE -7
Module is not initialized.
#define | ListMP_E_OSFAILURE -8
A failure occurred in an OS-specific call.
#define | ListMP_E_RESOURCE -9
Specified resource is not available.
#define | ListMP_E_RESTART -10
Operation was interrupted. Please restart the operation.

Typedefs

typedef struct ListMP_Object * | ListMP_Handle
ListMP_Handle type.
typedef struct ListMP_Elem | ListMP_Elem
Structure defining a ListMP element.
typedef struct ListMP_Params | ListMP_Params
Structure defining parameter structure for ListMP_create().

Functions

Void | ListMP_Params_init (ListMP_Params *params)
Initializes ListMP parameters.
ListMP_Handle | ListMP_create (const ListMP_Params *params)
Creates and initializes ListMP module.
Int | ListMP_close (ListMP_Handle *handlePtr)
Close an opened ListMP instance.
Int | ListMP_delete (ListMP_Handle *handlePtr)
Deletes a ListMP instance.
Int | ListMP_open (String name, ListMP_Handle *handlePtr)
Open a created ListMP instance.
Bool | ListMP_empty (ListMP_Handle handle)
Determines if a ListMP instance is empty.
GateMP_Handle | ListMP_getGate (ListMP_Handle handle)
Retrieves the GateMP handle associated with the ListMP instance.
Ptr | ListMP_getHead (ListMP_Handle handle)
Get an element from front of a ListMP instance.
Ptr | ListMP_getTail (ListMP_Handle handle)
Get an element from back of a ListMP instance.
Int | ListMP_insert (ListMP_Handle handle, ListMP_Elem *newElem, ListMP_Elem *curElem)
Insert an element into a ListMP instance.
Ptr | ListMP_next (ListMP_Handle handle, ListMP_Elem *elem)
Return the next element in a ListMP instance (non-atomic)
Ptr | ListMP_prev (ListMP_Handle handle, ListMP_Elem *elem)
Return the previous element in ListMP instance (non-atomic)
Int | ListMP_putHead (ListMP_Handle handle, ListMP_Elem *elem)
Put an element at head of a ListMP instance.
Int | ListMP_putTail (ListMP_Handle handle, ListMP_Elem *elem)
Put an element at back of a ListMP instance.
Int | ListMP_remove (ListMP_Handle handle, ListMP_Elem *elem)
Remove an element from a ListMP instance.

Macro Definition Documentation

#define ListMP_S_BUSY 2

The resource is still in use.

#define ListMP_S_ALREADYSETUP 1

The module has been already setup.

#define ListMP_S_SUCCESS 0

Operation is successful.

#define ListMP_E_FAIL -1

Generic failure.

#define ListMP_E_INVALIDARG -2

Argument passed to function is invalid.

#define ListMP_E_MEMORY -3

Operation resulted in memory failure.

#define ListMP_E_ALREADYEXISTS -4

The specified entity already exists.

#define ListMP_E_NOTFOUND -5

Unable to find the specified entity.

#define ListMP_E_TIMEOUT -6

Operation timed out.

#define ListMP_E_INVALIDSTATE -7

Module is not initialized.

#define ListMP_E_OSFAILURE -8

A failure occurred in an OS-specific call.

#define ListMP_E_RESOURCE -9

Specified resource is not available.

#define ListMP_E_RESTART -10

Operation was interrupted. Please restart the operation.

Typedef Documentation

typedef struct ListMP_Object* ListMP_Handle

ListMP_Handle type.

typedef struct ListMP_Elem ListMP_Elem

Structure defining a ListMP element.

typedef struct ListMP_Params ListMP_Params

Structure defining parameter structure for ListMP_create().

Function Documentation

Void ListMP_Params_init ( ListMP_Params * params )

Initializes ListMP parameters.

Parameters:
params Instance param structure.
ListMP_Handle ListMP_create ( const ListMP_Params * params )

Creates and initializes ListMP module.

Parameters:
params Instance param structure.
Returns:
ListMP instance handle. NULL if create failed.
See also:
ListMP_delete
Int ListMP_close ( ListMP_Handle * handlePtr )

Close an opened ListMP instance.

Closing an instance will free local memory consumed by the opened instance. Instances that are opened should be closed before the instance is deleted. If using NameServer, the instance name will be removed from the NameServer instance.

Parameters:
handlePtr Pointer to a ListMP instance
Returns:
Status
  • ListMP_S_SUCCESS: ListMP successfully closed
  • ListMP_E_FAIL: A general failure has occurred
See also:
ListMP_open
Int ListMP_delete ( ListMP_Handle * handlePtr )

Deletes a ListMP instance.

Parameters:
handlePtr Pointer to ListMP instance
Returns:
Status
  • ListMP_S_SUCCESS: ListMP successfully deleted
    • ListMP_E_FAIL: ListMP delete failed
See also:
ListMP_create
Int ListMP_open | ( | String | name,
 |  | ListMP_Handle * | handlePtr
 | ) |  |

Open a created ListMP instance.

An open can be performed on a previously created instance. Open is used to gain access to the same ListMP instance. Generally an instance is created on one processor and opened on other processors but it can be opened on the same processor too. Open returns a ListMP instance handle like create, but it does not initialize any shared memory.

The open call searches the local ListMP NameServer table first for a matching name. If no local match is found, it will search all remote ListMP NameServer tables for a matching name.

A status value of ListMP_S_SUCCESS is returned if a matching ListMP instance is found. A ListMP_E_FAIL is returned if no matching instance is found. Generally this means the ListMP instance has not yet been created. A more specific status error is returned if an error was raised.

Call close() when the opened instance is no longer needed.

Parameters:
name | Name of created ListMP instance
handlePtr | pointer to the handle if a handle was found.
Returns:
Status
  • ListMP_S_SUCCESS: ListMP successfully opened
  • ListMP_E_NOTFOUND: ListMP is not yet ready to be opened.
  • ListMP_E_FAIL: A general failure has occurred
See also:
ListMP_create
Bool ListMP_empty ( ListMP_Handle handle )

Determines if a ListMP instance is empty.

Parameters:
handle a ListMP handle.
Returns:
TRUE if 'next' element points to head, otherwise FALSE
GateMP_Handle ListMP_getGate ( ListMP_Handle handle )

Retrieves the GateMP handle associated with the ListMP instance.

Parameters:
handle a ListMP handle.
Returns:
GateMP handle for ListMP instance.
Ptr ListMP_getHead ( ListMP_Handle handle )

Get an element from front of a ListMP instance.

Atomically removes the element from the front of a ListMP instance and returns a pointer to it. Uses ListMP_Params::gate for critical region management.

Parameters:
handle a ListMP handle.
Returns:
pointer to former first element. -NULL if the ListMP is empty.
Ptr ListMP_getTail ( ListMP_Handle handle )

Get an element from back of a ListMP instance.

Atomically removes the element from the back of a ListMP instance and returns a pointer to it. Uses ListMP_Params::gate for critical region management.

Parameters:
handle a ListMP handle.
Returns:
pointer to former last element -NULL if the ListMP is empty.
Int ListMP_insert | ( | ListMP_Handle | handle,
 |  | ListMP_Elem * | newElem,
 |  | ListMP_Elem * | curElem
 | ) |  |

Insert an element into a ListMP instance.

Atomically inserts `newElem` in the instance in front of `curElem`. To place an element at the back of a ListMP instance, use ListMP_putTail. To place an element at the front of a ListMP instance, use ListMP_putHead.

The following code shows an example.

ListMP_Elem elem, curElem;
ListMP_insert(listHandle, &elem, &curElem); // insert before curElem
Parameters:
handle | a ListMP handle.
newElem | new element to insert into the ListMP.
curElem | current element in the ListMP.
Returns:
Status
  • ListMP_S_SUCCESS: if operation was successful
  • ListMP_E_FAIL: if operation failed
Ptr ListMP_next | ( | ListMP_Handle | handle,
 |  | ListMP_Elem * | elem
 | ) |  |

Return the next element in a ListMP instance (non-atomic)

Is useful in searching a ListMP instance. It does not remove any items from the ListMP instance. The caller should protect the ListMP instance from being changed while using this call since it is non-atomic.

To look at the first `elem` on the ListMP, use NULL as the `elem` argument.

The following code shows an example. The scanning of a ListMP instance should be protected against other threads that modify the ListMP.

ListMP_Elem *elem = NULL;
GateMP_Handle gate;
IArg key;
// get the gate for the ListMP instance
gate = ListMP_getGate(listHandle);
// Begin protection against modification of the ListMP.
key = GateMP_enter(gate);
while ((elem = ListMP_next(ListMPHandle, elem)) != NULL) {
//act on elem as needed. For example call ListMP_remove().
}
// End protection against modification of the ListMP.
GateMP_leave(gate, key);
Parameters:
handle | a ListMP handle.
elem | element in ListMP or NULL to start at the head
Returns:
next element in ListMP instance or NULL to denote end.
Ptr ListMP_prev | ( | ListMP_Handle | handle,
 |  | ListMP_Elem * | elem
 | ) |  |

Return the previous element in ListMP instance (non-atomic)

Useful in searching a ListMP instance in reverse order. It does not remove any items from the ListMP instance. The caller should protect the ListMP instance from being changed while using this call since it is non-atomic.

To look at the last `elem` on the ListMP instance, use NULL as the `elem` argument.

The following code shows an example. The scanning of a ListMP instance should be protected against other threads that modify the instance.

ListMP_Elem *elem = NULL;
GateMP_Handle gate;
IArg key;
// get the gate for the ListMP instance
gate = ListMP_getGate(listHandle);
// Begin protection against modification of the ListMP.
key = GateMP_enter(gate);
while ((elem = ListMP_prev(listHandle, elem)) != NULL) {
//act on elem as needed. For example call ListMP_remove().
}
// End protection against modification of the ListMP.
GateMP_leave(gate, key);
Parameters:
handle | a ListMP handle.
elem | element in ListMP or NULL to start at the end
Returns:
previous element in ListMP or NULL if empty.
Int ListMP_putHead | ( | ListMP_Handle | handle,
 |  | ListMP_Elem * | elem
 | ) |  |

Put an element at head of a ListMP instance.

Atomically places the element at the front of a ListMP instance. Uses ListMP_Params::gate for critical region management.

Parameters:
handle | a ListMP handle
elem | pointer to new ListMP element
Returns:
Status
  • ListMP_S_SUCCESS: if operation was successful
  • ListMP_E_FAIL: if operation failed
Int ListMP_putTail | ( | ListMP_Handle | handle,
 |  | ListMP_Elem * | elem
 | ) |  |

Put an element at back of a ListMP instance.

Atomically places the element at the back of a ListMP instance. Uses ListMP_Params::gate for critical region management.

Parameters:
handle | a ListMP handle
elem | pointer to new ListMP element
Returns:
Status
  • ListMP_S_SUCCESS: if operation was successful
  • ListMP_E_FAIL: if operation failed
Int ListMP_remove | ( | ListMP_Handle | handle,
 |  | ListMP_Elem * | elem
 | ) |  |

Remove an element from a ListMP instance.

Atomically removes an element from a ListMP.

The `elem` parameter is a pointer to an existing element to be removed from a ListMP instance.

Parameters:
handle | a ListMP handle
elem | element in ListMP
Returns:
Status
  • ListMP_S_SUCCESS: if operation was successful
  • ListMP_E_FAIL: if operation failed


SysLink API Reference: ti/ipc/MessageQ.h File Reference

  • ti
  • ipc
Data Structures | Macros | Typedefs | Enumerations | Functions
MessageQ.h File Reference

Detailed Description

MessageQ Manager.

============================================================================

The MessageQ module supports the structured sending and receiving of variable length messages. This module can be used for homogeneous (DSP to DSP) or heterogeneous (Arm to DSP) multi-processor messaging.

MessageQ provides more sophisticated messaging than other modules. It is typically used for complex situations such as multi-processor messaging.

The following are key features of the MessageQ module:

  • Writers and readers can be relocated to another processor with no runtime code changes.
  • Timeouts are allowed when receiving messages.
  • Readers can determine the writer and reply back.
  • Receiving a message is deterministic when the timeout is zero.
  • Messages can reside on any message queue.
  • Supports zero-copy transfers.
  • Can send and receive from any type of thread.
  • Notification mechanism is specified by application.
  • Allows QoS (quality of service) on message buffer pools. For example, using specific buffer pools for specific message queues.

Messages are sent and received by being placed on and removed from a message queue. A reader is a thread that gets (reads) messages from a message queue. A writer is a thread that puts (writes) a message to a message queue. Each message queue has one reader and can have many writers. A thread may read from or write to multiple message queues.

Conceptually, the reader thread owns a message queue. The reader thread creates a message queue. The writer threads open a created message queue to get access to them.

Message queues are identified by a system-wide unique name. Internally, MessageQ uses the NameServer module for managing these names. The names are used for opening a message queue.

Messages must be allocated from the MessageQ module. Once a message is allocated, it can be sent to any message queue. Once a message is sent, the writer loses ownership of the message and should not attempt to modify the message. Once the reader receives the message, it owns the message. It may either free the message or re-use the message.

Messages in a message queue can be of variable length. The only requirement is that the first field in the definition of a message must be a MessageQ_MsgHeader structure. For example:

typedef struct MyMsg {
MessageQ_MsgHeader header;
...
} MyMsg;

The MessageQ API uses the MessageQ_MsgHeader internally. Your application should not modify or directly access the fields in the MessageQ_MsgHeader.

All messages sent via the MessageQ module must be allocated from a heap. The heap can also be used for other memory allocation not related to MessageQ.

An application can use multiple heaps. The purpose of having multiple heaps is to allow an application to regulate its message usage. For example, an application can allocate critical messages from one heap of fast on-chip memory and non-critical messages from another heap of slower external memory.

The MessageQ_registerHeap() API is used to assign a MessageQ heapId to a heap. When allocating a message, the heapId is used, not the heap handle. This heapId is actually placed into the message (part of the MessageQ_MsgHeader). Care must be taken when assigning heapIds. Refer to the MessageQ_registerHeap() API description for more details.

MessageQ also supports the usage of messages that are not allocated via the MessageQ_alloc() function. Please refer to the MessageQ_staticMsgInit() function description for more details.

MessageQ supports reads/writes of different thread models. This is accomplished by having the creator of the message queue specify a synchronizer via the MessageQ_Params::synchronizer configuration parameter. The synchronizer is signaled whenever the MessageQ_put() is called. The synchronizer waits if MessageQ_get() is called and there are no messages.

Since ISyncs are binary, the reader must drain the message queue of all messages before waiting for another signal. For example, if the reader was a SYSBIOS Swi, the synchronizer instance could be a SyncSwi. If a MessageQ_put was called, the Swi_post() would be called. The Swi would run and it must call MessageQ_get until no messages are returned.

The MessageQ header should be included in an application as follows:

#include <ti/ipc/MessageQ.h>
Version:
0.00.01

============================================================================

#include <ti/ipc/MultiProc.h>
Include dependency graph for MessageQ.h:

Go to the source code of this file.

Data Structures

struct | MessageQ_Params
Structure defining parameters for the MessageQ module. More...
struct | MessageQ_MsgHeader
Required first field in every message. More...

Macros

#define | MessageQ_S_BUSY 2
The resource is still in use.
#define | MessageQ_S_ALREADYSETUP 1
The module has been already setup.
#define | MessageQ_S_SUCCESS 0
Operation is successful.
#define | MessageQ_E_FAIL -1
Operation is not successful.
#define | MessageQ_E_INVALIDARG -2
There is an invalid argument.
#define | MessageQ_E_MEMORY -3
Operation resulted in memory failure.
#define | MessageQ_E_ALREADYEXISTS -4
The specified entity already exists.
#define | MessageQ_E_NOTFOUND -5
Unable to find the specified entity.
#define | MessageQ_E_TIMEOUT -6
Operation timed out.
#define | MessageQ_E_INVALIDSTATE -7
Module is not initialized.
#define | MessageQ_E_OSFAILURE -8
A failure occurred in an OS-specific call.
#define | MessageQ_E_RESOURCE -9
Specified resource is not available.
#define | MessageQ_E_RESTART -10
Operation was interrupted. Please restart the operation.
#define | MessageQ_E_INVALIDMSG -11
An invalid message was encountered.
#define | MessageQ_E_NOTOWNER -12
Not the owner.
#define | MessageQ_E_REMOTEACTIVE -13
Operation resulted in error.
#define | MessageQ_E_INVALIDHEAPID -14
An invalid heap id was encountered.
#define | MessageQ_E_INVALIDPROCID -15
An invalid MultiProc id was encountered.
#define | MessageQ_E_MAXREACHED -16
The max has been reached.
#define | MessageQ_E_UNREGISTEREDHEAPID -17
Attempting to use an unregistered heap id.
#define | MessageQ_E_CANNOTFREESTATICMSG -18
Trying to free a statically initialized message.
#define | MessageQ_E_UNBLOCKED -19
MessageQ was unblocked.
#define | MessageQ_FOREVER ~(0)
Used as the timeout value to specify wait forever.
#define | MessageQ_INVALIDMSGID 0xffff
Invalid message id.
#define | MessageQ_INVALIDMESSAGEQ 0xffff
Invalid message queue.
#define | MessageQ_PRIORITYMASK 0x3
Mask to extract priority setting.
#define | MessageQ_getDstQueue(msg)
Extract the destination queue ID from a message.
#define | MessageQ_getMsgId(msg) (((MessageQ_Msg) (msg))->msgId)
Retrieves the message ID of a message.
#define | MessageQ_getMsgSize(msg) (((MessageQ_Msg) (msg))->msgSize)
Returns the size of the specified message. This function is helpful when re-using a message.
#define | MessageQ_getMsgPri(msg) ((((MessageQ_Msg) (msg))->flags & MessageQ_PRIORITYMASK))
Gets the message priority of a message.
#define | MessageQ_getProcId(queueId) ((UInt16)((queueId) >> 16))
Returns the MultiProc processor id on which the queue resides.
#define | MessageQ_getReplyQueue(msg)
Retrieves the message queue ID from a message.
#define | MessageQ_setMsgId(msg, id) ((MessageQ_Msg) (msg))->msgId = (id)
Sets the message id in a message.
#define | MessageQ_setMsgPri(msg, priority) (((MessageQ_Msg) (msg))->flags = ((priority) & MessageQ_PRIORITYMASK))
Sets the message priority of a message.

Typedefs

typedef UInt32 | MessageQ_QueueId
A 32-bit value that uniquely identifies a message queue.
typedef UInt16 | MessageQ_QueueIndex
Local queue index.
typedef struct MessageQ_Object * | MessageQ_Handle
MessageQ_Handle type.
typedef MessageQ_MsgHeader * | MessageQ_Msg
Typedef for ease of use.

Enumerations

enum MessageQ_Priority {
MessageQ_NORMALPRI = 0,
MessageQ_HIGHPRI = 1,
MessageQ_RESERVEDPRI = 2,
MessageQ_URGENTPRI = 3
}
Message priority. More...

Functions

Void | MessageQ_Params_init (MessageQ_Params *params)
Initialize MessageQ_Params.
MessageQ_Handle | MessageQ_create (String name, const MessageQ_Params *params)
Create a MessageQ instance.
Int | MessageQ_delete (MessageQ_Handle *handlePtr)
Delete a created MessageQ instance.
Int | MessageQ_open (String name, MessageQ_QueueId *queueId)
Open a message queue.
Int | MessageQ_close (MessageQ_QueueId *queueId)
Close the opened handle.
MessageQ_Msg | MessageQ_alloc (UInt16 heapId, UInt32 size)
Allocates a message from the heap.
Int | MessageQ_free (MessageQ_Msg msg)
Frees a message back to the heap.
Int | MessageQ_registerHeap (Ptr heap, UInt16 heapId)
Register a heap with MessageQ.
Int | MessageQ_unregisterHeap (UInt16 heapId)
Unregister a heap with MessageQ.
Void | MessageQ_setMsgTrace (MessageQ_Msg msg, Bool traceFlag)
Sets the message tracing flag on a given message.
Void | MessageQ_staticMsgInit (MessageQ_Msg msg, UInt32 size)
Initializes a message not obtained from MessageQ_alloc()
Int | MessageQ_get (MessageQ_Handle handle, MessageQ_Msg *msg, UInt timeout)
Gets a message from the message queue.
Int | MessageQ_put (MessageQ_QueueId queueId, MessageQ_Msg msg)
Place a message onto a message queue.
Int | MessageQ_count (MessageQ_Handle handle)
Returns the number of messages in a message queue.
UInt32 | MessageQ_getQueueId (MessageQ_Handle handle)
Returns the QueueId associated with the handle.
Void | MessageQ_setReplyQueue (MessageQ_Handle handle, MessageQ_Msg msg)
Embeds a source message queue into a message.
Void | MessageQ_unblock (MessageQ_Handle handle)
Unblocks a MessageQ.

Macro Definition Documentation

#define MessageQ_S_BUSY 2

The resource is still in use.

#define MessageQ_S_ALREADYSETUP 1

The module has been already setup.

#define MessageQ_S_SUCCESS 0

Operation is successful.

#define MessageQ_E_FAIL -1

Operation is not successful.

#define MessageQ_E_INVALIDARG -2

There is an invalid argument.

#define MessageQ_E_MEMORY -3

Operation resulted in memory failure.

#define MessageQ_E_ALREADYEXISTS -4

The specified entity already exists.

#define MessageQ_E_NOTFOUND -5

Unable to find the specified entity.

#define MessageQ_E_TIMEOUT -6

Operation timed out.

#define MessageQ_E_INVALIDSTATE -7

Module is not initialized.

#define MessageQ_E_OSFAILURE -8

A failure occurred in an OS-specific call.

#define MessageQ_E_RESOURCE -9

Specified resource is not available.

#define MessageQ_E_RESTART -10

Operation was interrupted. Please restart the operation.

#define MessageQ_E_INVALIDMSG -11

An invalid message was encountered.

#define MessageQ_E_NOTOWNER -12

Not the owner.

#define MessageQ_E_REMOTEACTIVE -13

Operation resulted in error.

#define MessageQ_E_INVALIDHEAPID -14

An invalid heap id was encountered.

#define MessageQ_E_INVALIDPROCID -15

An invalid MultiProc id was encountered.

#define MessageQ_E_MAXREACHED -16

The max has been reached.

#define MessageQ_E_UNREGISTEREDHEAPID -17

Attempting to use an unregistered heap id.

#define MessageQ_E_CANNOTFREESTATICMSG -18

Trying to free a statically initialized message.

#define MessageQ_E_UNBLOCKED -19

MessageQ was unblocked.

#define MessageQ_FOREVER ~(0)

Used as the timeout value to specify wait forever.

#define MessageQ_INVALIDMSGID 0xffff

Invalid message id.

#define MessageQ_INVALIDMESSAGEQ 0xffff

Invalid message queue.

#define MessageQ_PRIORITYMASK 0x3

Mask to extract priority setting.

#define MessageQ_getDstQueue ( msg )
Value:
((msg)->dstId == (MessageQ_QueueIndex)MessageQ_INVALIDMESSAGEQ) ? \
(MessageQ_QueueId)MessageQ_INVALIDMESSAGEQ : \
(MessageQ_QueueId)(((MessageQ_QueueId)MultiProc_self() << 16u) \
| (((MessageQ_Msg)(msg))->dstId))

Extract the destination queue ID from a message.

Can only be used on the same processor where the destination queue resides. This function should only be used by Message Queue Transport writers.

Parameters:
[in] msg Message of type MessageQ_Msg
Return values:
queueId Destination message queue ID of type MessageQ_QueueId
#define MessageQ_getMsgId ( msg ) (((MessageQ_Msg) (msg))->msgId)

Retrieves the message ID of a message.

This function retrieves the message ID from the message. The MessageQ_setMsgId() function is used to insert the message ID.

The message id is part of the MessageQ_MsgHeader header and is in every MessageQ message. All message ids are initialized to MessageQ_INVALIDMSGID in the MessageQ_alloc() and MessageQ_staticMsgInit() calls.

Parameters:
[in] msg Message of type MessageQ_Msg
Return values:
msgId 16-bit message ID from the message
#define MessageQ_getMsgSize ( msg ) (((MessageQ_Msg) (msg))->msgSize)

Returns the size of the specified message. This function is helpful when re-using a message.

Parameters:
[in] msg Message of type MessageQ_Msg
Return values:
size Size of the message
#define MessageQ_getMsgPri ( msg ) ((((MessageQ_Msg) (msg))->flags & MessageQ_PRIORITYMASK))

Gets the message priority of a message.

Parameters:
[in] msg Message of type MessageQ_Msg
Return values:
priority Priority of the message
#define MessageQ_getProcId ( queueId ) ((UInt16)((queueId) >> 16))

Returns the MultiProc processor id on which the queue resides.

Message queues reside on the processor that created them. This function allows the caller to determined on which processor the queue resides.

Parameters:
[in] queueId Unique MessageQ_QueueId that identifies the queue
Return values:
procId The MultiProc id on which the queue resides
#define MessageQ_getReplyQueue ( msg )
Value:
(MessageQ_QueueId)((((MessageQ_Msg) (msg))->replyProc << 16u) \
| ((MessageQ_Msg)(msg))->replyId)

Retrieves the message queue ID from a message.

This function along with the MessageQ_setReplyQueue() function can be used instead of the open function. The sender of a message can embed a messageQ into the message with the MessageQ_setReplyQueue() function. The receiver of the message can extract the message queue ID with this function.

This method is particularing useful in a client/server relationship where the server does not want to know who the clients are. The clients can embed their message queue into the message to the server and the server extracts it and uses it to reply.

Parameters:
[in] msg Message of type MessageQ_Msg
Return values:
queueId Message queue ID of type MessageQ_QueueId
#define MessageQ_setMsgId | ( | msg,
 |  | id
 | ) | ((MessageQ_Msg) (msg))->msgId = (id)

Sets the message id in a message.

This function sets the message ID in the message. The MessageQ_getMsgId() function is used to retrieve the message ID. The message id is part of the MessageQ_MsgHeader header and is in every MessageQ message. All message ids are initialized to MessageQ_INVALIDMSGID in the MessageQ_alloc() and MessageQ_staticMsgInit() calls.

Parameters:
[in] | msg | Message of type MessageQ_Msg
[in] | id | 16-bit value
#define MessageQ_setMsgPri | ( | msg,
 |  | priority
 | ) | (((MessageQ_Msg) (msg))->flags = ((priority) & MessageQ_PRIORITYMASK))

Sets the message priority of a message.

Parameters:
[in] | msg | Message of type MessageQ_Msg
[in] | priority | Priority of message to be set.

Typedef Documentation

typedef UInt32 MessageQ_QueueId

A 32-bit value that uniquely identifies a message queue.

typedef UInt16 MessageQ_QueueIndex

Local queue index.

typedef struct MessageQ_Object* MessageQ_Handle

MessageQ_Handle type.

typedef MessageQ_MsgHeader* MessageQ_Msg

Typedef for ease of use.

Enumeration Type Documentation

enum MessageQ_Priority

Message priority.

Enumerator:
MessageQ_NORMALPRI

Normal Priority

MessageQ_HIGHPRI

High Priority

MessageQ_RESERVEDPRI

Reserved Priorit

MessageQ_URGENTPRI

Urgent Priority

Function Documentation

Void MessageQ_Params_init ( MessageQ_Params * params )

Initialize MessageQ_Params.

Parameters:
[in] params Parameters required to create a MessageQ
MessageQ_Handle MessageQ_create | ( | String | name,
 |  | const MessageQ_Params * | params
 | ) |  |

Create a MessageQ instance.

The name supplied here does not have to be in persistent memory. The maximum length of the string supplied here, including the '\0' terminator is '32' by default.

There are no verifications to ensure that the name supplied in MessageQ_create() is unique across all processors. Caution must be exercised to ensure that each processor uses a unique name.

Parameters:
[in] | name | Name of the queue
[in] | params | Initialized MessageQ parameters
Returns:
MessageQ Handle
Int MessageQ_delete ( MessageQ_Handle * handlePtr )

Delete a created MessageQ instance.

This function deletes a created message queue instance. If the message queue is non-empty, any messages remaining in the queue will not be freed and will be lost.

Parameters:
[in,out] handlePtr Pointer to handle to delete.
Returns:
MessageQ status:
  • MessageQ_E_FAIL: delete failed
  • MessageQ_S_SUCCESS: delete successful
Int MessageQ_open | ( | String | name,
 |  | MessageQ_QueueId * | queueId
 | ) |  |

Open a message queue.

MessageQ_open() is used to retrieve the queue id for a queue that has been created either locally or remotely. Note that the queueId is simply a 32 bit value that uniquely identifies a queue. Therefore, it is also possible to put a message on a queue whose queueId has been retrieved using any other method.

Parameters:
[in] | name | Name of queue to open
[out] | queueId | QueueId that can be used in MessageQ_put()
Returns:
MessageQ status:
  • MessageQ_E_NOTFOUND: open failed (name not found on any processor)
  • MessageQ_S_SUCCESS: open successful
Int MessageQ_close ( MessageQ_QueueId * queueId )

Close the opened handle.

Only close a queueId that was returned from MessageQ_open().

Parameters:
[in] queueId Pointer to queueId to close
Returns:
MessageQ status:
  • MessageQ_E_FAIL: close failed
  • MessageQ_S_SUCCESS: close successful
MessageQ_Msg MessageQ_alloc | ( | UInt16 | heapId,
 |  | UInt32 | size
 | ) |  |

Allocates a message from the heap.

This function allocates a message from the heap associated with the heapId. The first field of the message must be a MessageQ_MsgHeader structure. For example:

typedef struct MyMsg {
MessageQ_MsgHeader header;
...
} MyMsg;
Parameters:
[in] | heapId | heapId
[in] | size | size of requested message (including the MessageQ_MsgHeader).
Precondition:
size must be at least large enough to hold a MessageQ_MsgHeader
Returns:
Allocated message or NULL if no memory.
Int MessageQ_free ( MessageQ_Msg msg )

Frees a message back to the heap.

Frees the message back to the heap that was used to allocate it.

Parameters:
[in] msg Message to free.
Returns:
MessageQ status:
  • MessageQ_E_FAIL: failed to free message
  • MessageQ_S_SUCCESS: successfully freed the message
Int MessageQ_registerHeap | ( | Ptr | heap,
 |  | UInt16 | heapId
 | ) |  |

Register a heap with MessageQ.

This function registers a heap with MessageQ. The user selects a unique heapId associated with this heap. When a message is allocated via MessageQ_alloc(), the heapId is specified. Internally, MessageQ uses the heapId to access the heap.

Care must be taken when assigning heapIds. Internally MessageQ stores the heapId into the message. When the message is freed (via MessageQ_free()), the heapId is used to determine which heap to use. On systems with shared memory the heapIds must match on corresponding processors. For example, assume there is a heap called myHeap which acts on shared memory and processors 0 and 1 both use this heap. When you register the heap with MessageQ, the same heapId must be used on both processor 0 and 1.

If a heap is already registered for the specified heapId, no action is taken and MessageQ_E_ALREADYEXISTS is returned.

Parameters:
[in] | heap | Heap to register
[in] | heapId | heapId associated with the heap
Returns:
MessageQ status:
  • MessageQ_S_SUCCESS: heap successfully registered
  • MessageQ_E_ALREADYEXISTS: heap already exists with heapId
Int MessageQ_unregisterHeap ( UInt16 heapId )

Unregister a heap with MessageQ.

This function unregisters the heap associated with the heapId. Care must be taken to ensure that there are no outstanding messages allocated from this heap. If there are outstanding messages, an attempt to free the message will result in non-deterministic results.

Parameters:
[in] heapId Heap to unregister
Returns:
MessageQ status:
  • MessageQ_S_SUCCESS: heap successfully unregistered
Void MessageQ_setMsgTrace | ( | MessageQ_Msg | msg,
 |  | Bool | traceFlag
 | ) |  |

Sets the message tracing flag on a given message.

This function enables message tracing for a message. Tracing is offered in the form of Log messages that are output during operations on the message (i.e. MessageQ_free(), MessageQ_put(), etc).

Parameters:
msg | Message
traceFlag | Message trace flag (TRUE = tracing enabled)
Void MessageQ_staticMsgInit | ( | MessageQ_Msg | msg,
 |  | UInt32 | size
 | ) |  |

Initializes a message not obtained from MessageQ_alloc()

There are several fields in the MessageQ_MsgHeader that are initialized by the MessageQ_alloc() function. MessageQ_staticMsgInit() can be used to initialize these fields for messages that are not allocated from MessageQ.

There is one strict constraint with using messages not allocated from MessageQ. The message cannot be freed via MessageQ_free(). This includes

  • The application calling MessageQ_free() on the same processor
  • The application calling MessageQ_free() on a different processor
  • The application cannot send the message to another processor where the transport might call MessageQ_free() on the message. For example, copy based transport call MessageQ_free() after sending the message. If a staticMsgInit'd msg is passed to MessageQ_free() an assert will occur
Parameters:
msg | Message to initialize
[in] | size | Size of the message in MAUs
Precondition:
size must be at least large enough to hold a MessageQ_MsgHeader
Int MessageQ_get | ( | MessageQ_Handle | handle,
 |  | MessageQ_Msg * | msg,
 |  | UInt | timeout
 | ) |  |

Gets a message from the message queue.

This function returns a status. It also returns a message in msg. If no message is available, it blocks on the synchronizer object until the synchronizer is signaled or a timeout occurs. The synchronizer is signaled, when Message_put is called on the MessageQ handle. If a timeout occurs, the msg is set to NULL and the status is MessageQ_E_TIMEOUT. If a timeout of zero is specified, the function returns immediately and if no message is available, the msg is set to NULL and the status is MessageQ_E_TIMEOUT. The MessageQ_E_UNBLOCKED status is return, if MessageQ_unblock is called on the MessageQ handle. If a message is successfully retrieved, the msg is set to the message and a MessageQ_S_SUCCESS status is returned.

Parameters:
[in] | handle | MessageQ handle
[out] | msg | Pointer to the message
[in] | timeout | Maximum duration to wait for a message in microseconds.
Returns:
MessageQ status:
  • MessageQ_S_SUCCESS: Message successfully returned
  • MessageQ_E_TIMEOUT: MessageQ_get() timed out
  • MessageQ_E_UNBLOCKED: MessageQ_get() was unblocked
  • MessageQ_E_FAIL: A general failure has occurred
See also:
MessageQ_put()
MessageQ_unblock()
Int MessageQ_put | ( | MessageQ_QueueId | queueId,
 |  | MessageQ_Msg | msg
 | ) |  |

Place a message onto a message queue.

This call places the message onto the specified message queue. The message queue could be local or remote. The MessageQ module manages the delivery.

In the case where the queue is remote, MessageQ does not guarantee that the message is actually delivered before the MessageQ_put() call returns

The queue id must have been returned from one of the following functions:

  • MessageQ_open()
  • MessageQ_getReplyQueue()
  • MessageQ_getDstQueue()

After the message is placed onto the final destination, the queue's MessageQ_Params::synchronizer signal function is called.

The application loses ownership of the message once MessageQ_put() is called.

Parameters:
[in] | queueId | Destination MessageQ
[in] | msg | Message to be sent.
Returns:
Status of the call.
  • MessageQ_S_SUCCESS denotes success.
  • MessageQ_E_FAIL denotes failure. The put was not successful. The caller still owns the message.
Int MessageQ_count ( MessageQ_Handle handle )

Returns the number of messages in a message queue.

This function returns the number of messages in a message queue.

Parameters:
[in] handle MessageQ handle
Returns:
Number of messages in the message queue.
UInt32 MessageQ_getQueueId ( MessageQ_Handle handle )

Returns the QueueId associated with the handle.

Since the MessageQ_put() function takes a QueueId, the creator of a message queue cannot send a message to itself without retrieving the QueueId. This function extracts the QueueId from the object.

Parameters:
[in] handle MessageQ handle
Returns:
QueueId associated to the object
Void MessageQ_setReplyQueue | ( | MessageQ_Handle | handle,
 |  | MessageQ_Msg | msg
 | ) |  |

Embeds a source message queue into a message.

This function along with MessageQ_getReplyQueue() can be used instead of MessageQ_open(). The sender of a message can embed a messageQ into the message with this function. The receiver of the message can extract the message queue id with the MessageQ_getReplyQueue() function.

This method is particularly useful in a client/server relationship where the server does not want to know who the clients are. The clients can embed their message queue into the message to the server and the server extracts it and uses it to reply.

Parameters:
handle | MessageQ handle
msg | Message to embed queue into
Void MessageQ_unblock ( MessageQ_Handle handle )

Unblocks a MessageQ.

Unblocks a reader thread that is blocked on a MessageQ_get(). The MessageQ_get() call will return with status MessageQ_E_UNBLOCKED indicating that it returned due to a MessageQ_unblock() rather than a timeout or a received message. This call should only be used during a shutdown sequence in order to ensure that there is no blocked reader on a queue before deleting the queue. A queue may not be used after it has been unblocked.

MessageQ_unblock() works by raising a flag in the queue indicating that it is unblocked and then signaling the synchronizer that is configured with the target queue. If MessageQ_unblock() is called upon a queue that has no blocked listeners, then any subsequent MessageQ_get will not block and will immediately return MessageQ_E_UNBLOCKED regardless of whether there is a message on the queue.

Restrictions:

  • A queue may not be used after it has been unblocked.
  • MessageQ_unblock() may only be called on a local queue.
  • May only be used with a queue configured with a blocking synchronizer.
Parameters:
[in] handle MessageQ handle
See also:
MessageQ_get


SysLink API Reference: ti/ipc/MultiProc.h File Reference

  • ti
  • ipc
Macros | Functions
MultiProc.h File Reference

Detailed Description

Processor ID Manager.

===========================================================================

Many IPC modules require the ability to uniquely specify and identify processors in a multi-processor environment. The MultiProc module centeralizes processor id management into one module. Since this configuration is almost always universally required, most IPC applications require supplying configuration of this module.

Each processor in the MultiProc module may be uniquely identified by either a name string or an integer ranging from 0 to NUMPROCESSORS - 1.

At runtime, the MultiProc_getId call returns the MultiProc id for any processor given its name.

The MultiProc header should be included in an application as follows:

#include <ti/ipc/MultiProc.h>
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define | MultiProc_S_BUSY 2
The resource is still in use.
#define | MultiProc_S_ALREADYSETUP 1
The module has been already setup.
#define | MultiProc_S_SUCCESS 0
Operation is successful.
#define | MultiProc_E_FAIL -1
Generic failure.
#define | MultiProc_E_INVALIDARG -2
Argument passed to function is invalid.
#define | MultiProc_E_MEMORY -3
Operation resulted in memory failure.
#define | MultiProc_E_ALREADYEXISTS -4
The specified entity already exists.
#define | MultiProc_E_NOTFOUND -5
Unable to find the specified entity.
#define | MultiProc_E_TIMEOUT -6
Operation timed out.
#define | MultiProc_E_INVALIDSTATE -7
Module is not initialized.
#define | MultiProc_E_OSFAILURE -8
A failure occurred in an OS-specific call.
#define | MultiProc_E_RESOURCE -9
Specified resource is not available.
#define | MultiProc_E_RESTART -10
Operation was interrupted. Please restart the operation.
#define | MultiProc_INVALIDID (0xFFFF)
Invalid processor id.

Functions

UInt16 MultiProc_getBaseIdOfCluster (Void)
Gets the base MultiProc id of the cluster.
UInt16 | MultiProc_getId (String name)
Gets the MultiProc id.
String | MultiProc_getName (UInt16 id)
Gets the name of a processor.
UInt16 MultiProc_getNumProcessors (Void)
Gets the number of processors.
UInt16 MultiProc_getNumProcsInCluster (Void)
Gets the number of processors in the cluster.
UInt16 MultiProc_self (Void)
Gets executing processor's MultiProc id.
Int | MultiProc_setBaseIdOfCluster (UInt16 baseId)
Sets executing processor's base id of the cluster.
Int | MultiProc_setLocalId (UInt16 id)
Sets executing processor's MultiProc id.

Macro Definition Documentation

#define MultiProc_S_BUSY 2

The resource is still in use.

#define MultiProc_S_ALREADYSETUP 1

The module has been already setup.

#define MultiProc_S_SUCCESS 0

Operation is successful.

#define MultiProc_E_FAIL -1

Generic failure.

#define MultiProc_E_INVALIDARG -2

Argument passed to function is invalid.

#define MultiProc_E_MEMORY -3

Operation resulted in memory failure.

#define MultiProc_E_ALREADYEXISTS -4

The specified entity already exists.

#define MultiProc_E_NOTFOUND -5

Unable to find the specified entity.

#define MultiProc_E_TIMEOUT -6

Operation timed out.

#define MultiProc_E_INVALIDSTATE -7

Module is not initialized.

#define MultiProc_E_OSFAILURE -8

A failure occurred in an OS-specific call.

#define MultiProc_E_RESOURCE -9

Specified resource is not available.

#define MultiProc_E_RESTART -10

Operation was interrupted. Please restart the operation.

#define MultiProc_INVALIDID (0xFFFF)

Invalid processor id.

Function Documentation

UInt16 MultiProc_getBaseIdOfCluster ( Void )

Gets the base MultiProc id of the cluster.

Retrieves the base MultiProc id for the cluster of processors.

Returns:
MultiProc id for base of cluster
See also:
MultiProc_getClusterId
UInt16 MultiProc_getId ( String name )

Gets the MultiProc id.

Retrieves the MultiProc id for the processor with corresponding MultiProc name. MultiProc_INVALIDID is returned if the name was not found.

Parameters:
name Name of the processor.
Returns:
MultiProc id
See also:
MultiProc_getName
String MultiProc_getName ( UInt16 id )

Gets the name of a processor.

Parameters:
id MultiProc id.
Returns:
Name of the processor

The returned string should never be modified.

See also:
MultiProc_getId
UInt16 MultiProc_getNumProcessors ( Void )

Gets the number of processors.

Returns:
Number of processors configured with MultiProc
UInt16 MultiProc_getNumProcsInCluster ( Void )

Gets the number of processors in the cluster.

Returns:
Number of processors in cluster
UInt16 MultiProc_self ( Void )

Gets executing processor's MultiProc id.

Returns:
Executing processor's id
See also:
MultiProc_getId
Int MultiProc_setBaseIdOfCluster ( UInt16 baseId )

Sets executing processor's base id of the cluster.

Parameters:
baseId The MultiProc base id of the cluster
Returns:
MultiProc status:
  • MultiProc_S_SUCCESS: sucessfully set base id of cluster
  • MultiProc_E_FAIL: failed to set base id of cluster
Int MultiProc_setLocalId ( UInt16 id )

Sets executing processor's MultiProc id.

Parameters:
id MultiProc id
Returns:
MultiProc status:
  • MultiProc_S_SUCCESS: MultiProc id successfully set
  • MultiProc_E_FAIL: MultiProc id cannot be set at this time


SysLink API Reference: ti/ipc/NameServer.h File Reference

  • ti
  • ipc
Data Structures | Macros | Typedefs | Functions
NameServer.h File Reference

Detailed Description

NameServer Manager.

===========================================================================

The NameServer module manages local name/value pairs that enables an application and other modules to store and retrieve values based on a name. The module supports different lengths of values. The NameServer_add and NameServer_get functions are for variable length values. The NameServer_addUInt32 and NameServer_getUInt32 functions are optimized for UInt32 variables and constants.

The NameServer module maintains thread-safety for the APIs. However, the NameServer APIs cannot be called from an interrupt (i.e. Hwi) context. However, it is safe to use the APIs in Swi's and Tasks.

Each NameServer instance manages a different name/value table. This allows each table to be customized to meet the requirements of user:

  • Size differences: one table could allow long values (e.g. > 32 bits) while another table could be used to store integers. This customization enables better memory usage.
  • Performance: improves search time when retrieving a name/value pair.
  • Relax name uniqueness: names in a specific table must be unique, but the same name can be used in different tables.

When adding a name/value pair, the name and value are copied into internal buffers in NameServer. To minimize runtime memory allocation these buffers can be allocated at creation time.

NameServer maintains the name/values table in local memory (e.g. not shared memory). However the NameServer module can be used in a multiprocessor system.

The NameServer module uses the MultiProc module for identifying the different processors. Which remote processors and the order they are queried is determined by the procId array in the NameServer_get function.

Currently there is no endian or wordsize conversion performed by the NameServer module. Also there is no asynchronous support at this time.

The NameServer header should be included in an application as follows:

#include <ti/ipc/NameServer.h>

Go to the source code of this file.

Data Structures

struct NameServer_Params
NameServer_Handle type. More...

Macros

#define | NameServer_S_BUSY 2
The resource is still in use.
#define | NameServer_S_ALREADYSETUP 1
The module has been already setup.
#define | NameServer_S_SUCCESS 0
Operation is successful.
#define | NameServer_E_FAIL -1
Generic failure.
#define | NameServer_E_INVALIDARG -2
Argument passed to function is invalid.
#define | NameServer_E_MEMORY -3
Operation resulted in memory failure.
#define | NameServer_E_ALREADYEXISTS -4
The specified entity already exists.
#define | NameServer_E_NOTFOUND -5
Unable to find the specified entity.
#define | NameServer_E_TIMEOUT -6
Operation timed out.
#define | NameServer_E_INVALIDSTATE -7
Module is not initialized.
#define | NameServer_E_OSFAILURE -8
A failure occurred in an OS-specific call.
#define | NameServer_E_RESOURCE -9
Specified resource is not available.
#define | NameServer_E_RESTART -10
Operation was interrupted. Please restart the operation.
#define | NameServer_ALLOWGROWTH (~0)
Allow dynamic growth of the NameServer instance table.
#define | NameServer_Params_MAXNAMELEN 16
The default maximum length of the name for the name/value pair.

Typedefs

typedef struct NameServer_Object * | NameServer_Handle
NameServer handle type.
typedef struct NameServer_Params | NameServer_Params
NameServer_Handle type.

Functions

Void | NameServer_Params_init (NameServer_Params *params)
Initializes parameter structure.
NameServer_Handle | NameServer_create (String name, const NameServer_Params *params)
Creates a NameServer instance.
Int | NameServer_delete (NameServer_Handle *handlePtr)
Deletes a NameServer instance.
NameServer_Handle | NameServer_getHandle (String name)
Gets the NameServer handle given the name.
Ptr | NameServer_add (NameServer_Handle handle, String name, Ptr buf, UInt32 len)
Adds a variable length value into the local NameServer table.
Ptr | NameServer_addUInt32 (NameServer_Handle handle, String name, UInt32 value)
Adds a 32-bit value into the local NameServer table.
Int | NameServer_get (NameServer_Handle handle, String name, Ptr buf, UInt32 *len, UInt16 procId[])
Gets the variable value length by name.
Int | NameServer_getUInt32 (NameServer_Handle handle, String name, Ptr buf, UInt16 procId[])
Gets a 32-bit value by name.
Int | NameServer_getLocal (NameServer_Handle handle, String name, Ptr buf, UInt32 *len)
Gets the variable value length by name from the local table.
Int | NameServer_getLocalUInt32 (NameServer_Handle handle, String name, Ptr buf)
Gets a 32-bit value by name from the local table.
Int | NameServer_remove (NameServer_Handle handle, String name)
Remove a name/value pair from the table.
Int | NameServer_removeEntry (NameServer_Handle handle, Ptr entry)
Remove a name/value pair from the table.

Macro Definition Documentation

#define NameServer_S_BUSY 2

The resource is still in use.

#define NameServer_S_ALREADYSETUP 1

The module has been already setup.

#define NameServer_S_SUCCESS 0

Operation is successful.

#define NameServer_E_FAIL -1

Generic failure.

#define NameServer_E_INVALIDARG -2

Argument passed to function is invalid.

#define NameServer_E_MEMORY -3

Operation resulted in memory failure.

#define NameServer_E_ALREADYEXISTS -4

The specified entity already exists.

#define NameServer_E_NOTFOUND -5

Unable to find the specified entity.

#define NameServer_E_TIMEOUT -6

Operation timed out.

#define NameServer_E_INVALIDSTATE -7

Module is not initialized.

#define NameServer_E_OSFAILURE -8

A failure occurred in an OS-specific call.

#define NameServer_E_RESOURCE -9

Specified resource is not available.

#define NameServer_E_RESTART -10

Operation was interrupted. Please restart the operation.

#define NameServer_ALLOWGROWTH (~0)

Allow dynamic growth of the NameServer instance table.

#define NameServer_Params_MAXNAMELEN 16

The default maximum length of the name for the name/value pair.

Typedef Documentation

typedef struct NameServer_Object* NameServer_Handle

NameServer handle type.

typedef struct NameServer_Params NameServer_Params

NameServer_Handle type.

Function Documentation

Void NameServer_Params_init ( NameServer_Params * params )

Initializes parameter structure.

Parameters:
params Instance param structure
See also:
NameServer_create
NameServer_Handle NameServer_create | ( | String | name,
 |  | const NameServer_Params * | params
 | ) |  |

Creates a NameServer instance.

Parameters:
name | Instance name
params | Instance param structure
Returns:
NameServer handle
See also:
NameServer_delete
Int NameServer_delete ( NameServer_Handle * handlePtr )

Deletes a NameServer instance.

If the instance is not empty, the contents is freed back to the heap it was allocated from.

Parameters:
handlePtr Pointer to a NameServer handle
Returns:
Status
  • NameServer_S_SUCCESS: Instance successfully deleted
  • NameServer_E_FAIL: Instance delete failed
See also:
NameServer_create
NameServer_Handle NameServer_getHandle ( String name )

Gets the NameServer handle given the name.

Each NameServer instance has a name. The name and this function can be used by the remote driver module to aid in queries to remote processors. This function allows the caller to get the local handle based on the instance name.

For example, when a remote driver sends a request to the remote processor, it probably contains the name of the instance to query. The receiving remote driver uses that name to obtain the handle for the local NameServer instance in question. Then that instance can be queried for the name/value pair.

This function does not query remote processors.

Parameters:
name Name of instance
Returns:
NameServer handle
Ptr NameServer_add | ( | NameServer_Handle | handle,
 |  | String | name,
 |  | Ptr | buf,
 |  | UInt32 | len
 | ) |  |

Adds a variable length value into the local NameServer table.

This function adds a variable length value into the local table. If the NameServer_Params::checkExisting flag was true on creation, this function searches the table to make sure the name does not already exist. If it does, the name/value pair is not added and the NameServer_E_ALREADYEXISTS error is returned.

There is memory allocation during this function if NameServer_Params::maxRuntimeEntries is set to NameServer_ALLOWGROWTH.

This function copies the name and buffer into the name/value table, so they do not need to be persistent after the call.

The function does not query remote processors to make sure the name is unique.

Parameters:
handle | Instance handle
name | Name for the name/value pair
buf | Pointer to value for the name/value pair
len | length of the value
Returns:
Unique entry identifier
See also:
NameServer_addUInt32, NameServer_get,
Ptr NameServer_addUInt32 | ( | NameServer_Handle | handle,
 |  | String | name,
 |  | UInt32 | value
 | ) |  |

Adds a 32-bit value into the local NameServer table.

This function adds a 32-bit value into the local table. This function is simply a specialized NameServer_add() function that allows a convenient way to add UInt32 bit values without needing to specify the address of a UInt32 local variable.

If the NameServer_Params::checkExisting flag was true on creation, this function searches the table to make sure the name does not already exist. If it does, the name/value pair is not added and the NameServer_E_ALREADYEXISTS error is returned.

This function copies the name into the name/value table.

There is memory allocation during this function if NameServer_Params::maxRuntimeEntries is set to NameServer_ALLOWGROWTH.

The function does not query remote processors to make sure the name is unique.

Parameters:
handle | Instance handle
name | Name for the name/value pair
value | Value for the name/value pair
Returns:
Unique entry identifier
See also:
NameServer_add, NameServer_getUInt32
Int NameServer_get | ( | NameServer_Handle | handle,
 |  | String | name,
 |  | Ptr | buf,
 |  | UInt32 * | len,
 |  | UInt16 | procId[]
 | ) |  |

Gets the variable value length by name.

If the name is found, the value is copied into the value argument, the number of MAUs copied is returned in len, and a success status is returned.

If the name is not found, zero is returned in len, the contents of value are not modified. Not finding a name is not considered an error.

For NameServer to work across processors, each processor must must be assigned a unique id. Because remote NameServer requests usually employ the use of notifications, it is good practice to sleep/wait between successive NameServer_get[UInt32] operations if polling on the success of this call. This helps ensure that remote cores are not inundated by a flood of incoming notifications and helps reduce the possiblity of deadlocks.

The processors to query is determined by the procId array. The array is used to specify which processors to query and the order. The processor ids are determined via the MultiProc module. The following are the valid settings for the procId array:

  • NULL: denotes that the local table is searched first, then all remote processors in ascending order by MultiProc id.
  • Filled in array: The NameServer will search the processors in the order given in the array. The end of the list must be denoted by the MultiProc_INVALIDID value.
UInt16 queryList[4] = {3, 2, 4, MultiProc_INVALIDID};
count = NameServer_get(handle, "foo", &value, &len, queryList);

The NameServer_getLocal() call can be used for searching the local table only.

Parameters:
handle | Instance handle
name | Name to query
buf | Pointer where the value is returned
len | Pointer for input/output length.
procId | Array of processor(s) to query
Returns:
NameServer status:
  • NameServer_S_SUCCESS: Successfully found entry
  • NameServer_E_NOTFOUND: Entry was not found, len unchanged
  • NameServer_E_FAIL: Error searching for entry
See also:
NameServer_add, NameServer_getLocal
Int NameServer_getUInt32 | ( | NameServer_Handle | handle,
 |  | String | name,
 |  | Ptr | buf,
 |  | UInt16 | procId[]
 | ) |  |

Gets a 32-bit value by name.

If the name is found, the value is copied into the value argument, and a success status is returned.

If the name is not found, the contents of value are not modified. Not finding a name is not considered an error.

For NameServer to work across processors, each processor must must be assigned a unique id. Because remote NameServer requests usually employ the use of notifications, it is good practice to sleep/wait between successive NameServer_get[UInt32] operations if polling on the success of this call. This helps ensure that remote cores are not inundated by a flood of incoming notifications and helps reduce the possiblity of deadlocks.

The processors to query is determined by the procId array. The array is used to specify which processors to query and the order. The processor ids are determined via the MultiProc module. The following are the valid settings for the procId array:

  • NULL: denotes that the local table is searched first, then all remote processors in ascending order by MultiProc id.
  • Filled in array: The NameServer will search the processors in the order given in the array. The end of the list must be denoted by the MultiProc_INVALIDID value.
UInt16 queryList[4] = {3, 2, 4, MultiProc_INVALIDID};
count = NameServer_getUInt32(handle, "foo", &value, queryList);

The NameServer_getLocal() call can be used for searching the local table only.

Parameters:
handle | Instance handle
name | Name to query
buf | Pointer where the value is returned
procId | Array of processor(s) to query
Returns:
Status
  • NameServer_S_SUCCESS: Successfully found entry
  • NameServer_E_NOTFOUND: Entry was not found
  • NameServer_E_FAIL: Error searching for entry
See also:
NameServer_addUInt32, NameServer_getLocalUInt32
Int NameServer_getLocal | ( | NameServer_Handle | handle,
 |  | String | name,
 |  | Ptr | buf,
 |  | UInt32 * | len
 | ) |  |

Gets the variable value length by name from the local table.

If the name is found, the value is copied into the value argument, the number of MAUs copied is returned in len, and a success status is returned.

If the name is not found, zero is returned in len, a fail status is returned and the contents of value are not modified. Not finding a name is not considered an error.

This function only searches the local name/value table.

Parameters:
handle | Instance handle
name | Name to query
buf | Pointer where the value is returned
len | Length of the value
Returns:
Status
  • NameServer_S_SUCCESS: Successfully found entry, len holds amount of data retrieved.
  • NameServer_E_NOTFOUND: Entry was not found, len remains unchanged.
See also:
NameServer_add, NameServer_get
Int NameServer_getLocalUInt32 | ( | NameServer_Handle | handle,
 |  | String | name,
 |  | Ptr | buf
 | ) |  |

Gets a 32-bit value by name from the local table.

If the name is found, the 32-bit value is copied into buf and NameServer_S_SUCCESS is returned.

If the name is not found, zero is copied into buf and NameServer_E_NOTFOUND is returned.

This function only searches the local name/value table.

Parameters:
handle | Instance handle
name | Name to query
buf | Pointer where the value is returned
Returns:
Status
  • NameServer_S_SUCCESS: Successfully found entry
  • NameServer_E_NOTFOUND: Entry was not found
See also:
NameServer_addUInt32, NameServer_getUInt32
Int NameServer_remove | ( | NameServer_Handle | handle,
 |  | String | name
 | ) |  |

Remove a name/value pair from the table.

This function removes a name/value pair from the table.

If NameServer_Params::maxRuntimeEntries is set to NameServer_ALLOWGROWTH, memory will be freed which was allocated in NameServer_add(). Otherwise, no memory is freed during this call. The entry in the table is simply emptied. When another NameServer_add() occurs, it will reuse the empty entry.

Parameters:
handle | Instance handle
name | Name to remove
Returns:
Status
  • NameServer_S_SUCCESS: Successfully removed entry or entry does not exists
  • NameServer_E_FAIL: Operation failed
See also:
NameServer_add
Int NameServer_removeEntry | ( | NameServer_Handle | handle,
 |  | Ptr | entry
 | ) |  |

Remove a name/value pair from the table.

This function removes an entry from the table based on the unique identifier returned from NameServer_add() or NameServer_addUInt32().

If NameServer_Params::maxRuntimeEntries is set to NameServer_ALLOWGROWTH, memory will be freed which was allocated in NameServer_add(). Otherwise, no memory is freed during this call. The entry in the table is simply emptied. When another NameServer_add() occurs, it will reuse the empty entry.

Once an Entry is removed from the NameServer table, it cannot be removed again (just like you cannot free the same block of memory twice).

Parameters:
handle | Instance handle
entry | Pointer to entry to be removed
Returns:
Status
  • NameServer_S_SUCCESS: Successfully removed entry or entry does not exists
  • NameServer_E_FAIL: Operation failed
See also:
NameServer_add


SysLink API Reference: ti/ipc/Notify.h File Reference

  • ti
  • ipc
Macros | Typedefs | Functions
Notify.h File Reference

Detailed Description

Notification manager for IPC.

============================================================================

The Notify module manages the multiplexing/demultiplexing of software interrupts over hardware interrupts. In order to receive notifications, a processor registers one or more callback functions to an eventId using Notify_registerEvent(). The Notify_registerEvent() call (like most other Notify APIs) uses a MultiProc id and line id to target a specific interrupt line to/from a specific processor on a device. The Notify_eventAvailable() API may be used to query whether an event id is availble for use before registration.

Once an event has been registered, a remote processor may send an event using the Notify_sendEvent() call. If the event and the interrupt line are both enabled, all callback functions registered to the event will be called sequentially.

A specific event may be disabled or enabled using the Notify_disableEvent() and Notify_enableEvent() calls. An entire interrupt line may be disabled or restored using the Notify_disable() or Notify_restore() calls. Notify_disable() does not alter the state of individual events. Instead, it just disables the ability of the Notify module to receive events on the interrupt line.

Notify APIs should never be called within an Hwi context. All API calls should be made within main(), a Task or a Swi with the exception of Notify_sendEvent() which may also be called within a Hwi.

"Loopback" functionality allows Notifications to be registered and sent locally. This is accomplished by supplying our own MultiProc id to Notify APIs. Line id #0 is always used for local notifications. It is important to be aware of some subtle (but important) differences between remote and local notifications:

  • Loopback callback functions will execute in the same thread in which Notify_sendEvent() is called. This is in contrast to callback functions that are called due to another processor's sent notification- these 'remote' callback functions will execute in an ISR context.
  • Loopback callback functions will execute with interrupts disabled
  • Disabling the local interrupt line will cause all notifications that are sent to the local processor to be lost. By contrast, a notification sent to an enabled event on a remote processor that has called Notify_disable() results in a pending notifications until the disabled processor has called Notify_restore().
  • Local notifications do not support events of different priorities. By contrast, Notify driver implementations may correlate event ids with varying priorities.

In order to use any Notify APIs on DSP/BIOS, IPC/SysLink must first be started. This will internally call Notify_attach() which sets up all necessary Notify drivers, shared memory and interprocessor interrupts. It is possible for a user application to call Notify_attach() directly (before Ipc_attach() or Ipc_start()) if notifications must be set up prior to runtime SharedRegion initialization. Refer to the documentation for Notify_attach() for more information.

The Notify header should be included in an application as follows:

#include <ti/ipc/Notify.h>
Version:
0.00.01

============================================================================

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define | Notify_S_BUSY 2
The resource is still in use.
#define | Notify_S_ALREADYSETUP 1
Module already set up.
#define | Notify_S_SUCCESS 0
Operation is successful.
#define | Notify_E_FAIL -1
Generic failure.
#define | Notify_E_INVALIDARG -2
Argument passed to function is invalid.
#define | Notify_E_MEMORY -3
Operation resulted in memory failure.
#define | Notify_E_ALREADYEXISTS -4
The specified entity already exists.
#define | Notify_E_NOTFOUND -5
Unable to find the specified entity.
#define | Notify_E_TIMEOUT -6
Operation timed out.
#define | Notify_E_INVALIDSTATE -7
Module is not initialized.
#define | Notify_E_OSFAILURE -8
A failure occurred in an OS-specific call.
#define | Notify_E_ALREADYSETUP -9
The module has been already setup.
#define | Notify_E_RESOURCE -10
Specified resource is not available.
#define | Notify_E_RESTART -11
Operation was interrupted. Please restart the operation.
#define | Notify_E_BUSY -12
The resource is still in use.
#define | Notify_E_DRIVERNOTREGISTERED -13
Driver corresponding to the specified eventId is not registered.
#define | Notify_E_EVTNOTREGISTERED -14
Event not registered.
#define | Notify_E_EVTDISABLED -15
Event is disabled.
#define | Notify_E_NOTINITIALIZED -16
Remote notification is not initialized.
#define | Notify_E_EVTRESERVED -17
Trying to illegally use a reserved event.
#define | Notify_MAXEVENTS (UInt16)32
Maximum number of events supported by the Notify module.
#define | Notify_MAX_INTLINES 4u
Maximum number of IPC interrupt lines for any pair of processors.
#define | Notify_SYSTEMKEY ((UInt16)0xC1D2)
This key must be provided as the upper 16 bits of the eventId when registering for an event, if any reserved event numbers are to be used.

Typedefs

typedef Void(* Notify_FnNotifyCbck )(UInt16, UInt16, UInt32, UArg, UInt32)
Signature of any callback function that can be registered with the Notify component.

Functions

Int | Notify_attach (UInt16 remoteProcId, Ptr sharedAddr)
Creates notify drivers and registers them with Notify.
UInt | Notify_disable (UInt16 procId, UInt16 lineId)
Disable ability to receive interrupts on an interrupt line.
Void | Notify_disableEvent (UInt16 procId, UInt16 lineId, UInt32 eventId)
Disable an event.
Void | Notify_enableEvent (UInt16 procId, UInt16 lineId, UInt32 eventId)
Enable an event.
Bool | Notify_eventAvailable (UInt16 procId, UInt16 lineId, UInt32 eventId)
Whether an unused event is available on an interrupt line.
Bool | Notify_intLineRegistered (UInt16 procId, UInt16 lineId)
Whether notification via interrupt line has been registered.
UInt16 | Notify_numIntLines (UInt16 procId)
Returns number of interrupt lines to remote processor.
Int | Notify_registerEvent (UInt16 procId, UInt16 lineId, UInt32 eventId, Notify_FnNotifyCbck fnNotifyCbck, UArg cbckArg)
Register a callback for an event (supports multiple callbacks)
Int | Notify_registerEventSingle (UInt16 procId, UInt16 lineId, UInt32 eventId, Notify_FnNotifyCbck fnNotifyCbck, UArg cbckArg)
Register a single callback for an event.
Void | Notify_restore (UInt16 procId, UInt16 lineId, UInt key)
Restore ability to receive interrupts on an interrupt line.
Int | Notify_sendEvent (UInt16 procId, UInt16 lineId, UInt32 eventId, UInt32 payload, Bool waitClear)
Send an event on an interrupt line.
Int | Notify_unregisterEvent (UInt16 procId, UInt16 lineId, UInt32 eventId, Notify_FnNotifyCbck fnNotifyCbck, UArg cbckArg)
Remove an event listener from an event.
Int | Notify_unregisterEventSingle (UInt16 procId, UInt16 lineId, UInt32 eventId)
Remove an event listener from an event.

Macro Definition Documentation

#define Notify_S_BUSY 2

The resource is still in use.

#define Notify_S_ALREADYSETUP 1

Module already set up.

#define Notify_S_SUCCESS 0

Operation is successful.

#define Notify_E_FAIL -1

Generic failure.

#define Notify_E_INVALIDARG -2

Argument passed to function is invalid.

#define Notify_E_MEMORY -3

Operation resulted in memory failure.

#define Notify_E_ALREADYEXISTS -4

The specified entity already exists.

#define Notify_E_NOTFOUND -5

Unable to find the specified entity.

#define Notify_E_TIMEOUT -6

Operation timed out.

#define Notify_E_INVALIDSTATE -7

Module is not initialized.

#define Notify_E_OSFAILURE -8

A failure occurred in an OS-specific call.

#define Notify_E_ALREADYSETUP -9

The module has been already setup.

#define Notify_E_RESOURCE -10

Specified resource is not available.

#define Notify_E_RESTART -11

Operation was interrupted. Please restart the operation.

#define Notify_E_BUSY -12

The resource is still in use.

#define Notify_E_DRIVERNOTREGISTERED -13

Driver corresponding to the specified eventId is not registered.

#define Notify_E_EVTNOTREGISTERED -14

Event not registered.

#define Notify_E_EVTDISABLED -15

Event is disabled.

#define Notify_E_NOTINITIALIZED -16

Remote notification is not initialized.

#define Notify_E_EVTRESERVED -17

Trying to illegally use a reserved event.

#define Notify_MAXEVENTS (UInt16)32

Maximum number of events supported by the Notify module.

#define Notify_MAX_INTLINES 4u

Maximum number of IPC interrupt lines for any pair of processors.

#define Notify_SYSTEMKEY ((UInt16)0xC1D2)

This key must be provided as the upper 16 bits of the eventId when registering for an event, if any reserved event numbers are to be used.

Typedef Documentation

Notify_FnNotifyCbck

Signature of any callback function that can be registered with the Notify component.

Parameters:
[in] | procId | Remote processor id
[in] | lineId | Line id
[in] | eventId | Event id (minus system key if reserved event)
[in] | arg | Argument specified in the registerEvent
[in] | payload | Payload specified in the sendEvent

Function Documentation

Int Notify_attach | ( | UInt16 | remoteProcId,
 |  | Ptr | sharedAddr
 | ) |  |

Creates notify drivers and registers them with Notify.

This function must be called before other Notify API calls are invoked. Performing a attach invokes a device-specific Notify initialization routine that creates required drivers and registers those drivers with the Notify module. If the drivers require shared memory, a shared address must be supplied.

Notify_attach() is typically called internally as part of the IPC initialization sequence. Any memory required for Notify drivers is reserved by SharedRegion and passed to Notify_attach(). However, if it is necessary to pass a specific base address to Notify_attach() (i.e. if the shared region is not valid yet), then Notify_attach() should be called before Ipc_start() with this address. When Ipc_start() is eventually called, Notify_attach() will be internally bypassed since it was directly called by the user.

Parameters:
[in] | remoteProcId | Remote processor id
[in] | sharedAddr | Shared address to use if any driver requires shared memory
Returns:
Notify status:
  • Notify_E_FAIL: failed to attach to remote processor
  • Notify_S_SUCCESS: successfully attach to remote processor
UInt Notify_disable | ( | UInt16 | procId,
 |  | UInt16 | lineId
 | ) |  |

Disable ability to receive interrupts on an interrupt line.

This function disables a NotifyDriver from processing received events. The key that is returned from this call must be used in the Notify_restore() function.

Notify supports nested disable/restore calls. The value of the returned key is the nesting depth.

If Notify_disable() is called upon an interrupt line that is already disabled, then the corresponding Notify_restore() will not re-enable notifications. Only the restore call that corresponds to the Notify_disable() that actually disabled notifications will re-enable notifications on the interrupt line.

Parameters:
[in] | procId | Remote processor id
[in] | lineId | Line id
Returns:
Key that must be used in Notify_restore()
See also:
Notify_restore()
Void Notify_disableEvent | ( | UInt16 | procId,
 |  | UInt16 | lineId,
 |  | UInt32 | eventId
 | ) |  |

Disable an event.

This function allows the disabling of a single event number from the specified source processor. Sending to a disabled event will return Notify_E_EVTDISABLED on the sender if waitClear is false. Notify_disableEvent() and Notify_enableEvent() may not be supported by all Notify drivers. Consult the documentation for the Notify driver to determine whether it supports this API call.

An event is, by default, enabled upon driver initialization. Calling Notify_disableEvent() upon an event that is already disabled results in no change in state.

Note that callbacks may be registered to an event or removed from the event even while the event has been disabled.

Parameters:
[in] | procId | Remote processor id
[in] | lineId | Line id
[in] | eventId | Event id
See also:
Notify_enableEvent()
Void Notify_enableEvent | ( | UInt16 | procId,
 |  | UInt16 | lineId,
 |  | UInt32 | eventId
 | ) |  |

Enable an event.

This function re-enables an event that has been previously disabled using disableEvent(). Calling Notify_enableEvent() upon an event that is already enabled results in no change in state. An event is, by default, enabled upon driver initialization.

Notify_disableEvent() and Notify_enableEvent() may not be supported by all Notify drivers. Consult the documentation for the Notify driver to determine whether it supports this API call.

Parameters:
[in] | procId | Remote processor id
[in] | lineId | Line id
[in] | eventId | Event id
See also:
Notify_disableEvent()
Bool Notify_eventAvailable | ( | UInt16 | procId,
 |  | UInt16 | lineId,
 |  | UInt32 | eventId
 | ) |  |

Whether an unused event is available on an interrupt line.

This function can be used to determine whether an unused eventId for a specific interrupt line is available for use in Notify_registerEvent() or Notify_registerEventSingle(). This function will return TRUE if and only if the following conditions are simultaneously TRUE:

  • The corresponding interrupt line is available. Notifications over an interrupt line to a remote processor are typically made available by calling Notify_attach() or Ipc_attach().
  • The event is not a reserved event
  • The event is a reserved event and Notify_SYSTEMKEY has been passed as the upper 16 bits of the 32-bit eventId argument
  • No callback functions have been registered to the event If any of the above conditions is false, this function will return FALSE. Note that an event may still be registered using Notify_registerEvent() while the last condition is false if the existing callback function(s) were registered using Notify_registerEvent() (not Notify_registerEventSingle()).
Parameters:
[in] | procId | Remote processor id
[in] | lineId | Line id
[in] | eventId | Event id
Returns:
TRUE if an unused event is available, FALSE otherwise
Bool Notify_intLineRegistered | ( | UInt16 | procId,
 |  | UInt16 | lineId
 | ) |  |

Whether notification via interrupt line has been registered.

This function will return TRUE if and only if a notify driver has been registered for the interrupt line identified by the supplied procId and lineId. The interrupt line corresponding to loopback functionality is always registered. A value of FALSE indicates that either Notify_attach() has not yet been called or that notification to the remote processor is unsupported.

Parameters:
[in] | procId | Remote processor id
[in] | lineId | Line id
Returns:
TRUE if registered, FALSE otherwise
UInt16 Notify_numIntLines ( UInt16 procId )

Returns number of interrupt lines to remote processor.

This function returns the number of available interrupt lines to a remote processor.

Parameters:
[in] procId Remote processor id
Returns:
Number of interrupt lines
Int Notify_registerEvent | ( | UInt16 | procId,
 |  | UInt16 | lineId,
 |  | UInt32 | eventId,
 |  | Notify_FnNotifyCbck | fnNotifyCbck,
 |  | UArg | cbckArg
 | ) |  |

Register a callback for an event (supports multiple callbacks)

This function registers a callback to a specific event number, processor id and interrupt line. When the event is received by the specified processor, the callback is called.

The callback function prototype is of type Notify_FnNotifyCbck. This function must be non-blocking.

It is important to note that multiple callbacks may be registered with a single event. This is accomplished by simply calling Notify_registerEvent() for each combination of callback functions and callback arguments as needed.

It is important to note that interrupts are disabled during the entire duration of this function's execution.

Parameters:
[in] | procId | Remote processor id
[in] | lineId | Line id (0 for most systems)
[in] | eventId | Event id
[in] | fnNotifyCbck | Pointer to callback function
[in] | cbckArg | Callback function argument
Returns:
Notify status:
  • Notify_S_SUCCESS: Event successfully registered
  • Notify_E_MEMORY: Failed to register due to memory error
See also:
Notify_unregisterEvent()
Int Notify_registerEventSingle | ( | UInt16 | procId,
 |  | UInt16 | lineId,
 |  | UInt32 | eventId,
 |  | Notify_FnNotifyCbck | fnNotifyCbck,
 |  | UArg | cbckArg
 | ) |  |

Register a single callback for an event.

This function registers a callback to a specific event number, processor id and interrupt line. When the event is received by the specified processor, the callback is called.

The callback function prototype is of type Notify_FnNotifyCbck. The callback function must be non-blocking.

Only one callback may be registered with this API.

Use Notify_registerEvent() to register multiple callbacks for a single event.

Parameters:
[in] | procId | Remote processor id
[in] | lineId | Line id (0 for most systems)
[in] | eventId | Event id
[in] | fnNotifyCbck | Pointer to callback function
[in] | cbckArg | Callback function argument
Returns:
Notify status:
  • Notify_E_ALREADYEXISTS: Event already registered
  • Notify_S_SUCCESS: Event successfully registered
See also:
Notify_unregisterEventSingle()
Void Notify_restore | ( | UInt16 | procId,
 |  | UInt16 | lineId,
 |  | UInt | key
 | ) |  |

Restore ability to receive interrupts on an interrupt line.

This function re-enables receiving notifications on a specific interrupt line.

Notify supports nested disable/restore calls. The last restore call will re-enable Notifications.

Parameters:
[in] | procId | Remote processor id
[in] | lineId | Line id
[in] | key | Key returned by Notify_disable()
See also:
Notify_disable()
Int Notify_sendEvent | ( | UInt16 | procId,
 |  | UInt16 | lineId,
 |  | UInt32 | eventId,
 |  | UInt32 | payload,
 |  | Bool | waitClear
 | ) |  |

Send an event on an interrupt line.

This function sends an event to a processor via an interrupt line identified by a processor id and line id. A payload may be optionally sent to the the remote processor if supported by the device.

On the destination processor, the callback functions registered with Notify with the associated eventId and source processor id are called.

For example, when using 'NotifyDriverShm', a 'waitClear' value of 'TRUE' indicates that, if an event was previously sent to the same eventId, sendEvent should spin until the previous event has been acknowledged by the remote processor. If 'waitClear' is FALSE, a pending event with the same eventId will be overwritten by the event currently being sent. When in doubt, a value of TRUE should be used because notifications may be potentially dropped when FALSE is used. When using NotifyDriverShm, a payload should never be sent with 'waitClear = FALSE.'

On the other hand, other notify drivers that use a FIFO to transmit events will spin if waitClear is TRUE until the FIFO has enough room to accept the event being sent. If waitClear is FALSE, Notify_sendEvent() will return Notify_E_FAIL if the FIFO does not have room for the event.

Refer to the documentation for the Notify drivers for more information about the effect of the waitClear flag in Notify_sendEvent().

Notify_sendEvent can be called from a Hwi context unlike other Notify APIs.

Parameters:
[in] | procId | Remote processor id
[in] | lineId | Line id
[in] | eventId | Event id
[in] | payload | Payload to be sent along with the event.
[in] | waitClear | Indicates whether to spin waiting for the remote core to process previous events
Returns:
Notify status:
  • Notify_E_EVTNOTREGISTERED: event has no registered callback functions
  • Notify_E_NOTINITIALIZED: remote driver has not yet been initialized
  • Notify_E_EVTDISABLED: remote event is disabled
  • Notify_E_TIMEOUT: timeout occured (when waitClear is TRUE)
  • Notify_S_SUCCESS: event successfully sent
Int Notify_unregisterEvent | ( | UInt16 | procId,
 |  | UInt16 | lineId,
 |  | UInt32 | eventId,
 |  | Notify_FnNotifyCbck | fnNotifyCbck,
 |  | UArg | cbckArg
 | ) |  |

Remove an event listener from an event.

This function unregisters a single callback that was registered to an event using Notify_registerEvent(). The procId, lineId, eventId, fnNotifyCbck and cbckArg must exactly match with the registered one.

This API is used to unregister events that were registered with Notify_registerEvent(). If this is the last event, then Notify_unregisterEventSingle() is called to completely remove the event.

Parameters:
[in] | procId | Remote processor id
[in] | lineId | Line id
[in] | eventId | Event id
[in] | fnNotifyCbck | Pointer to callback function
[in] | cbckArg | Callback function argument
Returns:
Notify status:
  • Notify_E_NOTFOUND: event listener not found
  • Notify_S_SUCCESS: event listener unregistered
See also:
Notify_registerEvent()
Int Notify_unregisterEventSingle | ( | UInt16 | procId,
 |  | UInt16 | lineId,
 |  | UInt32 | eventId
 | ) |  |

Remove an event listener from an event.

This function removes a previously registered callback registered with Notify_registerEventSingle(). The procId, lineId, and eventId must exactly match the registered one.

Parameters:
[in] | procId | Remote processor id
[in] | lineId | Line id
[in] | eventId | Event id that is being unregistered
Returns:
Notify status:
  • Notify_S_SUCCESS: event unregistered
  • Notify_E_FAIL: fail to unregister event
See also:
Notify_registerEventSingle()


SysLink API Reference: ti/ipc/SharedRegion.h File Reference

  • ti
  • ipc
Data Structures | Macros | Typedefs | Functions
SharedRegion.h File Reference

Detailed Description

Shared memory manager and address translator.

===========================================================================

The SharedRegion module is designed to be used in a multi-processor environment in which memory regions are shared and accessed across different processors. The module itself does not use any shared memory, because all module state is stored locally. SharedRegion APIs use the system gate for thread protection.

This module creates and stores a local shared memory region table. The table contains the processor's view for every shared region in the system. The table must not contain any overlapping regions. Each processor's view of a particular shared memory region is determined by the region id. In cases where a processor cannot access a certain shared memory region, that shared memory region should be left invalid for that processor. Note: The number of entries must be the same on all processors.

Each shared region contains the following:

  • base - The base address
  • len - The length
  • name - The name of the region
  • isValid - Whether the region is valid
  • ownerProcId - The id of the processor which owns the region
  • cacheEnable - Whether the region is cacheable
  • cacheLineSize - The cache line size
  • createHeap - Whether a heap is created for the region.

A region is added using the SharedRegion_setEntry API. The length of a region must be the same across all processors. The owner of the region can be specified. If specified, the owner manages the shared region. It creates a HeapMemMP instance which spans the full size of the region. The other processors open the same HeapMemMP instance.

Note: Prior to calling Ipc_start(), If a SharedRegion's 'isValid' is true and 'createHeap' is true then the owner of the SharedRegion must be the same as the owner of SharedRegion 0.

After a shared region is valid, SharedRegion APIs can be used to convert pointers between the local processor's address space and the SharedRegion- pointer (SRPtr) address space. These APIs include SharedRegion_getId, SharedRegion_getSRPtr and SharedRegion_getPtr. An example is shown below:

SharedRegion_SRPtr srptr;
Ptr addr;
UInt16 id;
// to get the id of the local address if id is not already known.
id = SharedRegion_getId(addr);
// to get the shared region pointer for the local address
srptr = SharedRegion_getSRPtr(addr, id);
// to get the local address from the shared region pointer
addr = SharedRegion_getPtr(srptr);

The SharedRegion header should be included in an application as follows:

#include <ti/ipc/SharedRegion.h>

============================================================================

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct SharedRegion_Entry
Structure defining a region. More...

Macros

#define | SharedRegion_S_BUSY 2
The resource is still in use.
#define | SharedRegion_S_ALREADYSETUP 1
The module has been already setup.
#define | SharedRegion_S_SUCCESS 0
Operation is successful.
#define | SharedRegion_E_FAIL -1
Generic failure.
#define | SharedRegion_E_INVALIDARG -2
Argument passed to function is invalid.
#define | SharedRegion_E_MEMORY -3
Operation resulted in memory failure.
#define | SharedRegion_E_ALREADYEXISTS -4
The specified entity already exists.
#define | SharedRegion_E_NOTFOUND -5
Unable to find the specified entity.
#define | SharedRegion_E_TIMEOUT -6
Operation timed out.
#define | SharedRegion_E_INVALIDSTATE -7
Module is not initialized.
#define | SharedRegion_E_OSFAILURE -8
A failure occurred in an OS-specific call.
#define | SharedRegion_E_RESOURCE -9
Specified resource is not available.
#define | SharedRegion_E_RESTART -10
Operation was interrupted. Please restart the operation.
#define | SharedRegion_INVALIDREGIONID (0xFFFF)
Invalid region id.

Typedefs

typedef Bits32 | SharedRegion_SRPtr
SharedRegion pointer type.
typedef struct SharedRegion_Entry | SharedRegion_Entry
Structure defining a region.

Functions

Int | SharedRegion_clearEntry (UInt16 regionId)
Clears the entry at the specified region id.
Void | SharedRegion_entryInit (SharedRegion_Entry *entry)
Initializes the entry fields.
SizeT | SharedRegion_getCacheLineSize (UInt16 regionId)
Gets the cache line size for the specified region id.
Int | SharedRegion_getEntry (UInt16 regionId, SharedRegion_Entry *entry)
Gets the entry information for the specified region id.
Ptr | SharedRegion_getHeap (UInt16 regionId)
Gets the heap associated with the specified region id.
UInt16 | SharedRegion_getId (Ptr addr)
Gets the region id for the specified address.
UInt16 | SharedRegion_getIdByName (String name)
Gets the id of a region, given its name.
UInt16 SharedRegion_getNumRegions (Void)
Gets the number of regions.
Ptr | SharedRegion_getPtr (SharedRegion_SRPtr srptr)
Calculate the local pointer from the shared region pointer.
SharedRegion_SRPtr | SharedRegion_getSRPtr (Ptr addr, UInt16 regionId)
Calculate the shared region pointer given local address and id.
Bool | SharedRegion_isCacheEnabled (UInt16 regionId)
whether cache enable was specified
Int | SharedRegion_setEntry (UInt16 regionId, SharedRegion_Entry *entry)
Sets the entry at the specified region id.
Bool SharedRegion_translateEnabled (Void)
Whether address translation is enabled.
SharedRegion_SRPtr SharedRegion_invalidSRPtr (Void)
Returns the SharedRegion_SRPtr value that maps to NULL.

Macro Definition Documentation

#define SharedRegion_S_BUSY 2

The resource is still in use.

#define SharedRegion_S_ALREADYSETUP 1

The module has been already setup.

#define SharedRegion_S_SUCCESS 0

Operation is successful.

#define SharedRegion_E_FAIL -1

Generic failure.

#define SharedRegion_E_INVALIDARG -2

Argument passed to function is invalid.

#define SharedRegion_E_MEMORY -3

Operation resulted in memory failure.

#define SharedRegion_E_ALREADYEXISTS -4

The specified entity already exists.

#define SharedRegion_E_NOTFOUND -5

Unable to find the specified entity.

#define SharedRegion_E_TIMEOUT -6

Operation timed out.

#define SharedRegion_E_INVALIDSTATE -7

Module is not initialized.

#define SharedRegion_E_OSFAILURE -8

A failure occurred in an OS-specific call.

#define SharedRegion_E_RESOURCE -9

Specified resource is not available.

#define SharedRegion_E_RESTART -10

Operation was interrupted. Please restart the operation.

#define SharedRegion_INVALIDREGIONID (0xFFFF)

Invalid region id.

Typedef Documentation

typedef Bits32 SharedRegion_SRPtr

SharedRegion pointer type.

typedef struct SharedRegion_Entry SharedRegion_Entry

Structure defining a region.

Function Documentation

Int SharedRegion_clearEntry ( UInt16 regionId )

Clears the entry at the specified region id.

SharedRegion_clearEntry is used to render invalid a shared region that is currently valid. If the region has a heap, it will either be closed or deleted as necessary. All attributes of region are reset to defaults.

Calling SharedRegion_clearEntry upon a region that is already invalid simply resets the region attributes to their defaults.

NOTE: Region #0 is special and can neither be cleared nor set.

Parameters:
regionId the region id
Returns:
Status
  • SharedRegion_S_SUCCESS: Operation was successful
  • SharedRegion_E_FAIL: Delete or close of heap created in region failed.
See also:
SharedRegion_setEntry
Void SharedRegion_entryInit ( SharedRegion_Entry * entry )

Initializes the entry fields.

Parameters:
entry pointer to a SharedRegion entry
See also:
SharedRegion_setEntry
SizeT SharedRegion_getCacheLineSize ( UInt16 regionId )

Gets the cache line size for the specified region id.

Parameters:
regionId the region id
Returns:
Cache line size
See also:
SharedRegion_isCacheEnabled
Int SharedRegion_getEntry | ( | UInt16 | regionId,
 |  | SharedRegion_Entry * | entry
 | ) |  |

Gets the entry information for the specified region id.

Parameters:
regionId | the region id
entry | pointer to return region information
Returns:
Status
  • SharedRegion_S_SUCCESS: Operation was successful
  • SharedRegion_E_FAIL: Operation failed
See also:
SharedRegion_setEntry
Ptr SharedRegion_getHeap ( UInt16 regionId )

Gets the heap associated with the specified region id.

If running on BIOS, the heap handle returned is of type xdc.runtime.IHeap. This handle type can be used with xdc.runtime.Memory. However, if running on Linux, the heap handle is of type ti.syslink.utils.IHeap. This handle type cannot be used with xdc.runtime.Memory, but can be used with ti.syslink.utils.Memory. The handle type is determined at compile time and cannot be deferred until runtime. The correct header file must be included to get the right type.

The following code shows an example.

#if defined(ti_sdo_ipc)
#include <xdc/runtime/IHeap.h>
#include <xdc/runtime/Memory.h>
#elif defined(ti_syslink)
#include <ti/syslink/utils/IHeap.h>
#include <ti/syslink/utils/Memory.h>
#endif
#include <ti/ipc/SharedRegion.h>
IHeap_Handle heap;
UInt16 regionId;
SizeT size;
SizeT align;
heap = (IHeap_Handle)SharedRegion_getHeap(regionId); // get the heap
Memory_alloc(heap, size, align, NULL); // alloc memory from heap
Parameters:
regionId the region id
Returns:
Handle of the heap, NULL if the region has no heap
UInt16 SharedRegion_getId ( Ptr addr )

Gets the region id for the specified address.

Parameters:
addr address
Returns:
region id
UInt16 SharedRegion_getIdByName ( String name )

Gets the id of a region, given its name.

Parameters:
name name of the region
Returns:
region id
UInt16 SharedRegion_getNumRegions ( Void )

Gets the number of regions.

Returns:
number of regions
Ptr SharedRegion_getPtr ( SharedRegion_SRPtr srptr )

Calculate the local pointer from the shared region pointer.

Parameters:
srptr SharedRegion pointer
Returns:
local pointer or NULL if shared region pointer is invalid
See also:
SharedRegion_getSRPtr
SharedRegion_SRPtr SharedRegion_getSRPtr | ( | Ptr | addr,
 |  | UInt16 | regionId
 | ) |  |

Calculate the shared region pointer given local address and id.

Parameters:
addr | the local address
regionId | region id
Returns:
SharedRegion pointer
See also:
SharedRegion_getPtr
Bool SharedRegion_isCacheEnabled ( UInt16 regionId )

whether cache enable was specified

Parameters:
regionId region id
Returns:
'TRUE' if cache enable specified, otherwise 'FALSE'
Int SharedRegion_setEntry | ( | UInt16 | regionId,
 |  | SharedRegion_Entry * | entry
 | ) |  |

Sets the entry at the specified region id.

SharedRegion_setEntry is used to set up a shared region that is currently invalid. Configuration is performed using the values supplied in the 'entry' parameter. If the 'createHeap' flag is TRUE, then a region heap will be created (if the processor is the region owner) or opened.

If 'createHeap' is TRUE, SharedRegion_setEntry must always be called by a 'client' of the shared region only after the region owner has called SharedRegion_setEntry. It is unsafe to poll using SharedRegion_setEntry to wait for the corresponding heap to be created by the owner. An external synchronization mechanism (i.e. Notify, shared memory, etc) must be used to ensure the proper sequence of operations.

NOTE: This function should never be called upon a region that is currently valid.

Parameters:
regionId | region id
entry | pointer to set region information.
Returns:
Status
  • SharedRegion_S_SUCCESS: Operation was successful
  • SharedRegion_E_FAIL: Region already exists or overlaps with with another region
  • SharedRegion_E_MEMORY: Unable to create Heap
Bool SharedRegion_translateEnabled ( Void )

Whether address translation is enabled.

Returns:
'TRUE' if translate is enabled otherwise 'FALSE'
SharedRegion_SRPtr SharedRegion_invalidSRPtr ( Void )

Returns the SharedRegion_SRPtr value that maps to NULL.

Returns:
Value in SRPtr-space that maps to NULL in Ptr-space


SysLink API Reference: ti/syslink/ Directory Reference

  • ti
  • syslink
syslink Directory Reference
Directory dependency graph for ti/syslink/:

Directories

directory utils

Files

file | FrameQ.h [code]
Defines for interfaces for FrameQ module. (Deprecated)
file | FrameQ_ShMem.h [code]
Header file for FrameQ on SharedMemory interface. (Deprecated)
file | FrameQBufMgr.h [code]
Defines for interfaces for FrameQBufMgr module. (Deprecated)
file | FrameQBufMgr_ShMem.h [code]
Header file for FrameQBufMgr ShMem. (Deprecated)
file | FrameQBufMgrDefs.h [code]
Defines configurable elements for FrameQBufMgr module.
file | FrameQDefs.h [code]
Defines configurable elements for FrameQ module. (Deprecated)
file | IpcHost.h [code]
This file contains APIs and defines that are used by applications only on the host-side of the device.
file | ProcMgr.h [code]
The Processor Manager on a master processor provides control functionality for a slave device.
file | RingIO.h [code]
RingIO module.
file | RingIOShm.h [code]
RingIOShm shared memory based physical transport for communication with another client.
file | Std.h [code]
This will have definitions of standard data types for platform abstraction.
file | SysLink.h [code]
This module contains common definitions, types, structures and functions used by SysLink.


SysLink API Reference: ti/syslink/utils/ Directory Reference

  • ti
  • syslink
  • utils
utils Directory Reference
Directory dependency graph for ti/syslink/utils/:

Files

file | Cache.h [code]
Defines Cache API interface.
file | Cfg.h [code]
Configuration Helper Utilities.
file | Dev.h [code]
Defines Dev API interface.
file | Gate.h [code]
Critical section support.
file | GateMonitor.h [code]
Header file for Gate based on Monitor.
file | GateMutex.h [code]
Gate based on Mutex.
file | GateProcess.h [code]
Process level gate.
file | GateSem.h [code]
Header file for Gate based on Semaphore.
file | GateSpinlock.h [code]
Gate based on Spinlock.
file | IGateProvider.h [code]
Interface implemented by all gate providers.
file | IHeap.h [code]
Defines Heap based memory allocator.
file | IpcMemMgr.h [code]
IPC Memory Manager.
file | List.h [code]
Creates a doubly linked list. It works as utils for other modules.
file | Memory.h [code]
Memory manager interface definitions.
file | MemoryDefs.h [code]
Definitions for Memory module.
file | MemoryOS.h [code]
Memory abstraction APIs for local memory allocation.
file | OsalPrint.h [code]
Kernel utils Print interface definitions.
file | OsalSemaphore.h [code]
Kernel utils Semaphore interface definitions.
file | ResTrack.h [code]
Resource Tracker utility module.
file | String.h [code]
Defines for String manipulation library.
file | SyslinkMemMgr.h [code]
Header file implementing Memory manager. It is a wrapper implementation to support Shared memory allocation using heap address translations using shared region or Tiler buffer allocation using tiler buffer manager and address translations.
file | Trace.h [code]
Kernel Trace enabling/disabling/application interface.


SysLink API Reference: ti/syslink/utils/Cache.h File Reference

  • ti
  • syslink
  • utils
Macros | Enumerations | Functions
Cache.h File Reference

Detailed Description

Defines Cache API interface.

Go to the source code of this file.

Macros

#define | Cache_S_ALREADYSETUP (1)
Cache module is already setup.
#define | Cache_S_SUCCESS (0)
Operation is successful.
#define | Cache_E_FAIL (-1)
Generic failure.
#define | Cache_E_INVALIDARG (-2)
Argument passed to a function is invalid.
#define | Cache_E_OSFAILURE (-3)
Failure in OS call.

Enumerations

enum Cache_Type {
Cache_Type_L1P = 0x1,
Cache_Type_L1D = 0x2,
Cache_Type_L1 = 0x3,
Cache_Type_L2P = 0x4,
Cache_Type_L2D = 0x8,
Cache_Type_L2 = 0xC,
Cache_Type_ALL = 0xffff
}
enum Cache_Mode {
Cache_Mode_FREEZE,
Cache_Mode_BYPASS,
Cache_Mode_NORMAL
}

Functions

Void | Cache_inv (Ptr blockPtr, UInt32 byteCnt, Bits16 type, Bool wait)
Invalidate the Cache module.
Void | Cache_wb (Ptr blockPtr, UInt32 byteCnt, Bits16 type, Bool wait)
Writeback the Cache module.
Void | Cache_wbInv (Ptr blockPtr, UInt32 byteCnt, Bits16 type, Bool wait)
Write Back and Invalidate the Cache module.
Void Cache_wait (Void)
Wait for cache operation to complete.
enum Cache_Mode | Cache_setMode (Bits16 type, enum Cache_Mode mode)
Set the mode of Cache module.

Macro Definition Documentation

#define Cache_S_ALREADYSETUP (1)

Cache module is already setup.

#define Cache_S_SUCCESS (0)

Operation is successful.

#define Cache_E_FAIL (-1)

Generic failure.

#define Cache_E_INVALIDARG (-2)

Argument passed to a function is invalid.

#define Cache_E_OSFAILURE (-3)

Failure in OS call.

Enumeration Type Documentation

enum Cache_Type

Lists of bitmask cache types

Enumerator:
Cache_Type_L1P
Cache_Type_L1D

Level 1 Program cache

Cache_Type_L1

Level 1 Data cache

Cache_Type_L2P

Level 1 caches

Cache_Type_L2D

Level 2 Program cache

Cache_Type_L2

Level 2 Data cache

Cache_Type_ALL

Level 2 caches

enum Cache_Mode

Lists of cache modes

Enumerator:
Cache_Mode_FREEZE
Cache_Mode_BYPASS
Cache_Mode_NORMAL

Function Documentation

Void Cache_inv | ( | Ptr | blockPtr,
 |  | UInt32 | byteCnt,
 |  | Bits16 | type,
 |  | Bool | wait
 | ) |  |

Invalidate the Cache module.

See also:
Cache_inv
Void Cache_wb | ( | Ptr | blockPtr,
 |  | UInt32 | byteCnt,
 |  | Bits16 | type,
 |  | Bool | wait
 | ) |  |

Writeback the Cache module.

See also:
Cache_wb
Void Cache_wbInv | ( | Ptr | blockPtr,
 |  | UInt32 | byteCnt,
 |  | Bits16 | type,
 |  | Bool | wait
 | ) |  |

Write Back and Invalidate the Cache module.

See also:
Cache_wbInv
Void Cache_wait ( Void )

Wait for cache operation to complete.

See also:
Cache_wait
enum Cache_Mode Cache_setMode | ( | Bits16 | type,
 |  | enum Cache_Mode | mode
 | ) |  |

Set the mode of Cache module.

See also:
Cache_setMode


SysLink API Reference: ti/syslink/utils/Cfg.h File Reference

  • ti
  • syslink
  • utils
Functions
Cfg.h File Reference

Detailed Description

Configuration Helper Utilities.

#include <ti/syslink/utils/String.h>
Include dependency graph for Cfg.h:

Go to the source code of this file.

Functions

Bool | Cfg_prop (String prop, String params, Char *buf)
Int | Cfg_propBool (String prop, String params, Bool *var)

Function Documentation

Bool Cfg_prop | ( | String | prop,
 |  | String | params,
 |  | Char * | buf
 | ) |  |
Int Cfg_propBool | ( | String | prop,
 |  | String | params,
 |  | Bool * | var
 | ) |  |


SysLink API Reference: ti/syslink/utils/Dev.h File Reference

  • ti
  • syslink
  • utils
Functions
Dev.h File Reference

Detailed Description

Defines Dev API interface.

#include <ti/syslink/Std.h>
Include dependency graph for Dev.h:

Go to the source code of this file.

Functions

Int32 Dev_pollOpen (String deviceFilename, Int flags)

Function Documentation

Int32 Dev_pollOpen | ( | String | deviceFilename,
 |  | Int | flags
 | ) |  |


SysLink API Reference: ti/syslink/utils/Gate.h File Reference

  • ti
  • syslink
  • utils
Functions | Variables
Gate.h File Reference

Detailed Description

Critical section support.

Gates are used by clients to protect concurrent access to critical data structures. Critical data structures are those that must be updated by at most one thread at a time. All code that needs access to a critical data structure "enters" a gate (that's associated with the data structure) prior to accessing the data, modifies the data structure, then "leaves" the gate.

A gate is responsible for ensuring that at most one thread at a time can enter and execute "inside" the gate. There are several implementations of gates, with different system executation times and latency tradoffs. In addition, some gates must not be entered by certain thread types; e.g., a gate that is implemented via a "blocking" semaphore must not be called by an interrupt service routine (ISR).

#include <ti/syslink/utils/IGateProvider.h>
Include dependency graph for Gate.h:

Go to the source code of this file.

Functions

IArg | Gate_enterSystem (void)
Void | Gate_leaveSystem (IArg key)

Variables

IGateProvider_Handle Gate_systemHandle

Function Documentation

IArg Gate_enterSystem ( void )
Void Gate_leaveSystem ( IArg key )

Variable Documentation

IGateProvider_Handle Gate_systemHandle


SysLink API Reference: ti/syslink/utils/GateMonitor.h File Reference

  • ti
  • syslink
  • utils
Macros | Typedefs | Functions
GateMonitor.h File Reference

Detailed Description

Header file for Gate based on Monitor.

Go to the source code of this file.

Macros

#define | GateMonitor_E_INVALIDARG -1
Argument passed to a function is invalid.
#define | GateMonitor_E_MEMORY -2
Memory allocation failed.
#define | GateMonitor_E_BUSY -3
The name is already registered or not.
#define | GateMonitor_E_FAIL -4
Generic failure.
#define | GateMonitor_E_NOTFOUND -5
Name not found in the nameserver.
#define | GateMonitor_E_INVALIDSTATE -6
Module is not initialized.
#define | GateMonitor_E_INUSE -7
Indicates that the instance is in use.
#define | GateMonitor_E_HANDLE -8
An invalid handle was provided.
#define | GateMonitor_S_SUCCESS 0
Operation successful.

Typedefs

typedef struct GateMonitor_Object | GateMonitor_Object
Object for GateMonitor.
typedef GateMonitor_Object * | GateMonitor_Handle
Handle for GateMonitor.
typedef Void | GateMonitor_Params

Functions

GateMonitor_Handle | GateMonitor_create (const GateMonitor_Params *params)
Int | GateMonitor_delete (GateMonitor_Handle *handle)

Macro Definition Documentation

#define GateMonitor_E_INVALIDARG -1

Argument passed to a function is invalid.

#define GateMonitor_E_MEMORY -2

Memory allocation failed.

#define GateMonitor_E_BUSY -3

The name is already registered or not.

#define GateMonitor_E_FAIL -4

Generic failure.

#define GateMonitor_E_NOTFOUND -5

Name not found in the nameserver.

#define GateMonitor_E_INVALIDSTATE -6

Module is not initialized.

#define GateMonitor_E_INUSE -7

Indicates that the instance is in use.

#define GateMonitor_E_HANDLE -8

An invalid handle was provided.

#define GateMonitor_S_SUCCESS 0

Operation successful.

Typedef Documentation

typedef struct GateMonitor_Object GateMonitor_Object

Object for GateMonitor.

typedef GateMonitor_Object* GateMonitor_Handle

Handle for GateMonitor.

typedef Void GateMonitor_Params

No parameters for GateMonitor creation

Function Documentation

GateMonitor_Handle GateMonitor_create ( const GateMonitor_Params * params )
Int GateMonitor_delete ( GateMonitor_Handle * handle )


SysLink API Reference: ti/syslink/utils/GateMutex.h File Reference

  • ti
  • syslink
  • utils
Macros | Typedefs | Functions
GateMutex.h File Reference

Detailed Description

Gate based on Mutex.

Go to the source code of this file.

Macros

#define | GateMutex_E_INVALIDARG -1
Argument passed to a function is invalid.
#define | GateMutex_E_MEMORY -2
Memory allocation failed.
#define | GateMutex_E_BUSY -3
The name is already registered or not.
#define | GateMutex_E_FAIL -4
Generic failure.
#define | GateMutex_E_NOTFOUND -5
Name not found in the nameserver.
#define | GateMutex_E_INVALIDSTATE -6
Module is not initialized.
#define | GateMutex_E_INUSE -7
Indicates that the instance is in use.
#define | GateMutex_S_SUCCESS 0
Operation successful.

Typedefs

typedef struct GateMutex_Object | GateMutex_Object
Object for Gate Mutex.
typedef GateMutex_Object * | GateMutex_Handle
Handle for Gate Mutex.
typedef Void | GateMutex_Params

Functions

GateMutex_Handle | GateMutex_create (const GateMutex_Params *params, Error_Block *eb)
Int | GateMutex_delete (GateMutex_Handle *gmHandle)

Macro Definition Documentation

#define GateMutex_E_INVALIDARG -1

Argument passed to a function is invalid.

#define GateMutex_E_MEMORY -2

Memory allocation failed.

#define GateMutex_E_BUSY -3

The name is already registered or not.

#define GateMutex_E_FAIL -4

Generic failure.

#define GateMutex_E_NOTFOUND -5

Name not found in the nameserver.

#define GateMutex_E_INVALIDSTATE -6

Module is not initialized.

#define GateMutex_E_INUSE -7

Indicates that the instance is in use.

#define GateMutex_S_SUCCESS 0

Operation successful.

Typedef Documentation

typedef struct GateMutex_Object GateMutex_Object

Object for Gate Mutex.

typedef GateMutex_Object* GateMutex_Handle

Handle for Gate Mutex.

typedef Void GateMutex_Params

No parameters for GateMutex creation

Function Documentation

GateMutex_Handle GateMutex_create | ( | const GateMutex_Params * | params,
 |  | Error_Block * | eb
 | ) |  |
Int GateMutex_delete ( GateMutex_Handle * gmHandle )


SysLink API Reference: ti/syslink/utils/GateProcess.h File Reference

  • ti
  • syslink
  • utils
Data Structures | Macros | Typedefs | Functions
GateProcess.h File Reference

Detailed Description

Process level gate.

Go to the source code of this file.

Data Structures

struct | GateProcess_Params
Create parameter structure. More...
struct | GateProcess_ShMem
Shared memory structure used by instance. More...

Macros

#define | GateProcess_E_INVALIDARG (-1)
Argument passed to a function is invalid.
#define | GateProcess_E_MEMORY (-2)
Memory allocation failed.
#define | GateProcess_E_BUSY (-3)
The name is already registered or not.
#define | GateProcess_E_FAIL (-4)
Generic failure.
#define | GateProcess_E_NOTFOUND (-5)
Name not found in the nameserver.
#define | GateProcess_E_INVALIDSTATE (-6)
Module is not initialized.
#define | GateProcess_E_INUSE (-7)
Indicates that the instance is in use.
#define | GateProcess_S_SUCCESS (0)
Operation successful.

Typedefs

typedef struct GateProcess_Object | GateProcess_Object
Object for GateProcess.
typedef GateProcess_Object * | GateProcess_Handle
Handle for GateProcess.

Functions

IArg | GateProcess_enter (GateProcess_Handle handle)
Void | GateProcess_leave (GateProcess_Handle handle, IArg key)
Void | GateProcess_Params_init (GateProcess_Params *params)
GateProcess_Handle | GateProcess_create (Ptr sharedAddr, const GateProcess_Params *params)
Int | GateProcess_delete (GateProcess_Handle *pHandle)
GateProcess_Handle | GateProcess_open (Ptr sharedAddr)
Int | GateProcess_close (GateProcess_Handle *pHandle)
SizeT GateProcess_shMemSize (Void)

Macro Definition Documentation

#define GateProcess_E_INVALIDARG (-1)

Argument passed to a function is invalid.

#define GateProcess_E_MEMORY (-2)

Memory allocation failed.

#define GateProcess_E_BUSY (-3)

The name is already registered or not.

#define GateProcess_E_FAIL (-4)

Generic failure.

#define GateProcess_E_NOTFOUND (-5)

Name not found in the nameserver.

#define GateProcess_E_INVALIDSTATE (-6)

Module is not initialized.

#define GateProcess_E_INUSE (-7)

Indicates that the instance is in use.

#define GateProcess_S_SUCCESS (0)

Operation successful.

Typedef Documentation

typedef struct GateProcess_Object GateProcess_Object

Object for GateProcess.

typedef GateProcess_Object* GateProcess_Handle

Handle for GateProcess.

Function Documentation

IArg GateProcess_enter ( GateProcess_Handle handle )
Void GateProcess_leave | ( | GateProcess_Handle | handle,
 |  | IArg | key
 | ) |  |
Void GateProcess_Params_init ( GateProcess_Params * params )
GateProcess_Handle GateProcess_create | ( | Ptr | sharedAddr,
 |  | const GateProcess_Params * | params
 | ) |  |
Int GateProcess_delete ( GateProcess_Handle * pHandle )
GateProcess_Handle GateProcess_open ( Ptr sharedAddr )
Int GateProcess_close ( GateProcess_Handle * pHandle )
SizeT GateProcess_shMemSize ( Void )


SysLink API Reference: ti/syslink/utils/GateSem.h File Reference

  • ti
  • syslink
  • utils
Macros | Typedefs | Functions
GateSem.h File Reference

Detailed Description

Header file for Gate based on Semaphore.

Go to the source code of this file.

Macros

#define | GateSem_E_INVALIDARG -1
Argument passed to a function is invalid.
#define | GateSem_E_MEMORY -2
Memory allocation failed.
#define | GateSem_E_BUSY -3
The name is already registered or not.
#define | GateSem_E_FAIL -4
Generic failure.
#define | GateSem_E_NOTFOUND -5
Name not found in the nameserver.
#define | GateSem_E_INVALIDSTATE -6
Module is not initialized.
#define | GateSem_E_INUSE -7
Indicates that the instance is in use.
#define | GateSem_E_HANDLE -8
An invalid handle was provided.
#define | GateSem_S_SUCCESS 0
Operation successful.

Typedefs

typedef struct GateSem_Object | GateSem_Object
Object for GateSem.
typedef GateSem_Object * | GateSem_Handle
Handle for GateSem.
typedef Void | GateSem_Params

Functions

GateSem_Handle | GateSem_create (const GateSem_Params *params)
Int | GateSem_delete (GateSem_Handle *handle)

Macro Definition Documentation

#define GateSem_E_INVALIDARG -1

Argument passed to a function is invalid.

#define GateSem_E_MEMORY -2

Memory allocation failed.

#define GateSem_E_BUSY -3

The name is already registered or not.

#define GateSem_E_FAIL -4

Generic failure.

#define GateSem_E_NOTFOUND -5

Name not found in the nameserver.

#define GateSem_E_INVALIDSTATE -6

Module is not initialized.

#define GateSem_E_INUSE -7

Indicates that the instance is in use.

#define GateSem_E_HANDLE -8

An invalid handle was provided.

#define GateSem_S_SUCCESS 0

Operation successful.

Typedef Documentation

typedef struct GateSem_Object GateSem_Object

Object for GateSem.

typedef GateSem_Object* GateSem_Handle

Handle for GateSem.

typedef Void GateSem_Params

No parameters for GateSem creation

Function Documentation

GateSem_Handle GateSem_create ( const GateSem_Params * params )
Int GateSem_delete ( GateSem_Handle * handle )


SysLink API Reference: ti/syslink/utils/GateSpinlock.h File Reference

  • ti
  • syslink
  • utils
Macros | Typedefs | Functions
GateSpinlock.h File Reference

Detailed Description

Gate based on Spinlock.

Go to the source code of this file.

Macros

#define | GateSpinlock_E_INVALIDARG -1
Argument passed to a function is invalid.
#define | GateSpinlock_E_MEMORY -2
Memory allocation failed.
#define | GateSpinlock_E_BUSY -3
The name is already registered or not.
#define | GateSpinlock_E_FAIL -4
Generic failure.
#define | GateSpinlock_E_NOTFOUND -5
Name not found in the nameserver.
#define | GateSpinlock_E_INVALIDSTATE -6
Module is not initialized.
#define | GateSpinlock_E_INUSE -7
Indicates that the instance is in use.
#define | GateSpinlock_E_HANDLE -8
An invalid handle was provided.
#define | GateSpinlock_S_SUCCESS 0
Operation successful.

Typedefs

typedef struct GateSpinlock_Object | GateSpinlock_Object
Object for GateSpinlock.
typedef GateSpinlock_Object * | GateSpinlock_Handle
Handle for GateSpinlock.
typedef Void | GateSpinlock_Params

Functions

GateSpinlock_Handle | GateSpinlock_create (const GateSpinlock_Params *params, Error_Block *eb)
Int | GateSpinlock_delete (GateSpinlock_Handle *handle)

Macro Definition Documentation

#define GateSpinlock_E_INVALIDARG -1

Argument passed to a function is invalid.

#define GateSpinlock_E_MEMORY -2

Memory allocation failed.

#define GateSpinlock_E_BUSY -3

The name is already registered or not.

#define GateSpinlock_E_FAIL -4

Generic failure.

#define GateSpinlock_E_NOTFOUND -5

Name not found in the nameserver.

#define GateSpinlock_E_INVALIDSTATE -6

Module is not initialized.

#define GateSpinlock_E_INUSE -7

Indicates that the instance is in use.

#define GateSpinlock_E_HANDLE -8

An invalid handle was provided.

#define GateSpinlock_S_SUCCESS 0

Operation successful.

Typedef Documentation

typedef struct GateSpinlock_Object GateSpinlock_Object

Object for GateSpinlock.

typedef GateSpinlock_Object* GateSpinlock_Handle

Handle for GateSpinlock.

typedef Void GateSpinlock_Params

No parameters for GateSpinlock creation

Function Documentation

GateSpinlock_Handle GateSpinlock_create | ( | const GateSpinlock_Params * | params,
 |  | Error_Block * | eb
 | ) |  |
Int GateSpinlock_delete ( GateSpinlock_Handle * handle )


SysLink API Reference: ti/syslink/utils/IGateProvider.h File Reference

  • ti
  • syslink
  • utils
Data Structures | Macros | Typedefs
IGateProvider.h File Reference

Detailed Description

Interface implemented by all gate providers.

Gates are used serialize access to data structures that are used by more than one thread.

Gates are responsible for ensuring that only one out of multiple threads can access a data structure at a time. There are important scheduling latency and performance considerations that affect the "type" of gate used to protect each data structure. For example, the best way to protect a shared counter is to simply disable all interrupts before the update and restore the interrupt state after the update; disabling all interrupts prevents all thread switching, so the update is guaranteed to be "atomic". Although highly efficient, this method of creating atomic sections causes serious system latencies when the time required to update the data structure can't be bounded.

For example, a memory manager's list of free blocks can grow indefinitely long during periods of high fragmentation. Searching such a list with interrupts disabled would cause system latencies to also become unbounded. In this case, the best solution is to provide a gate that suspends the execution of threads that try to enter a gate that has already been entered; i.e., the gate "blocks" the thread until the thread already in the gate leaves. The time required to enter and leave the gate is greater than simply enabling and restoring interrupts, but since the time spent within the gate is relatively large, the overhead caused by entering and leaving gates will not become a significant percentage of overall system time. More importantly, threads that do not need to access the shared data structure are completely unaffected by threads that do access it.

#include <ti/syslink/utils/Trace.h>
Include dependency graph for IGateProvider.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct IGateProvider_Object

Macros

#define | IGateProvider_NULL (IGateProvider_Handle)0xFFFFFFFF
#define | IGateProvider_Q_BLOCKING 1
#define | IGateProvider_Q_PREEMPTING 2
#define | IGateProvider_SuperObject
#define | IGateProvider_ObjectInitializer(x, y)

Typedefs

typedef IArg(* | IGateProvider_ENTER )(Void *)
typedef Void(* | IGateProvider_LEAVE )(Void *, IArg)
typedef struct IGateProvider_Object | IGateProvider_Object
typedef struct
IGateProvider_Object * 		IGateProvider_Handle

Macro Definition Documentation

#define IGateProvider_NULL (IGateProvider_Handle)0xFFFFFFFF

Invalid Igate

#define IGateProvider_Q_BLOCKING 1

======== IGateProvider_Q_BLOCKING ======== Blocking quality

Gates with this "quality" may cause the calling thread to block; i.e., suspend execution until another thread leaves the gate.

#define IGateProvider_Q_PREEMPTING 2

======== IGateProvider_Q_PREEMPTING ======== Preempting quality

Gates with this "quality" allow other threads to preempt the thread that has already entered the gate.

#define IGateProvider_SuperObject
Value:
IGateProvider_ENTER enter; \
IGateProvider_LEAVE leave

======== IGateProvider_SuperObject ======== Object embedded in other Gate modules. (Inheritance)

#define IGateProvider_ObjectInitializer | ( | x,
 |  | y
 | ) |
Value:
((IGateProvider_Handle)(x))->enter = (IGateProvider_ENTER)y##_enter; \
((IGateProvider_Handle)(x))->leave = (IGateProvider_LEAVE)y##_leave;

Typedef Documentation

typedef IArg(* IGateProvider_ENTER)(Void *)

Prototype of enter function

typedef Void(* IGateProvider_LEAVE)(Void *, IArg)

Prototype of leave function

typedef struct IGateProvider_Object IGateProvider_Object

Structure for generic gate instance

typedef struct IGateProvider_Object * IGateProvider_Handle


SysLink API Reference: ti/syslink/utils/IHeap.h File Reference

  • ti
  • syslink
  • utils
Data Structures | Typedefs
IHeap.h File Reference

Detailed Description

Defines Heap based memory allocator.

Heap implementation that manages fixed size buffers that can be used in a multiprocessor system with shared memory.

The Heap manager provides functions to allocate and free storage from a heap of type Heap which inherits from IHeap. Heap manages a single fixed-size buffer, split into equally sized allocable blocks.

The Heap manager is intended as a very fast memory manager which can only allocate blocks of a single size. It is ideal for managing a heap that is only used for allocating a single type of object, or for objects that have very similar sizes.

This module is instance based. Each instance requires shared memory (for the buffers and other internal state). This is specified via the sharedAddr parameter to the create. The proper sharedAddrSize parameter can be determined via the sharedMemReq call. Note: the parameters to this function must be the same that will used to create the instance.

The Heap module uses a NameServer instance to store instance information when an instance is created and the name parameter is non-NULL. If a name is supplied, it must be unique for all Heap instances.

The create initializes the shared memory as needed. The shared memory must be initialized to 0 before the Heap instance is created or opened.

Once an instance is created, an open can be performed. The open is used to gain access to the same Heap instance. Generally an instance is created on one processor and opened on the other processor(s).

The open returns a Heap instance handle like the create, however the open does not modify the shared memory.

There are two options when opening the instance: -Supply the same name as specified in the create. The Heap module queries the NameServer to get the needed information. -Supply the same sharedAddr value as specified in the create.

If the open is called before the instance is created, open returns NULL.

Constraints: -Align parameter must be a power of 2. -The buffer passed to dynamically create a Heap must be aligned according to the alignment parameter, and must be large enough to account for the actual block size after it has been rounded up to a multiple of the alignment.

#include <ti/syslink/utils/MemoryDefs.h>
#include <ti/syslink/utils/Trace.h>
Include dependency graph for IHeap.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct IHeap_Object_tag
Structure for the Handle for the Heap. More...

Typedefs

typedef struct IHeap_Object_tag | IHeap_Object
Forward declaration of structure defining object for the Heap module.
typedef IHeap_Object * | IHeap_Handle
Handle for the Heap Buf.
typedef Ptr(* | IHeap_allocFxn )(IHeap_Handle handle, SizeT size, SizeT align)
Type for function pointer to allocate a memory block.
typedef Void(* | IHeap_freeFxn )(IHeap_Handle handle, Ptr block, SizeT size)
Type for function pointer to free a memory block.
typedef Void(* | IHeap_getStatsFxn )(IHeap_Handle handle, Memory_Stats *stats)
Type for function pointer to get memory related statistics.
typedef Bool(* | IHeap_isBlockingFxn )(IHeap_Handle handle)
typedef Ptr(* | IHeap_getKnlHandleFxn )(IHeap_Handle handle)
Type for function pointer to get handle to kernel object.

Typedef Documentation

typedef struct IHeap_Object_tag IHeap_Object

Forward declaration of structure defining object for the Heap module.

typedef IHeap_Object* IHeap_Handle

Handle for the Heap Buf.

typedef Ptr(* IHeap_allocFxn)(IHeap_Handle handle, SizeT size, SizeT align)

Type for function pointer to allocate a memory block.

typedef Void(* IHeap_freeFxn)(IHeap_Handle handle, Ptr block, SizeT size)

Type for function pointer to free a memory block.

typedef Void(* IHeap_getStatsFxn)(IHeap_Handle handle, Memory_Stats *stats)

Type for function pointer to get memory related statistics.

typedef Bool(* IHeap_isBlockingFxn)(IHeap_Handle handle)
typedef Ptr(* IHeap_getKnlHandleFxn)(IHeap_Handle handle)

Type for function pointer to get handle to kernel object.


SysLink API Reference: ti/syslink/utils/IpcMemMgr.h File Reference

  • ti
  • syslink
  • utils
Data Structures | Macros | Typedefs | Enumerations | Functions
IpcMemMgr.h File Reference

Detailed Description

IPC Memory Manager.

This abstracts the IPC Memory Management interface. Supported functions include alloc, free, and copy. Additional features:

1. Process wide shared memory allocation. 2. Provides APIs to allocate kmalloc/vmalloc memory. 3. mmap/unmap. 4. translate

#include <ti/syslink/osal/OsalTypes.h>
Include dependency graph for IpcMemMgr.h:

Go to the source code of this file.

Data Structures

struct IpcMemMgr_Config_t
Structure defining config parameters for overall System. More...

Macros

#define | IpcMemMgr_MODULEID (0x434D)
Unique module ID.
#define | IpcMemMgr_S_NOTLAST 2
#define | IpcMemMgr_S_ALREADYSETUP 1
#define | IpcMemMgr_S_SUCCESS 0
#define | IpcMemMgr_E_FAIL -1
#define | IpcMemMgr_E_INVALIDSTATE -2
#define | IpcMemMgr_E_INVALIDARG -3
#define | IpcMemMgr_E_MEMORY -4
#define | IpcMemMgr_E_OSFAILURE -5
#define | IpcMemMgr_E_TOOMANYNAMEDALLOCS -6
#define | IpcMemMgr_E_NOTFOUND -7
#define | IpcMemMgr_E_WRONGSIZE -8
#define | IpcMemMgr_SHAREDMEMNAME "/syslink_shm"
#define | IpcMemMgr_MAXNAMEDBUFFERS 256 /* max named buffers */
#define | IpcMemMgr_MAX_NAMELEN 63 /* max name length */

Typedefs

typedef struct IpcMemMgr_Config_t | IpcMemMgr_Config
Structure defining config parameters for overall System.
typedef UInt32 | IpcMemMgr_SHPtr
SharedRegion pointer type.

Enumerations

enum IpcMemMgr_MemType {
IpcMemMgr_ALLOCTYPE_PSHMEM = 0x00000,
IpcMemMgr_ALLOCTYPE_PHYS_CACHE = 0x00001,
IpcMemMgr_ALLOCTYPE_PHYS_NOCACHE = 0x00002,
IpcMemMgr_ALLOCTYPE_END = 0x00003
}

Functions

Void | IpcMemMgr_getConfig (IpcMemMgr_Config *config)
Int | IpcMemMgr_setup (IpcMemMgr_Config *cfg)
Int IpcMemMgr_destroy (Void)
Ptr | IpcMemMgr_alloc (SizeT size)
Int | IpcMemMgr_acquire (String name, SizeT size, Ptr *addr, Bool *newAlloc)
Void | IpcMemMgr_free (Ptr adr, SizeT size)
Int | IpcMemMgr_release (String name)
Ptr | IpcMemMgr_getPtr (UInt32 offset)
UInt32 | IpcMemMgr_getOffset (Ptr vaddr)
Ptr | IpcMemMgr_allocShmemHeap (String name, UInt32 size, UInt32 align)
Int | IpcMemMgr_freeShmemHeap (Ptr buf, UInt32 size)
Int | IpcMemMgr_freeShmemHeapByName (String name)
IArg IpcMemMgr_enterGate (Void)
Void | IpcMemMgr_leaveGate (IArg key)

Macro Definition Documentation

#define IpcMemMgr_MODULEID (0x434D)

Unique module ID.

#define IpcMemMgr_S_NOTLAST 2
#define IpcMemMgr_S_ALREADYSETUP 1
#define IpcMemMgr_S_SUCCESS 0
#define IpcMemMgr_E_FAIL -1
#define IpcMemMgr_E_INVALIDSTATE -2
#define IpcMemMgr_E_INVALIDARG -3
#define IpcMemMgr_E_MEMORY -4
#define IpcMemMgr_E_OSFAILURE -5
#define IpcMemMgr_E_TOOMANYNAMEDALLOCS -6
#define IpcMemMgr_E_NOTFOUND -7
#define IpcMemMgr_E_WRONGSIZE -8
#define IpcMemMgr_SHAREDMEMNAME "/syslink_shm"
#define IpcMemMgr_MAXNAMEDBUFFERS 256 /* max named buffers */
#define IpcMemMgr_MAX_NAMELEN 63 /* max name length */

Typedef Documentation

typedef struct IpcMemMgr_Config_t IpcMemMgr_Config

Structure defining config parameters for overall System.

typedef UInt32 IpcMemMgr_SHPtr

SharedRegion pointer type.

Enumeration Type Documentation

enum IpcMemMgr_MemType
Enumerator:
IpcMemMgr_ALLOCTYPE_PSHMEM
IpcMemMgr_ALLOCTYPE_PHYS_CACHE
IpcMemMgr_ALLOCTYPE_PHYS_NOCACHE
IpcMemMgr_ALLOCTYPE_END

Function Documentation

Void IpcMemMgr_getConfig ( IpcMemMgr_Config * config )
Int IpcMemMgr_setup ( IpcMemMgr_Config * cfg )
Int IpcMemMgr_destroy ( Void )
Ptr IpcMemMgr_alloc ( SizeT size )
Int IpcMemMgr_acquire | ( | String | name,
 |  | SizeT | size,
 |  | Ptr * | addr,
 |  | Bool * | newAlloc
 | ) |  |
Void IpcMemMgr_free | ( | Ptr | adr,
 |  | SizeT | size
 | ) |  |
Int IpcMemMgr_release ( String name )
Ptr IpcMemMgr_getPtr ( UInt32 offset )
UInt32 IpcMemMgr_getOffset ( Ptr vaddr )
Ptr IpcMemMgr_allocShmemHeap | ( | String | name,
 |  | UInt32 | size,
 |  | UInt32 | align
 | ) |  |
Int IpcMemMgr_freeShmemHeap | ( | Ptr | buf,
 |  | UInt32 | size
 | ) |  |
Int IpcMemMgr_freeShmemHeapByName ( String name )
IArg IpcMemMgr_enterGate ( Void )
Void IpcMemMgr_leaveGate ( IArg key )


SysLink API Reference: ti/syslink/utils/List.h File Reference

  • ti
  • syslink
  • utils
Data Structures | Macros | Typedefs | Functions
List.h File Reference

Detailed Description

Creates a doubly linked list. It works as utils for other modules.

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct | List_Elem_tag
Structure defining object for the list element. More...
struct | List_Object_tag
Structure defining object for the list. More...
struct | List_Params_tag
Structure defining params for the list. More...

Macros

#define List_traverse(x, y)
Traverse the full list till the last element.

Typedefs

typedef struct List_Elem_tag | List_Elem
Structure defining object for the list element.
typedef struct List_Object_tag | List_Object
Structure defining object for the list.
typedef List_Object * | List_Handle
Defines List handle type.
typedef struct List_Params_tag | List_Params
Structure defining params for the list.

Functions

Void | List_Params_init (List_Params *params)
Initialize this config-params structure with supplier-specified defaults before instance creation.
List_Handle | List_create (List_Params *params, Error_Block *eb)
Function to create a list object.
Void | List_delete (List_Handle *handlePtr)
Function to delete a list object.
Void | List_construct (List_Object *obj, List_Params *params)
Function to construct a list object. This function is used when memory for the list object is not to be allocated by the List API.
Void | List_destruct (List_Object *obj)
Function to destruct a list object.
Void | List_elemClear (List_Elem *elem)
Function to clear element contents.
Bool | List_empty (List_Handle handle)
Function to check if list is empty.
Ptr | List_get (List_Handle handle)
Function to get first element of List.
Void | List_put (List_Handle handle, List_Elem *elem)
Function to insert element at the end of List.
Ptr | List_next (List_Handle handle, List_Elem *elem)
Function to traverse to the next element in the list (non atomic)
Ptr | List_prev (List_Handle handle, List_Elem *elem)
Function to traverse to the previous element in the list (non atomic)
Void | List_insert (List_Handle handle, List_Elem *newElem, List_Elem *curElem)
Function to insert element before the existing element in the list.
Void | List_remove (List_Handle handle, List_Elem *elem)
Function to removes element from the List.
Void | List_putHead (List_Handle handle, List_Elem *elem)
Function to put the element before head.
Ptr | List_dequeue (List_Handle handle)
Get element from front of List (non-atomic)
Void | List_enqueue (List_Handle handle, List_Elem *elem)
Put element at end of List (non-atomic)
Void | List_enqueueHead (List_Handle handle, List_Elem *elem)
Put element at head of List (non-atomic)

Macro Definition Documentation

#define List_traverse | ( | x,
 |  | y
 | ) |
Value:
for(x = (List_Elem *)((List_Object *)y)->elem.next; \
(UInt32) x != (UInt32)&((List_Object *)y)->elem;\
x = x->next)

Traverse the full list till the last element.

Typedef Documentation

typedef struct List_Elem_tag List_Elem

Structure defining object for the list element.

typedef struct List_Object_tag List_Object

Structure defining object for the list.

typedef List_Object* List_Handle

Defines List handle type.

typedef struct List_Params_tag List_Params

Structure defining params for the list.

Function Documentation

Void List_Params_init ( List_Params * params )

Initialize this config-params structure with supplier-specified defaults before instance creation.

Parameters:
params Instance config-params structure.
See also:
List_create
List_Handle List_create | ( | List_Params * | params,
 |  | Error_Block * | eb
 | ) |  |

Function to create a list object.

Parameters:
params | Pointer to list creation parameters. If NULL is passed, default parameters are used.
eb | Unused
Return values:
List-handle Handle to the list object
See also:
List_delete
Void List_delete ( List_Handle * handlePtr )

Function to delete a list object.

Parameters:
handlePtr Pointer to the list handle
See also:
List_delete
Void List_construct | ( | List_Object * | obj,
 |  | List_Params * | params
 | ) |  |

Function to construct a list object. This function is used when memory for the list object is not to be allocated by the List API.

Parameters:
obj | Pointer to the list object to be constructed
params | Pointer to list construction parameters. If NULL is passed, default parameters are used.
See also:
List_destruct
Void List_destruct ( List_Object * obj )

Function to destruct a list object.

Parameters:
obj Pointer to the list object to be destructed
See also:
List_construct
Void List_elemClear ( List_Elem * elem )

Function to clear element contents.

Parameters:
elem Element to be cleared
See also:
Bool List_empty ( List_Handle handle )

Function to check if list is empty.

Parameters:
handle Pointer to the list
Return values:
TRUE | List is empty
FALSE | List is not empty
See also:
Ptr List_get ( List_Handle handle )

Function to get first element of List.

Parameters:
handle Pointer to the list
Return values:
NULL | Operation failed
Valid-pointer | Pointer to first element
See also:
List_put
Void List_put | ( | List_Handle | handle,
 |  | List_Elem * | elem
 | ) |  |

Function to insert element at the end of List.

Parameters:
handle | Pointer to the list
elem | Element to be inserted
See also:
List_get
Ptr List_next | ( | List_Handle | handle,
 |  | List_Elem * | elem
 | ) |  |

Function to traverse to the next element in the list (non atomic)

Parameters:
handle | Pointer to the list
elem | Pointer to the current element
Return values:
NULL | Operation failed
Valid-pointer | Pointer to next element
See also:
List_prev
Ptr List_prev | ( | List_Handle | handle,
 |  | List_Elem * | elem
 | ) |  |

Function to traverse to the previous element in the list (non atomic)

Parameters:
handle | Pointer to the list
elem | Pointer to the current element
Return values:
NULL | Operation failed
Valid-pointer | Pointer to previous element
See also:
List_next
Void List_insert | ( | List_Handle | handle,
 |  | List_Elem * | newElem,
 |  | List_Elem * | curElem
 | ) |  |

Function to insert element before the existing element in the list.

Parameters:
handle | Pointer to the list
newElem | Element to be inserted
curElem | Existing element before which new one is to be inserted
See also:
List_remove
Void List_remove | ( | List_Handle | handle,
 |  | List_Elem * | elem
 | ) |  |

Function to removes element from the List.

Parameters:
handle | Pointer to the list
elem | Element to be removed
See also:
List_insert
Void List_putHead | ( | List_Handle | handle,
 |  | List_Elem * | elem
 | ) |  |

Function to put the element before head.

Parameters:
handle | Pointer to the list
elem | Element to be added at the head
See also:
List_put
Ptr List_dequeue ( List_Handle handle )

Get element from front of List (non-atomic)

Parameters:
handle Pointer to the list
Return values:
NULL | Operation failed
Valid-pointer | Pointer to removed element
See also:
List_enqueue, List_enqueueHead
Void List_enqueue | ( | List_Handle | handle,
 |  | List_Elem * | elem
 | ) |  |

Put element at end of List (non-atomic)

Parameters:
handle | Pointer to the list
elem | Element to be put
See also:
List_dequeue
Void List_enqueueHead | ( | List_Handle | handle,
 |  | List_Elem * | elem
 | ) |  |

Put element at head of List (non-atomic)

Parameters:
handle | Pointer to the list
elem | Element to be added
See also:
List_dequeue


SysLink API Reference: ti/syslink/utils/Memory.h File Reference

  • ti
  • syslink
  • utils
Macros | Functions
Memory.h File Reference

Detailed Description

Memory manager interface definitions.

This abstracts the Memory management interface to be used with SysLink code. Allocation, Freeing-up, copy and address translate are supported for the memory management.

#include <ti/syslink/utils/MemoryDefs.h>
#include <ti/syslink/utils/MemoryOS.h>
#include <ti/syslink/utils/_Memory.h>
#include <ti/syslink/utils/IHeap.h>
Include dependency graph for Memory.h:

Go to the source code of this file.

Macros

#define | Memory_Q_BLOCKING 1
Blocking quality Heaps with this "quality" may cause the calling thread to block; i.e., suspend execution until another thread leaves the gate.
#define | Memory_copy MemoryOS_copy
Copies the data between memory areas.
#define | Memory_set MemoryOS_set
Set the specific value in the said memory area.

Functions

Ptr | Memory_alloc (IHeap_Handle heap, SizeT size, SizeT align, Ptr eb)
Allocates the specified number of bytes.
Ptr | Memory_calloc (IHeap_Handle heap, SizeT size, SizeT align, Ptr eb)
Allocates the specified number of bytes and memory is set to zero.
Void | Memory_free (IHeap_Handle heap, Ptr block, SizeT size)
Frees up the specified chunk of memory.
Void | Memory_getStats (IHeap_Handle heap, Memory_Stats *stats)
Function to obtain statistics from a heap.
Bool | Memory_query (IHeap_Handle heap, Int qual)
Function to test for a particular IHeap quality.
SizeT Memory_getMaxDefaultTypeAlign (Void)
Function to get memory alignment.
Ptr | Memory_valloc (IHeap_Handle heap, SizeT size, SizeT align, Char value, Ptr eb)
Allocates the specified number of bytes and memory is set to the specified value.

Macro Definition Documentation

#define Memory_Q_BLOCKING 1

Blocking quality Heaps with this "quality" may cause the calling thread to block; i.e., suspend execution until another thread leaves the gate.

#define Memory_copy MemoryOS_copy

Copies the data between memory areas.

#define Memory_set MemoryOS_set

Set the specific value in the said memory area.

Function Documentation

Ptr Memory_alloc | ( | IHeap_Handle | heap,
 |  | SizeT | size,
 |  | SizeT | align,
 |  | Ptr | eb
 | ) |  |

Allocates the specified number of bytes.

Parameters:
heap | Handle to the heap from which the memory is to be allocated. Specify NULL to allocate from local memory.
size | Amount of memory to be allocated.
align | Alignment constraints (power of 2)
eb | Not used. Pass as NULL.
Return values:
Pointer | Success: Pointer to allocated buffer
NULL | Failed to allocate memory
See also:
Memory_calloc
Ptr Memory_calloc | ( | IHeap_Handle | heap,
 |  | SizeT | size,
 |  | SizeT | align,
 |  | Ptr | eb
 | ) |  |

Allocates the specified number of bytes and memory is set to zero.

Parameters:
heap | Handle to the heap from which the memory is to be allocated. Specify NULL to allocate from local memory.
size | Amount of memory to be allocated.
align | Alignment constraints (power of 2)
eb | Not used. Pass as NULL.
Return values:
Pointer | Success: Pointer to allocated buffer
NULL | Failed to allocate memory
See also:
Memory_alloc, MemoryOS_calloc
Void Memory_free | ( | IHeap_Handle | heap,
 |  | Ptr | block,
 |  | SizeT | size
 | ) |  |

Frees up the specified chunk of memory.

Parameters:
heap | Handle to the heap
block | Block of memory to be freed
size | Amount of memory to be freed
See also:
IHeap_free, MemoryOS_free
Void Memory_getStats | ( | IHeap_Handle | heap,
 |  | Memory_Stats * | stats
 | ) |  |

Function to obtain statistics from a heap.

Parameters:
heap | Handle to the heap
stats | Pointer to the Memory stats structure to be filled.
See also:
Bool Memory_query | ( | IHeap_Handle | heap,
 |  | Int | qual
 | ) |  |

Function to test for a particular IHeap quality.

Parameters:
heap | Handle to the heap
qual | Quality to be queried.
See also:
Memory_Q_BLOCKING
SizeT Memory_getMaxDefaultTypeAlign ( Void )

Function to get memory alignment.

Return values:
Alignment Maximum default alignment
Ptr Memory_valloc | ( | IHeap_Handle | heap,
 |  | SizeT | size,
 |  | SizeT | align,
 |  | Char | value,
 |  | Ptr | eb
 | ) |  |

Allocates the specified number of bytes and memory is set to the specified value.

Parameters:
heap | Handle to the heap from which the memory is to be allocated. Specify NULL to allocate from local memory.
size | Amount of memory to be allocated.
align | Alignment constraints (power of 2)
value | Value to be set for all bytes in the buffer
eb | Not used. Pass as NULL.
Return values:
Pointer | Success: Pointer to allocated buffer
NULL | Failed to allocate memory
See also:
Memory_alloc, MemoryOS_calloc


SysLink API Reference: ti/syslink/utils/MemoryDefs.h File Reference

  • ti
  • syslink
  • utils
Data Structures | Typedefs | Enumerations
MemoryDefs.h File Reference

Detailed Description

Definitions for Memory module.

This provides macros and type definitions for the Memory module.

#include <ti/syslink/utils/_MemoryDefs.h>
Include dependency graph for MemoryDefs.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct Memory_Stats_tag
Structure defining memory related statistics. More...

Typedefs

typedef struct Memory_Stats_tag Memory_Stats
Structure defining memory related statistics.

Enumerations

enum MemoryOS_CacheFlags {
MemoryOS_CacheFlags_Default = 0x00000000,
MemoryOS_CacheFlags_Cached = 0x00010000,
MemoryOS_CacheFlags_Uncached = 0x00020000,
MemoryOS_CacheFlags_EndValue = 0x00030000
}
Enumerates the types of Caching for memory regions. More...
enum MemoryOS_MemTypeFlags {
MemoryOS_MemTypeFlags_Default = 0x00000000,
MemoryOS_MemTypeFlags_Physical = 0x00000001,
MemoryOS_MemTypeFlags_Dma = 0x00000002,
MemoryOS_MemTypeFlags_EndValue = 0x00000003
}
Enumerates the types of memory allocation. More...

Typedef Documentation

typedef struct Memory_Stats_tag Memory_Stats

Structure defining memory related statistics.

Enumeration Type Documentation

enum MemoryOS_CacheFlags

Enumerates the types of Caching for memory regions.

Enumerator:
MemoryOS_CacheFlags_Default

Default flags - Cached

MemoryOS_CacheFlags_Cached

Cached memory

MemoryOS_CacheFlags_Uncached

Uncached memory

MemoryOS_CacheFlags_EndValue

End delimiter indicating start of invalid values for this enum

enum MemoryOS_MemTypeFlags

Enumerates the types of memory allocation.

Enumerator:
MemoryOS_MemTypeFlags_Default

Default flags - virtually contiguous

MemoryOS_MemTypeFlags_Physical

Physically contiguous

MemoryOS_MemTypeFlags_Dma

Physically contiguous

MemoryOS_MemTypeFlags_EndValue

End delimiter indicating start of invalid values for this enum


SysLink API Reference: ti/syslink/utils/MemoryOS.h File Reference

  • ti
  • syslink
  • utils
Functions
MemoryOS.h File Reference

Detailed Description

Memory abstraction APIs for local memory allocation.

This provides a direct access to local memory allocation, which does not require creation of a Heap.

#include <ti/syslink/utils/MemoryDefs.h>
#include <ti/syslink/utils/_MemoryOS.h>
Include dependency graph for MemoryOS.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

Int32 | MemoryOS_setup (void)
Int32 | MemoryOS_destroy (void)
Ptr | MemoryOS_alloc (UInt32 size, UInt32 align, UInt32 flags)
Ptr | MemoryOS_calloc (UInt32 size, UInt32 align, UInt32 flags)
Void | MemoryOS_free (Ptr ptr, UInt32 size, UInt32 flags)
Ptr | MemoryOS_copy (Ptr dst, Ptr src, UInt32 len)
Ptr | MemoryOS_set (Ptr buf, Int value, UInt32 len)
Ptr | MemoryOS_translate (Ptr srcAddr, Memory_XltFlags flags)

Function Documentation

Int32 MemoryOS_setup ( void )
Int32 MemoryOS_destroy ( void )
Ptr MemoryOS_alloc | ( | UInt32 | size,
 |  | UInt32 | align,
 |  | UInt32 | flags
 | ) |  |
Ptr MemoryOS_calloc | ( | UInt32 | size,
 |  | UInt32 | align,
 |  | UInt32 | flags
 | ) |  |
Void MemoryOS_free | ( | Ptr | ptr,
 |  | UInt32 | size,
 |  | UInt32 | flags
 | ) |  |
Ptr MemoryOS_copy | ( | Ptr | dst,
 |  | Ptr | src,
 |  | UInt32 | len
 | ) |  |
Ptr MemoryOS_set | ( | Ptr | buf,
 |  | Int | value,
 |  | UInt32 | len
 | ) |  |
Ptr MemoryOS_translate | ( | Ptr | srcAddr,
 |  | Memory_XltFlags | flags
 | ) |  |


SysLink API Reference: ti/syslink/utils/OsalPrint.h File Reference

  • ti
  • syslink
  • utils
Macros | Functions
OsalPrint.h File Reference

Detailed Description

Kernel utils Print interface definitions.

This will have the definitions for kernel side printf statements and also details of variable printfs supported in existing implementation.

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define OSALPRINT_MODULEID (UInt16) 0xC431
Module ID for OsalPrint OSAL module.

Functions

Void Osal_printf (char *format,...)

Macro Definition Documentation

#define OSALPRINT_MODULEID (UInt16) 0xC431

Module ID for OsalPrint OSAL module.

Function Documentation

Void Osal_printf | ( | char * | format,
 |  |  | ...
 | ) |  |


SysLink API Reference: ti/syslink/utils/OsalSemaphore.h File Reference

  • ti
  • syslink
  • utils
Macros | Typedefs | Enumerations | Functions
OsalSemaphore.h File Reference

Detailed Description

Kernel utils Semaphore interface definitions.

This abstracts the Semaphore interface in Kernel code and is implemented using the wait queues. It has interfaces for creating, destroying, waiting and triggering the Semaphores.

Go to the source code of this file.

Macros

#define | OSALSEMAPHORE_MODULEID (UInt16) 0xF6D6
Module ID for OsalSemaphore OSAL module.
#define | OSALSEMAPHORE_STATUSCODEBASE (OSALSEMAPHORE_MODULEID << 12u)
Stauts code base for MEMORY module.
#define | OSALSEMAPHORE_MAKE_FAILURE(x)
Convert to failure code.
#define | OSALSEMAPHORE_MAKE_SUCCESS(x) (OSALSEMAPHORE_STATUSCODEBASE + (x))
Convert to success code.
#define | OSALSEMAPHORE_E_MEMORY OSALSEMAPHORE_MAKE_FAILURE(1)
Indicates OsalSemaphore alloc/free failure.
#define | OSALSEMAPHORE_E_INVALIDARG OSALSEMAPHORE_MAKE_FAILURE(2)
Invalid argument provided.
#define | OSALSEMAPHORE_E_FAIL OSALSEMAPHORE_MAKE_FAILURE(3)
Generic failure.
#define | OSALSEMAPHORE_E_TIMEOUT OSALSEMAPHORE_MAKE_FAILURE(4)
A timeout occurred.
#define | OSALSEMAPHORE_E_HANDLE OSALSEMAPHORE_MAKE_FAILURE(5)
Invalid handle provided.
#define | OSALSEMAPHORE_E_WAITNONE OSALSEMAPHORE_MAKE_FAILURE(6)
WAIT_NONE timeout value was provided, but semaphore was not available.
#define | OSALSEMAPHORE_E_RESOURCE OSALSEMAPHORE_MAKE_FAILURE(7)
Resource error.
#define | OSALSEMAPHORE_SUCCESS OSALSEMAPHORE_MAKE_SUCCESS(0)
Operation successfully completed.
#define | OSALSEMAPHORE_WAIT_FOREVER (~((UInt32) 0u))
Indicates forever wait for APIs that can wait.
#define | OSALSEMAPHORE_WAIT_NONE ((UInt32) 0u)
Indicates zero wait for APIs that can wait.
#define | OSALSEMAPHORE_TYPE_VALUE(type) (type & 0x0000FFFF)
Returns the value of semaphore type (binary/counting)
#define | OSALSEMAPHORE_INTTYPE_VALUE(type) (type & 0xFFFF0000)
Returns the value of semaphore interruptability type.

Typedefs

typedef struct
OsalSemaphore_Object * 		OsalSemaphore_Handle
Declaration for the OsalSemaphore object handle. Definition of OsalSemaphore_Object is not exposed.

Enumerations

enum OsalSemaphore_Type {
OsalSemaphore_Type_Binary = 0x00000000,
OsalSemaphore_Type_Counting = 0x00000001,
OsalSemaphore_Type_EndValue = 0x00000002
}
Enumerates the types of semaphores. More...
enum OsalSemaphore_IntType {
OsalSemaphore_IntType_Interruptible = 0x00000000,
OsalSemaphore_IntType_Noninterruptible = 0x00010000,
OsalSemaphore_IntType_EndValue = 0x00020000
}
Enumerates the interruptible/non-interruptible types. More...

Functions

OsalSemaphore_Handle | OsalSemaphore_create (UInt32 semType)
Int | OsalSemaphore_delete (OsalSemaphore_Handle *semHandle)
Int | OsalSemaphore_pend (OsalSemaphore_Handle semHandle, UInt32 timeout)
Int | OsalSemaphore_post (OsalSemaphore_Handle semHandle)

Macro Definition Documentation

#define OSALSEMAPHORE_MODULEID (UInt16) 0xF6D6

Module ID for OsalSemaphore OSAL module.

#define OSALSEMAPHORE_STATUSCODEBASE (OSALSEMAPHORE_MODULEID << 12u)

Stauts code base for MEMORY module.

#define OSALSEMAPHORE_MAKE_FAILURE ( x )
Value:
((Int) (0x80000000 \
+ (OSALSEMAPHORE_STATUSCODEBASE +(x))))

Convert to failure code.

#define OSALSEMAPHORE_MAKE_SUCCESS ( x ) (OSALSEMAPHORE_STATUSCODEBASE + (x))

Convert to success code.

#define OSALSEMAPHORE_E_MEMORY OSALSEMAPHORE_MAKE_FAILURE(1)

Indicates OsalSemaphore alloc/free failure.

#define OSALSEMAPHORE_E_INVALIDARG OSALSEMAPHORE_MAKE_FAILURE(2)

Invalid argument provided.

#define OSALSEMAPHORE_E_FAIL OSALSEMAPHORE_MAKE_FAILURE(3)

Generic failure.

#define OSALSEMAPHORE_E_TIMEOUT OSALSEMAPHORE_MAKE_FAILURE(4)

A timeout occurred.

#define OSALSEMAPHORE_E_HANDLE OSALSEMAPHORE_MAKE_FAILURE(5)

Invalid handle provided.

#define OSALSEMAPHORE_E_WAITNONE OSALSEMAPHORE_MAKE_FAILURE(6)

WAIT_NONE timeout value was provided, but semaphore was not available.

#define OSALSEMAPHORE_E_RESOURCE OSALSEMAPHORE_MAKE_FAILURE(7)

Resource error.

#define OSALSEMAPHORE_SUCCESS OSALSEMAPHORE_MAKE_SUCCESS(0)

Operation successfully completed.

#define OSALSEMAPHORE_WAIT_FOREVER (~((UInt32) 0u))

Indicates forever wait for APIs that can wait.

#define OSALSEMAPHORE_WAIT_NONE ((UInt32) 0u)

Indicates zero wait for APIs that can wait.

#define OSALSEMAPHORE_TYPE_VALUE ( type ) (type & 0x0000FFFF)

Returns the value of semaphore type (binary/counting)

#define OSALSEMAPHORE_INTTYPE_VALUE ( type ) (type & 0xFFFF0000)

Returns the value of semaphore interruptability type.

Typedef Documentation

typedef struct OsalSemaphore_Object* OsalSemaphore_Handle

Declaration for the OsalSemaphore object handle. Definition of OsalSemaphore_Object is not exposed.

Enumeration Type Documentation

enum OsalSemaphore_Type

Enumerates the types of semaphores.

Enumerator:
OsalSemaphore_Type_Binary

Binary semaphore

OsalSemaphore_Type_Counting

Counting semaphore

OsalSemaphore_Type_EndValue

End delimiter indicating start of invalid values for this enum

enum OsalSemaphore_IntType

Enumerates the interruptible/non-interruptible types.

Enumerator:
OsalSemaphore_IntType_Interruptible

Waits on this mutex are interruptible

OsalSemaphore_IntType_Noninterruptible

Waits on this mutex are non-interruptible

OsalSemaphore_IntType_EndValue

End delimiter indicating start of invalid values for this enum

Function Documentation

OsalSemaphore_Handle OsalSemaphore_create ( UInt32 semType )
Int OsalSemaphore_delete ( OsalSemaphore_Handle * semHandle )
Int OsalSemaphore_pend | ( | OsalSemaphore_Handle | semHandle,
 |  | UInt32 | timeout
 | ) |  |
Int OsalSemaphore_post ( OsalSemaphore_Handle semHandle )


SysLink API Reference: ti/syslink/utils/ResTrack.h File Reference

  • ti
  • syslink
  • utils
Data Structures | Macros | Typedefs | Functions
ResTrack.h File Reference

Detailed Description

Resource Tracker utility module.

#include <ti/syslink/osal/OsalTypes.h>
#include <ti/syslink/utils/List.h>
Include dependency graph for ResTrack.h:

Go to the source code of this file.

Data Structures

struct ResTrack_Params
Structure defining params for creating an instance. More...

Macros

#define | ResTrack_S_SUCCESS 0
#define | ResTrack_E_FAIL (-1)
#define | ResTrack_E_MEMORY (-2)
#define | ResTrack_E_PID (-3)
#define | ResTrack_E_NOTFOUND (-4)

Typedefs

typedef Bool(* | ResTrack_Fxn )(Void *ptrA, Void *ptrB)
Resource compare function type.
typedef struct ResTrack_Object * | ResTrack_Handle
An instance handle type.

Functions

Void | ResTrack_Params_init (ResTrack_Params *params)
Initialize this config-params structure with supplier-specified defaults before instance creation.
ResTrack_Handle | ResTrack_create (ResTrack_Params *params)
Create a resource tracker object.
Void | ResTrack_delete (ResTrack_Handle *handlePtr)
Delete a resource tracker object.
Int | ResTrack_pop (ResTrack_Handle handle, Osal_Pid pid, List_Elem **resPtr)
Get first element from the resource list.
Int | ResTrack_push (ResTrack_Handle handle, Osal_Pid pid, List_Elem *res)
Add resouce element for given process id.
Int | ResTrack_register (ResTrack_Handle handle, Osal_Pid pid)
Register a new process with the resource tracker.
Int | ResTrack_remove (ResTrack_Handle handle, Osal_Pid pid, List_Elem *ref, ResTrack_Fxn cmpFxn, List_Elem **resPtr)
Remove specific resource object from the resource list.
Int | ResTrack_unregister (ResTrack_Handle handle, Osal_Pid pid)
Unregister the given process with the resource tracker.

Macro Definition Documentation

#define ResTrack_S_SUCCESS 0
#define ResTrack_E_FAIL (-1)
#define ResTrack_E_MEMORY (-2)
#define ResTrack_E_PID (-3)
#define ResTrack_E_NOTFOUND (-4)

Typedef Documentation

typedef Bool(* ResTrack_Fxn)(Void *ptrA, Void *ptrB)

Resource compare function type.

typedef struct ResTrack_Object* ResTrack_Handle

An instance handle type.

Function Documentation

Void ResTrack_Params_init ( ResTrack_Params * params )

Initialize this config-params structure with supplier-specified defaults before instance creation.

Parameters:
params Instance config-params structure.
See also:
ResTrack_create
ResTrack_Handle ResTrack_create ( ResTrack_Params * params )

Create a resource tracker object.

Parameters:
params Pointer to creation parameters. If NULL is passed, default parameters are used.
Return values:
Handle to the object
See also:
ResTrack_delete
Void ResTrack_delete ( ResTrack_Handle * handlePtr )

Delete a resource tracker object.

Parameters:
handlePtr Pointer to resource tracker instance handle
See also:
ResTrack_create
Int ResTrack_pop | ( | ResTrack_Handle | handle,
 |  | Osal_Pid | pid,
 |  | List_Elem ** | resPtr
 | ) |  |

Get first element from the resource list.

Parameters:
handle | Resource tracker instance handle
pid | Process id
resPtr | Resource object return pointer, may be NULL
Return values:
ResTrack_S_SUCCESS | Operation succeeded
ResTrack_E_PID | No process object for given id
See also:
ResTrack_push, ResTrack_remove
Int ResTrack_push | ( | ResTrack_Handle | handle,
 |  | Osal_Pid | pid,
 |  | List_Elem * | res
 | ) |  |

Add resouce element for given process id.

Parameters:
handle | Resource tracker instance handle
pid | Process id
res | Resource object to be added
Return values:
ResTrack_S_SUCCESS | Operation succeeded
ResTrack_E_PID | No process object for given id
See also:
ResTrack_pop
Int ResTrack_register | ( | ResTrack_Handle | handle,
 |  | Osal_Pid | pid
 | ) |  |

Register a new process with the resource tracker.

Parameters:
handle | Resource tracker instance handle
pid | Process id to register
Return values:
ResTrack_S_SUCCESS | Operation succeeded
ResTrack_E_MEMORY | Memory unavailable
See also:
ResTrack_unregister
Int ResTrack_remove | ( | ResTrack_Handle | handle,
 |  | Osal_Pid | pid,
 |  | List_Elem * | ref,
 |  | ResTrack_Fxn | cmpFxn,
 |  | List_Elem ** | resPtr
 | ) |  |

Remove specific resource object from the resource list.

Parameters:
handle | Resource tracker instance handle
pid | Process id
ref | Reference resource object
cmpFxn | Compare function
resPtr | Pointer to return resource, may be NULL
Return values:
ResTrack_S_SUCCESS | Operation succeeded
ResTrack_E_PID | No process object for given id
ResTrack_E_NOTFOUND | No resource found which matches the reference resource
See also:
ResTrack_push, ResTrack_pop
Int ResTrack_unregister | ( | ResTrack_Handle | handle,
 |  | Osal_Pid | pid
 | ) |  |

Unregister the given process with the resource tracker.

Parameters:
handle | Resource tracker instance handle
pid | Process id to unregister
Return values:
ResTrack_S_SUCCESS | Operation succeeded
ResTrack_E_PID | No process object for given id
See also:
ResTrack_register


SysLink API Reference: ti/syslink/utils/String.h File Reference

  • ti
  • syslink
  • utils
Functions
String.h File Reference

Detailed Description

Defines for String manipulation library.

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

String | String_cat (String s1, String s2)
Int | String_cmp (String s1, String s2)
Int | String_ncmp (String s1, String s2, UInt32 n)
String | String_cpy (String s1, String s2)
String | String_ncpy (String s1, String s2, UInt32 n)
Int | String_len (String s)
Int | String_hexToStr (String s, UInt32 hex)
UInt32 | String_hash (String s)

Function Documentation

String String_cat | ( | String | s1,
 |  | String | s2
 | ) |  |
Int String_cmp | ( | String | s1,
 |  | String | s2
 | ) |  |
Int String_ncmp | ( | String | s1,
 |  | String | s2,
 |  | UInt32 | n
 | ) |  |
String String_cpy | ( | String | s1,
 |  | String | s2
 | ) |  |
String String_ncpy | ( | String | s1,
 |  | String | s2,
 |  | UInt32 | n
 | ) |  |
Int String_len ( String s )
Int String_hexToStr | ( | String | s,
 |  | UInt32 | hex
 | ) |  |
UInt32 String_hash ( String s )


SysLink API Reference: ti/syslink/utils/SyslinkMemMgr.h File Reference

  • ti
  • syslink
  • utils
Data Structures | Macros | Typedefs | Enumerations | Functions
SyslinkMemMgr.h File Reference

Detailed Description

Header file implementing Memory manager. It is a wrapper implementation to support Shared memory allocation using heap address translations using shared region or Tiler buffer allocation using tiler buffer manager and address translations.

Go to the source code of this file.

Data Structures

struct | SyslinkMemMgr_CreateParams_tag
Structure defining common create parameters for the Memory manager module.Should be the first element in implementation specific create params. More...
struct | SyslinkMemMgr_AllocBlock_tag
struct | SyslinkMemMgr_AllocParams_tag
Alloc params. More...

Macros

#define | MEMMGR_MAX_NAME_LENGTH 32u
#define | MEMMGR_MAX_TILER_BLOCKS 10u
#define | SyslinkMemMgr_Params SyslinkMemMgr_CreateParams

Typedefs

typedef enum
SyslinkMemMgr_Type_Type_tag 		SyslinkMemMgr_Type
enum for denoting the different types of SyslinkMemMgr implementations.
typedef struct
SyslinkMemMgr_CreateParams_tag 		SyslinkMemMgr_CreateParams
Structure defining common create parameters for the Memory manager module.Should be the first element in implementation specific create params.
typedef struct
SyslinkMemMgr_AllocBlock_tag 		SyslinkMemMgr_AllocBlock
typedef struct
SyslinkMemMgr_AllocParams_tag 		SyslinkMemMgr_AllocParams
Alloc params.
typedef struct SyslinkMemMgr_Object | SyslinkMemMgr_Object
Forward declaration of structure defining object for the MemoryManger.
typedef SyslinkMemMgr_Object * | SyslinkMemMgr_Handle
Handle for the MemoryManager instance.

Enumerations

enum SyslinkMemMgr_AddrType {
SyslinkMemMgr_AddrType_Virtual = 0u,
SyslinkMemMgr_AddrType_Portable = 1u,
SyslinkMemMgr_AddrType_EndValue = 2u
}
Enumerations to indicate address types used for translation. More...
enum SyslinkMemMgr_Type_Type_tag {
SyslinkMemMgr_TYPE_SHAREDMEM = 0x0,
SyslinkMemMgr_TYPE_TILERMEM = 0x1
}
enum for denoting the different types of SyslinkMemMgr implementations. More...

Functions

Int32 SyslinkMemMgr_setup (Void)
Int32 SyslinkMemMgr_destroy (Void)
SyslinkMemMgr_Handle | SyslinkMemMgr_create (Ptr params)
Int32 | SyslinkMemMgr_delete (SyslinkMemMgr_Handle *pHandle)
Ptr | SyslinkMemMgr_alloc (SyslinkMemMgr_Handle handle, SyslinkMemMgr_AllocParams *params)
Int32 | SyslinkMemMgr_free (SyslinkMemMgr_Handle handle, Ptr ptr, UInt32 size)
Ptr | SyslinkMemMgr_map (SyslinkMemMgr_Handle handle, Ptr arg)
Int32 | SyslinkMemMgr_unmap (SyslinkMemMgr_Handle handle, Ptr arg)
Ptr | SyslinkMemMgr_translate (SyslinkMemMgr_Handle handle, Ptr srcAddr, SyslinkMemMgr_AddrType srcAddrType, SyslinkMemMgr_AddrType desAddrType)
Ptr | SyslinkMemMgr_getKnlHandle (SyslinkMemMgr_Handle handle)

Macro Definition Documentation

#define MEMMGR_MAX_NAME_LENGTH 32u
#define MEMMGR_MAX_TILER_BLOCKS 10u
#define SyslinkMemMgr_Params SyslinkMemMgr_CreateParams

Typedef Documentation

typedef enum SyslinkMemMgr_Type_Type_tag SyslinkMemMgr_Type

enum for denoting the different types of SyslinkMemMgr implementations.

typedef struct SyslinkMemMgr_CreateParams_tag SyslinkMemMgr_CreateParams

Structure defining common create parameters for the Memory manager module.Should be the first element in implementation specific create params.

typedef struct SyslinkMemMgr_AllocBlock_tag SyslinkMemMgr_AllocBlock
typedef struct SyslinkMemMgr_AllocParams_tag SyslinkMemMgr_AllocParams

Alloc params.

typedef struct SyslinkMemMgr_Object SyslinkMemMgr_Object

Forward declaration of structure defining object for the MemoryManger.

typedef SyslinkMemMgr_Object* SyslinkMemMgr_Handle

Handle for the MemoryManager instance.

Enumeration Type Documentation

enum SyslinkMemMgr_AddrType

Enumerations to indicate address types used for translation.

Enumerator:
SyslinkMemMgr_AddrType_Virtual

Virtual address on calling process on DSP where MMU is not configured it could be physical address.

SyslinkMemMgr_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

SyslinkMemMgr_AddrType_EndValue

End delimiter indicating start of invalid values for this enum

enum SyslinkMemMgr_Type_Type_tag

enum for denoting the different types of SyslinkMemMgr implementations.

Enumerator:
SyslinkMemMgr_TYPE_SHAREDMEM
SyslinkMemMgr_TYPE_TILERMEM

Function Documentation

Int32 SyslinkMemMgr_setup ( Void )
Int32 SyslinkMemMgr_destroy ( Void )
SyslinkMemMgr_Handle SyslinkMemMgr_create ( Ptr params )
Int32 SyslinkMemMgr_delete ( SyslinkMemMgr_Handle * pHandle )
Ptr SyslinkMemMgr_alloc | ( | SyslinkMemMgr_Handle | handle,
 |  | SyslinkMemMgr_AllocParams * | params
 | ) |  |
Int32 SyslinkMemMgr_free | ( | SyslinkMemMgr_Handle | handle,
 |  | Ptr | ptr,
 |  | UInt32 | size
 | ) |  |
Ptr SyslinkMemMgr_map | ( | SyslinkMemMgr_Handle | handle,
 |  | Ptr | arg
 | ) |  |
Int32 SyslinkMemMgr_unmap | ( | SyslinkMemMgr_Handle | handle,
 |  | Ptr | arg
 | ) |  |
Ptr SyslinkMemMgr_translate | ( | SyslinkMemMgr_Handle | handle,
 |  | Ptr | srcAddr,
 |  | SyslinkMemMgr_AddrType | srcAddrType,
 |  | SyslinkMemMgr_AddrType | desAddrType
 | ) |  |
Ptr SyslinkMemMgr_getKnlHandle ( SyslinkMemMgr_Handle handle )


SysLink API Reference: ti/syslink/utils/Trace.h File Reference

  • ti
  • syslink
  • utils
Macros | Enumerations
Trace.h File Reference

Detailed Description

Kernel Trace enabling/disabling/application interface.

This will have the definitions for kernel side traces statements and also details of variable traces supported in existing implementation.

#include <ti/syslink/utils/OsalPrint.h>
Include dependency graph for Trace.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define | OSALTRACE_MODULEID (UInt16) 0xDA50
Module ID for OsalTrace OSAL module.
#define | GT_TRACESTATE_MASK 0x0000000F
Trace state mask.
#define | GT_TRACESTATE_SHIFT 0u
Bit shift for trace state.
#define | GT_TRACEENTER_MASK 0x000000F0
Trace enter mask.
#define | GT_TRACEENTER_SHIFT 4u
Bit shift for trace enter.
#define | GT_TRACESETFAILURE_MASK 0x00000F00
Trace Set Failure Reason mask.
#define | GT_TRACESETFAILURE_SHIFT 8u
Bit shift for trace Set Failure Reason.
#define | GT_TRACECLASS_MASK 0x000F0000
GT class mask.
#define | GT_TRACECLASS_SHIFT 16u
Bit shift for GT class mask.
#define | GT_assert(x, y)
#define | GT_setFailureReason(mask, classId, func, status, msg)
#define | GT_0trace(mask, classId, format)
#define | GT_1trace(mask, classId, format, arg1)
#define | GT_2trace(mask, classId, format, arg1, arg2)
#define | GT_3trace(mask, classId, format, arg1, arg2, arg3)
#define | GT_4trace(mask, classId, format, arg1, arg2, arg3, arg4)
#define | GT_5trace(mask, classId, format, arg1, arg2, arg3, arg4, arg5)
#define | GT_6trace(mask, classId, format, arg1, arg2, arg3, arg4, arg5, arg6)
#define | GT_setTrace(mask, type) 0

Enumerations

enum GT_TraceState {
GT_TraceState_Disable = 0x00000000,
GT_TraceState_Enable = 0x00000001,
GT_TraceState_EndValue = 0x00000002
}
Enumerates the types of states of trace (enable/disable) More...
enum GT_TraceEnter {
GT_TraceEnter_Disable = 0x00000000,
GT_TraceEnter_Enable = 0x00000010,
GT_TraceEnter_EndValue = 0x00000020
}
Enumerates the states of enter/leave trace (enable/disable) More...
enum GT_TraceSetFailure {
GT_TraceSetFailure_Disable = 0x00000000,
GT_TraceSetFailure_Enable = 0x00000100,
GT_TraceSetFailure_EndValue = 0x00000200
}
Enumerates the states of SetFailureReason trace (enable/disable) More...
enum GT_TraceClass {
GT_1CLASS = 0x00010000,
GT_2CLASS = 0x00020000,
GT_3CLASS = 0x00030000,
GT_4CLASS = 0x00040000,
GT_ENTER = 0x00050000,
GT_LEAVE = 0x00060000
}
Enumerates the types of trace classes. More...
enum GT_TraceType {
GT_TraceType_User = 0x00000000,
GT_TraceType_Kernel = 0x00000001,
GT_TraceType_EndValue = 0x00000003
}
Enumerates the types of trace. More...

Macro Definition Documentation

#define OSALTRACE_MODULEID (UInt16) 0xDA50

Module ID for OsalTrace OSAL module.

#define GT_TRACESTATE_MASK 0x0000000F

Trace state mask.

#define GT_TRACESTATE_SHIFT 0u

Bit shift for trace state.

#define GT_TRACEENTER_MASK 0x000000F0

Trace enter mask.

#define GT_TRACEENTER_SHIFT 4u

Bit shift for trace enter.

#define GT_TRACESETFAILURE_MASK 0x00000F00

Trace Set Failure Reason mask.

#define GT_TRACESETFAILURE_SHIFT 8u

Bit shift for trace Set Failure Reason.

#define GT_TRACECLASS_MASK 0x000F0000

GT class mask.

#define GT_TRACECLASS_SHIFT 16u

Bit shift for GT class mask.

#define GT_assert | ( | x,
 |  | y
 | ) |
#define GT_setFailureReason | ( | mask,
 |  | classId,
 |  | func,
 |  | status,
 |  | msg
 | ) |
#define GT_0trace | ( | mask,
 |  | classId,
 |  | format
 | ) |
#define GT_1trace | ( | mask,
 |  | classId,
 |  | format,
 |  | arg1
 | ) |
#define GT_2trace | ( | mask,
 |  | classId,
 |  | format,
 |  | arg1,
 |  | arg2
 | ) |
#define GT_3trace | ( | mask,
 |  | classId,
 |  | format,
 |  | arg1,
 |  | arg2,
 |  | arg3
 | ) |
#define GT_4trace | ( | mask,
 |  | classId,
 |  | format,
 |  | arg1,
 |  | arg2,
 |  | arg3,
 |  | arg4
 | ) |
#define GT_5trace | ( | mask,
 |  | classId,
 |  | format,
 |  | arg1,
 |  | arg2,
 |  | arg3,
 |  | arg4,
 |  | arg5
 | ) |
#define GT_6trace | ( | mask,
 |  | classId,
 |  | format,
 |  | arg1,
 |  | arg2,
 |  | arg3,
 |  | arg4,
 |  | arg5,
 |  | arg6
 | ) |
#define GT_setTrace | ( | mask,
 |  | type
 | ) | 0

Enumeration Type Documentation

enum GT_TraceState

Enumerates the types of states of trace (enable/disable)

Enumerator:
GT_TraceState_Disable

Disable trace

GT_TraceState_Enable

Enable trace

GT_TraceState_EndValue

End delimiter indicating start of invalid values for this enum

enum GT_TraceEnter

Enumerates the states of enter/leave trace (enable/disable)

Enumerator:
GT_TraceEnter_Disable

Disable GT_ENTER trace prints

GT_TraceEnter_Enable

Enable GT_ENTER trace prints

GT_TraceEnter_EndValue

End delimiter indicating start of invalid values for this enum

enum GT_TraceSetFailure

Enumerates the states of SetFailureReason trace (enable/disable)

Enumerator:
GT_TraceSetFailure_Disable

Disable Set Failure trace prints

GT_TraceSetFailure_Enable

Enable Set Failure trace prints

GT_TraceSetFailure_EndValue

End delimiter indicating start of invalid values for this enum

enum GT_TraceClass

Enumerates the types of trace classes.

Enumerator:
GT_1CLASS

Class 1 trace: Used for block level or critical information

GT_2CLASS

Class 2 trace: Used for semi-critical information

GT_3CLASS

Class 3 trace: Used for additional information

GT_4CLASS

Class 4 trace: Used for errors

GT_ENTER

Indicates a function entry class of trace

GT_LEAVE

Indicates a function leave class of trace

enum GT_TraceType

Enumerates the types of trace.

Enumerator:
GT_TraceType_User

User side trace

GT_TraceType_Kernel

Kernel side trace

GT_TraceType_EndValue

End delimiter indicating start of invalid values for this enum


SysLink API Reference: ti/syslink/FrameQ.h File Reference

  • ti
  • syslink
Data Structures | Macros | Typedefs | Enumerations | Functions
FrameQ.h File Reference

Detailed Description

Defines for interfaces for FrameQ module. (Deprecated)

Deprecated:
The FrameQ APIs are deprecated as of SysLink 2.20. While supported in this release, they will be removed in a future release.
#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_Config_Tag
Structure defining config parameters for the FrameQ module. More...
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
Notification parameter structure. More...

Macros

#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
Defines the frame buffer information.
#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 UInt16 | FrameQ_NotifyMsg
This type is used for the notification message. This is a 16 bit payload which can be sent to the remote processor in a notification call.
typedef struct FrameQ_Object * | FrameQ_Handle
Handle for the FrameQ instance.
typedef void(* | FrameQ_NotifyFunc )(FrameQ_Handle, Ptr arg, FrameQ_NotifyMsg)
Prototype of the FrameQ call back function.
typedef enum FrameQ_NotifyType_Tag | FrameQ_NotifyType
Notification types for FrameQ.
typedef enum FrameQ_OpenMode_Tag | FrameQ_OpenMode
FrameQ open modes.
typedef enum
FrameQ_CpuAccessFlags_Tag 		FrameQ_CpuAccessFlags
CPU access flags for frame buffers. For frame headers CPUACCESS is assumed to be TRUE.
typedef enum FrameQ_Interface_Tag | FrameQ_Interface
FrameQ interface types.
typedef struct FrameQ_Config_Tag | FrameQ_Config
Structure defining config parameters for the FrameQ module.
typedef struct
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 struct
FrameQ_CommonOpenParams_Tag 		FrameQ_CommonOpenParams
Common parameters required to open a FrameQ instance of any implementation.
typedef struct 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 struct
FrameQ_NotifyParams_Tag 		FrameQ_NotifyParams
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 = SysLink_NOTIFICATION_HDWRFIFO_ALWAYS,
FrameQ_NOTIFICATION_HDWRFIFO_ONCE = SysLink_NOTIFICATION_HDWRFIFO_ONCE
}
Notification types for FrameQ. More...
enum FrameQ_OpenMode_Tag {
FrameQ_MODE_NONE,
FrameQ_MODE_WRITER,
FrameQ_MODE_READER
}
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
}
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
}
FrameQ interface types. More...

Functions

Int32 | FrameQ_isSupportedInterface (UInt32 type)
Determine whether the given interface type is supported.
FrameQ_Handle | FrameQ_create (Ptr params)
Create a FrameQ instance.
Int32 | FrameQ_delete (FrameQ_Handle *pHandle)
Delete a FrameQ instance.
Int32 | FrameQ_open (Ptr openParams, FrameQ_Handle *handlePtr)
Open the created FrameQ instance.
Int32 | FrameQ_openByAddr (FrameQ_Handle *handlePtr, Ptr openParams)
Open the created FrameQ instance if shared address is known.
Int32 | FrameQ_close (FrameQ_Handle *pHandle)
Close the opened FrameQ instance.
Int32 | FrameQ_alloc (FrameQ_Handle handle, FrameQ_Frame *framePtr)
Allocate frame.
Int32 | FrameQ_allocv (FrameQ_Handle handle, FrameQ_Frame framePtr[], UInt32 freeQId[], UInt8 *numFrames)
Allocate multiple frames.
Int32 | FrameQ_free (FrameQ_Handle handle, FrameQ_Frame frame)
Free frame.
Int32 | FrameQ_freev (FrameQ_Handle handle, FrameQ_Frame framePtr[], UInt32 numFrames)
Free multiple frames.
Int32 | FrameQ_put (FrameQ_Handle handle, FrameQ_Frame frame)
Insert frame in to FrameQ instance.
Int32 | FrameQ_putv (FrameQ_Handle handle, FrameQ_Frame framePtr[], UInt32 filledQueueId[], UInt8 numFrames)
Insert multiple frames into queues of a FrameQ reader client.
Int32 | FrameQ_get (FrameQ_Handle handle, FrameQ_Frame *framePtr)
Retrieve frame from FrameQ instance by reader client.
Int32 | FrameQ_getv (FrameQ_Handle handle, FrameQ_Frame pframe[], UInt32 filledQueueId[], UInt8 *numFrames)
Retrieve frames from the given queues of a reader client.
Int32 | FrameQ_dup (FrameQ_Handle handle, FrameQ_Frame frame, FrameQ_Frame *dupedFrame)
Duplicate the given frame.
Int32 | FrameQ_registerNotifier (FrameQ_Handle handle, FrameQ_NotifyParams *notifyParams)
Register a call back function.
Int32 | FrameQ_unregisterNotifier (FrameQ_Handle handle)
Unregister call back function.
Int32 | FrameQ_sendNotify (FrameQ_Handle handle, UInt16 msg)
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)
Find out the number of available frames in a FrameQ.
Int32 | FrameQ_getNumFreeFrames (FrameQ_Handle handle, UInt32 *numFreeFrames)
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)
Get the pointer to the extended header.
UInt32 | FrameQ_getNumFrameBuffers (FrameQ_Frame frame)
Determine the number of frame buffers in a frame.
Ptr | FrameQ_getFrameBuffer (FrameQ_Frame frame, UInt32 frameBufNum)
Get the framebuffer.
UInt32 | FrameQ_getFrameBufSize (FrameQ_Frame frame, UInt32 frameBufNum)
Determine the size of frame buffer.
UInt32 | FrameQ_getFrameBufValidSize (FrameQ_Frame frame, UInt32 frameBufNum)
Get valid data size of a frame buffer.
UInt32 | FrameQ_getFrameBufDataStartOffset (FrameQ_Frame frame, UInt32 frameBufNum)
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)
Set the valid data size of a framebuffer identified by frameBufNum in given frame.
Int32 | FrameQ_setFrameBufDataStartOffset (FrameQ_Frame frame, UInt32 frameBufNum, UInt32 dataStartOffset)
Set the valid data start offset of a framebuffer identified by frameBufNum in a given frame.
Void | FrameQ_getConfig (FrameQ_Config *cfg)
Get the default configuration for the FrameQ module.
Int32 | FrameQ_setup (FrameQ_Config *cfg)
Setup the FrameQ module.
Int32 FrameQ_destroy (Void)
Finalize the FrameQ module.

Macro Definition Documentation

#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

Defines the frame buffer information.

#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.

Typedef Documentation

typedef Frame_FrameHeader* FrameQ_Frame

Defines the type for a frame pointer.

typedef UInt16 FrameQ_NotifyMsg

This type is used for the notification message. This is a 16 bit payload which can be sent to the remote processor in a notification call.

typedef struct FrameQ_Object* FrameQ_Handle

Handle for the FrameQ instance.

typedef void(* FrameQ_NotifyFunc)(FrameQ_Handle, Ptr arg, FrameQ_NotifyMsg)

Prototype of the FrameQ call back function.

typedef enum FrameQ_NotifyType_Tag FrameQ_NotifyType

Notification types for FrameQ.

typedef enum FrameQ_OpenMode_Tag FrameQ_OpenMode

FrameQ open modes.

typedef enum FrameQ_CpuAccessFlags_Tag FrameQ_CpuAccessFlags

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

typedef enum FrameQ_Interface_Tag FrameQ_Interface

FrameQ interface types.

typedef struct FrameQ_Config_Tag FrameQ_Config

Structure defining config parameters for the FrameQ module.

typedef struct 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 struct FrameQ_CommonOpenParams_Tag FrameQ_CommonOpenParams

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

typedef struct 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 struct FrameQ_NotifyParams_Tag FrameQ_NotifyParams

Notification parameter structure.

Enumeration Type Documentation

enum FrameQ_NotifyType_Tag

Notification types for FrameQ.

Enumerator:
FrameQ_NOTIFICATION_NONE

No notification is required.

FrameQ_NOTIFICATION_ALWAYS

Notify whenever the other client sends data/frees up space.

FrameQ_NOTIFICATION_ONCE

Notify when the other side sends data/frees up space. Once the notification is done, the notification is disabled until it is enabled again.

FrameQ_NOTIFICATION_HDWRFIFO_ALWAYS

Notify whenever the other side sends data/frees up space. This notification is never disabled.

FrameQ_NOTIFICATION_HDWRFIFO_ONCE

Notify when the other side sends data/frees up space. 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.

enum FrameQ_OpenMode_Tag

FrameQ open modes.

Enumerator:
FrameQ_MODE_NONE

Mode is not reader/writer.Apps should not use this as open mode

FrameQ_MODE_WRITER

FrameQ mode is writer.

FrameQ_MODE_READER

FrameQ mode is reader.

enum FrameQ_CpuAccessFlags_Tag

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

Enumerator:
FrameQ_FRAMEBUF0_CPUACCESS

If specified first frame buffer is accessed through CPU (direct memory access).

FrameQ_FRAMEBUF1_CPUACCESS

If specified second frame buffer is accessed through CPU (direct memory access).

FrameQ_FRAMEBUF2_CPUACCESS

If specified third frame buffer is accessed through CPU (direct memory access).

FrameQ_FRAMEBUF3_CPUACCESS

If specified fourth frame buffer is accessed through CPU (direct memory access).

FrameQ_FRAMEBUF4_CPUACCESS

If specified fifth frame buffer is accessed through CPU (direct memory access).

FrameQ_FRAMEBUF5_CPUACCESS

If specified sixth frame buffer is accessed through CPU (direct memory access).

FrameQ_FRAMEBUF6_CPUACCESS

If specified seventh frame buffer is accessed through CPU (direct memory access).

FrameQ_FRAMEBUF7_CPUACCESS

If specified eighth frame buffer is accessed through CPU (direct memory access).

enum FrameQ_Interface_Tag

FrameQ interface types.

Enumerator:
FrameQ_INTERFACE_SHAREDMEM

Denotes FrameQ implementation (FrameQ_ShMem Implementation) on shared memory.

FrameQ_INTERFACE_NONE

Function Documentation

Int32 FrameQ_isSupportedInterface ( UInt32 type )

Determine whether the given interface type is supported.

Returns TRUE if the interface provide is supported, otherwise returns FALSE.

Parameters:
[in] type Type of interface. See FrameQ_Interface for details.
Return values:
TRUE | Given interface is supported.
FALSE | Given interface is no supported.
See also:
FrameQ_Interface
FrameQ_Handle FrameQ_create ( Ptr params )

Create a FrameQ instance.

Create a new instance of FrameQ. It creates a frameQ based on the params specific to implementations.

Parameters:
[in] params pointer to implementation specific params.
Return values:
Handle | Instance handle
NULL | Create failed
See also:
FrameQ_ShMem_Params
FrameQ_delete()
FrameQ_open()
FrameQ_close()
Int32 FrameQ_delete ( FrameQ_Handle * pHandle )

Delete a FrameQ instance.

Deletes FrameQ instance that created.

Parameters:
pHandle Pointer to the created frameQ instance handle.
Return values:
FrameQ_S_SUCCESS | Delete successful.
FrameQ_E_FAIL | Delete failed.
FrameQ_E_INVALIDARG | Pointer to Handle passed is null.
FrameQ_E_INVALIDARG | Handle passed is null.
See also:
FrameQ_create()
FrameQ_open()
FrameQ_close()
Int32 FrameQ_open | ( | Ptr | openParams,
 |  | FrameQ_Handle * | handlePtr
 | ) |  |

Open the created FrameQ instance.

Opens the FrameQ instance in reader or writer mode depending upon the open params passed to it.

Parameters:
openParams | Pointer to implementation specific open params.
handlePtr | Return parameter.Instance opened in given mode.
Return values:
FrameQ_S_SUCCESS | open successful.
FrameQ_E_INVALIDARG | Invalid parameter specified.
FrameQ_E_INVALIDSTATE | Module is not initialized.
FrameQ_E_MEMORY | Memory_alloc failed.
FrameQ_E_ALLOC_MEMORY | Memory_alloc failed.
FrameQ_E_FRAMEQBUFMGROPEN | FrameQBufMge instance open failed.
FrameQ_E_OPEN_GATEMP | GateMP open failed.
FrameQ_E_FAIL_CLIENTN0TIFYMGR_OPEN | ClientNotifyMgr open failed.
FrameQ_E_LISTMPOPEN | Internal ListMP instance open failed.
FrameQ_E_NOTFOUND | Instance not found in FrameQ Nameserver.
See also:
FrameQ_ShMem_OpenParams
FrameQ_create()
FrameQ_delete()
FrameQ_close()
Int32 FrameQ_openByAddr | ( | FrameQ_Handle * | handlePtr,
 |  | Ptr | openParams
 | ) |  |

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.

Parameters:
openParams | Pointer to implementation specific open params.
handlePtr | Return parameter.Instance opened in given mode.
Return values:
FrameQ_S_SUCCESS | open successful.
FrameQ_E_INVALIDARG | Invalid parameter specified.
FrameQ_E_INVALIDSTATE | Module is not initialized.
FrameQ_E_MEMORY | Memory_alloc failed.
FrameQ_E_ALLOC_MEMORY | Memory_alloc failed.
FrameQ_E_FRAMEQBUFMGROPEN | FrameQBufMge instance open failed.
FrameQ_E_OPEN_GATEMP | GateMP open failed.
FrameQ_E_FAIL_CLIENTN0TIFYMGR_OPEN | ClientNotifyMgr open failed.
FrameQ_E_LISTMPOPEN | Internal ListMP instance open failed.
FrameQ_E_NOTFOUND | Instance not found in FrameQ Nameserver.
See also:
FrameQ_ShMem_OpenParams
FrameQ_create()
FrameQ_delete()
FrameQ_close()
Int32 FrameQ_close ( FrameQ_Handle * pHandle )

Close the opened FrameQ instance.

Closes FrameQ instance that is opened.

Parameters:
pHandle Pointer to the opened frameQ instance handle.
Return values:
FrameQ_S_SUCCESS | Close successful
FrameQ_E_FAIL | Close failed
FrameQ_E_INVALIDARG | pHandle is invalid
See also:
FrameQ_create()
FrameQ_open()
FrameQ_delete()
Int32 FrameQ_alloc | ( | FrameQ_Handle | handle,
 |  | FrameQ_Frame * | framePtr
 | ) |  |

Allocate frame.

Allocates a frame when called by FrameQ writer.

Remarks:
This API internally makes a call to configured FrameQBufMgr to allocate a free frame.
Parameters:
handle | FrameQ writer handle.
framePtr | Location to receive the allocated frame.
Return values:
FrameQ_S_SUCCESS | Successfully allocated frame.
FrameQ_E_FAIL | Internal FrameQBufMgr_alloc failed.
FrameQ_E_INVALIDARG | framePtr paased is null.
FrameQ_E_INVALIDARG | handle passed is null.
FrameQ_E_ACCESSDENIED | Provided handle can not allocate frames. Only writer can allocate frames.
See also:
FrameQ_open()
FrameQ_free()
FrameQ_put()
FrameQ_get()
Int32 FrameQ_allocv | ( | FrameQ_Handle | handle,
 |  | FrameQ_Frame | framePtr[],
 |  | UInt32 | freeQId[],
 |  | UInt8 * | numFrames
 | ) |  |

Allocate multiple frames.

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 FrameQ_MAX_FRAMESINVAPI.

Parameters:
handle | FrameQ writer handle.
framePtr | Array to receive pointers to allocated frames.
freeQId | Array of free frame pool nos of the plugged in FrameQBufMgrfrom from which this API needs to allocate frames actual size of that is allocated.
[in,out] | numFrames | Number of frames that needs to be allocated.
Return values:
FrameQ_S_SUCCESS | Successfully allocated frames.
FrameQ_E_FAIL | Internal FrameQBufMgr_allocv failed.
FrameQ_E_INVALIDARG | framePtr passed is null.
FrameQ_E_INVALIDARG | handle passed is null.
FrameQ_E_INVALIDARG | freeQId passed is null.
FrameQ_E_INVALIDARG | numFrames passed is null.
FrameQ_E_ACCESSDENIED | Provided handle can not allocate frames. Only writer can allocate frames. Only writer can allocate frames.
See also:
FrameQ_open()
FrameQ_freev()
FrameQ_putv()
FrameQ_getv()
Int32 FrameQ_free | ( | FrameQ_Handle | handle,
 |  | FrameQ_Frame | frame
 | ) |  |

Free frame.

Frees a frame when called by FrameQ writer or reader. This API internally makes a call to configured FrameQBufMgr to free the frame.

Parameters:
handle | Opened FrameQ instance handle
frame | Frame to be freed
Return values:
FrameQ_S_SUCCESS | Successfully freed frame
FrameQ_E_FAIL | Internal FrameQBufMgr_free failed
FrameQ_E_INVALIDARG | handle or frame is invalid
FrameQ_E_ACCESSDENIED | Provided handle can not free frames. Only writer or reader can free frames.
See also:
FrameQ_open()
FrameQ_alloc()
FrameQ_put()
FrameQ_get()
Int32 FrameQ_freev | ( | FrameQ_Handle | handle,
 |  | FrameQ_Frame | framePtr[],
 |  | UInt32 | numFrames
 | ) |  |

Free multiple frames.

Frees multiple frames when called by FrameQ writer or writer.

Remarks:
This API internally makes a call to configured FrameQBufMgr to free frames.
Parameters:
handle | Opened FrameQ instance handle.
framePtr | Array of frames to be freed.
numFrames | Number of Frames to be freed.
Return values:
FrameQ_S_SUCCESS | Successfully freed frames.
FrameQ_E_FAIL | Internal FrameQBufMgr_freev failed.
FrameQ_E_INVALIDARG | handle or framePtr is invalid
FrameQ_E_ACCESSDENIED | Provided handle can not free frames. Only writer or reader can free frames.
See also:
FrameQ_open()
FrameQ_allocv()
FrameQ_putv()
FrameQ_getv()
Int32 FrameQ_put | ( | FrameQ_Handle | handle,
 |  | FrameQ_Frame | frame
 | ) |  |

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.

Parameters:
handle | Opened FrameQ instance handle.
frame | Frame to be inserted.
Return values:
FrameQ_S_SUCCESS | Successfully freed frames.
FrameQ_E_FAIL | Failed to put frame.
FrameQ_E_INVALIDARG | frame passed is null.
FrameQ_E_INVALIDARG | handle passed is null.
FrameQ_E_ACCESSDENIED | Provided handle can not free frames. Only writer or reader can put frames.
See also:
FrameQ_get()
Int32 FrameQ_putv | ( | FrameQ_Handle | handle,
 |  | FrameQ_Frame | framePtr[],
 |  | UInt32 | filledQueueId[],
 |  | UInt8 | numFrames
 | ) |  |

Insert multiple frames into 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 must be at least numFrames. The max size of framePtr and filledQueueId is defined by FrameQ_MAX_FRAMESINVAPI.

Parameters:
handle | Instance handle.
framePtr | Array of frames to be inserted.
filledQueueId | Array of filled queues of reader.
numFrames | Number of frames.
Return values:
FrameQ_S_SUCCESS | Successfully inserted frames.
FrameQ_E_FAIL | Failed to put frames.
FrameQ_E_INVALIDARG | handle passed is null.
FrameQ_E_INVALIDARG | framePtr passed is null.
FrameQ_E_INVALIDARG | filledQueueId passed is null.
FrameQ_E_ACCESSDENIED | Provided handle can not put frames. Only writer or reader can put frames.
See also:
FrameQ_getv()
Int32 FrameQ_get | ( | FrameQ_Handle | handle,
 |  | FrameQ_Frame * | framePtr
 | ) |  |

Retrieve frame from FrameQ instance by reader client.

Retrieves frame from the queue 0 of caller client. Only readers are allowed to call this API.

Parameters:
handle | Instance handle.
framePtr | Location to receive frame.
Return values:
FrameQ_S_SUCCESS | Successfully retrieved frame.
FrameQ_E_FAIL | Failed to get frame.
FrameQ_E_INVALIDARG | handle passed is null.
FrameQ_E_INVALIDARG | framePtr passed is null.
FrameQ_E_ACCESSDENIED | Provided handle can not retrieve frame. Only reader client can retrieve frame.
See also:
FrameQ_put()
Int32 FrameQ_getv | ( | FrameQ_Handle | handle,
 |  | FrameQ_Frame | pframe[],
 |  | UInt32 | filledQueueId[],
 |  | UInt8 * | numFrames
 | ) |  |

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.

Remarks:
The size of pframe and filledQueueId must be at least numFrames.
The max size of framePtr and filledQueueId is defined by FrameQ_MAX_FRAMESINVAPI.
Parameters:
handle | Instance handle.
pframe | Location to receive frames the queues specified in filledQueueId array argument.
filledQueueId | Array of queue ids from which frames.
numFrames | Denotes number of frames that needs to retrieved from the filled Queues ids specified by filledQueueId. The Size of pframe and filledQueueId should be atleast equal to number of frames specified in numFrames value can be max FrameQ_MAX_FRAMESINVAPI.
Return values:
FrameQ_S_SUCCESS | Successfully retrieved frames.
FrameQ_E_FAIL | Failed to get frames.
FrameQ_E_INVALIDARG | Invalid arguments
FrameQ_E_ACCESSDENIED | Provided handle can not retrieve frames. Only reader client can retrieve frames.
See also:
FrameQ_putv()
Int32 FrameQ_dup | ( | FrameQ_Handle | handle,
 |  | FrameQ_Frame | frame,
 |  | FrameQ_Frame * | dupedFrame
 | ) |  |

Duplicate the given frame.

Duplicates the given frame. It allocates one frame header buffer and copies the header information given in original frame and returns it.

Parameters:
handle | Instance handle.
frame | frame to be duplicated.
dupedFrame | Location to receive the duplicated frame.
Return values:
FrameQ_S_SUCCESS | Successfully retrieved frames
FrameQ_E_FAIL | Failed to get frames
FrameQ_E_INVALIDARG | Invalid argument
FrameQ_E_ACCESSDENIED | Provided handle can not dup frames. Only writer/reader client can dup frame.
See also:
FrameQ_alloc()
Int32 FrameQ_registerNotifier | ( | FrameQ_Handle | handle,
 |  | FrameQ_NotifyParams * | notifyParams
 | ) |  |

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.

Parameters:
handle | Instance handle.
notifyParams | Pointer to notifyParams.
Return values:
FrameQ_S_SUCCESS | Operation successful.
FrameQ_E_INVALIDARG | Invalid Argument
FrameQ_E_INVALIDSTATE | Module is not initialized
FrameQ_E_FAIL | Failed to register notification
See also:
FrameQ_unregisterNotifier()
Int32 FrameQ_unregisterNotifier ( FrameQ_Handle handle )

Unregister call back function.

Parameters:
handle Reader/writer client Handle.
Return values:
FrameQ_S_SUCCESS | Successfully duped frame.
FrameQ_E_INVALIDARG | Invalid argument
FrameQ_E_INVALIDSTATE | Module is not initialized.
FrameQ_E_FAIL | Failed to register notification.
See also:
FrameQ_registerNotifier()
Int32 FrameQ_sendNotify | ( | FrameQ_Handle | handle,
 |  | UInt16 | msg
 | ) |  |

Send forced notification to the reader clients.

Parameters:
handle | Writer client Handle
msg | Payload that needs to be send to reader
Return values:
FrameQ_S_SUCCESS | Successfully sent notification
FrameQ_E_INVALIDARG | Invalid argument
FrameQ_E_INVALIDSTATE | Module is not initialized
FrameQ_E_FAIL | Failed to send notification
FrameQ_E_ACCESSDENIED | handle is not a writer handle.can not send notification.
See also:
FrameQ_registerNotifier()
Int32 FrameQ_getNumFrames | ( | FrameQ_Handle | handle,
 |  | UInt32 * | numFrames
 | ) |  |

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.

Parameters:
handle | Reader client Handle.
numFrames | Location to recieve the number of frames.
Return values:
FrameQ_S_SUCCESS | Operation successful.
FrameQ_E_FAIL | API failed.
See also:
FrameQ_getvNumFrames()
Int32 FrameQ_getvNumFrames | ( | FrameQ_Handle | handle,
 |  | UInt32 | numFrames[],
 |  | UInt8 | filledQId[],
 |  | UInt8 | numFilledQids
 | ) |  |

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).

Parameters:
handle | Writer/Reader client handle.
numFrames | Location to recieve the number of frames.
filledQId | Array of filled queues.
numFilledQids | Number of queues specified in filledQId array.
Return values:
FrameQ_S_SUCCESS | Operation successful.
FrameQ_E_FAIL | API failed.
See also:
FrameQ_getNumFrames()
Int32 FrameQ_getNumFreeFrames | ( | FrameQ_Handle | handle,
 |  | UInt32 * | numFreeFrames
 | ) |  |

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.

Parameters:
handle | Instance handle.
numFreeFrames | out parameter that denotes the number of free frames available
Return values:
FrameQ_S_SUCCESS | Operation successful.
FrameQ_E_FAIL | API failed.
See also:
FrameQ_getvNumFreeFrames()
Int32 FrameQ_getvNumFreeFrames | ( | FrameQ_Handle | handle,
 |  | UInt32 | numFreeFrames[],
 |  | UInt8 | freeQId[],
 |  | UInt8 | numFreeQids
 | ) |  |

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.

Parameters:
handle | Instance handle.
numFreeFrames | out parameter that denotes the number of free frames available
freeQId | Array of free queues.
numFreeQids | Number of queues specified in freeQId array.
Return values:
FrameQ_S_SUCCESS | Operation successful.
FrameQ_E_FAIL | API failed.
See also:
FrameQ_getNumFreeFrames()
Int32 FrameQ_control | ( | FrameQ_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:
FrameQ_S_SUCCESS | Operation successful.
FrameQ_E_FAIL | API failed.
Ptr FrameQ_getExtendedHeaderPtr ( FrameQ_Frame frame )

Get the pointer to the extended header.

Parameters:
frame pointer to frame
Return values:
pointer Pointer to extended header pointer in frame header.
UInt32 FrameQ_getNumFrameBuffers ( FrameQ_Frame frame )

Determine the number of frame buffers in a frame.

Parameters:
frame pointer to frame
Return values:
number of frame buffers.
Ptr FrameQ_getFrameBuffer | ( | FrameQ_Frame | frame,
 |  | UInt32 | frameBufNum
 | ) |  |

Get the framebuffer.

Parameters:
frame | pointer to frame
frameBufNum | frame buffer index in the given frame
Return values:
Pointer to frame buffer.
UInt32 FrameQ_getFrameBufSize | ( | FrameQ_Frame | frame,
 |  | UInt32 | frameBufNum
 | ) |  |

Determine the size of frame buffer.

Parameters:
frame | pointer to frame
frameBufNum | frame buffer index in the given frame
Return values:
size frame buffer size.
UInt32 FrameQ_getFrameBufValidSize | ( | FrameQ_Frame | frame,
 |  | UInt32 | frameBufNum
 | ) |  |

Get valid data size of a frame buffer.

Parameters:
frame | pointer to frame
frameBufNum | frame buffer index in the given frame
Return values:
size valid size of the frame buffer.
UInt32 FrameQ_getFrameBufDataStartOffset | ( | FrameQ_Frame | frame,
 |  | UInt32 | frameBufNum
 | ) |  |

Get the valid data start offset in framebuffer identified by frameBufNum in a given frame.

Parameters:
frame | pointer to frame
frameBufNum | frame buffer index in the given frame
Return values:
offset valid data offset in the frame buffer.
Int32 FrameQ_setFrameBufValidSize | ( | FrameQ_Frame | frame,
 |  | UInt32 | frameBufNum,
 |  | UInt32 | validDataSize
 | ) |  |

Set the valid data size of a framebuffer identified by frameBufNum in given frame.

Parameters:
frame | pointer to frame
frameBufNum | frame buffer index in the given frame
validDataSize | size of the valid data
Return values:
FrameQ_S_SUCCESS | Operation successful.
FrameQ_E_FAIL | API failed.
Int32 FrameQ_setFrameBufDataStartOffset | ( | FrameQ_Frame | frame,
 |  | UInt32 | frameBufNum,
 |  | UInt32 | dataStartOffset
 | ) |  |

Set the valid data start offset of a framebuffer identified by frameBufNum in a given frame.

Parameters:
frame | pointer to frame
frameBufNum | frame buffer index in the given frame
dataStartOffset | valid data startoffset that needs to set for the frame buffer.
Return values:
FrameQ_S_SUCCESS | Operation successful.
FrameQ_E_FAIL | API failed.
Void FrameQ_getConfig ( FrameQ_Config * cfg )

Get the default configuration for the FrameQ module.

This function can be called by the application to get their configuration parameter to FrameQ_setup filled in by the FrameQ module with the default parameters. If the user does not wish to make any change in the default parameters, this API is not required to be called.

Parameters:
cfg Pointer to the FrameQ module configuration structure in which the default config is to be returned.
See also:
FrameQ_setup()
Int32 FrameQ_setup ( FrameQ_Config * cfg )

Setup the FrameQ module.

This function sets up the FrameQ module. This function must be called before any other instance-level APIs can be invoked. Module-level configuration needs to be provided to this function. If the user wishes to change some specific config parameters, then FrameQ_getConfig can be called to get the configuration filled with the default values. After this, only the required configuration values can be changed. If the user does not wish to make any change in the default parameters, the application can simply call FrameQ_setup with NULL parameters. The default parameters would get automatically used.

Parameters:
cfg Optional FrameQ module configuration. If provided as NULL, default configuration is used.
See also:
FrameQ_destroy()
FrameQ_getConfig()
Int32 FrameQ_destroy ( Void )

Finalize the FrameQ module.

See also:
FrameQ_setup()


SysLink API Reference: ti/syslink/FrameQ_ShMem.h File Reference

  • ti
  • syslink
Data Structures | Typedefs | Functions
FrameQ_ShMem.h File Reference

Detailed Description

Header file for FrameQ on SharedMemory interface. (Deprecated)

Deprecated:
The FrameQ APIs are deprecated as of SysLink 2.20. While supported in this release, they will be removed in a future release.
#include <ti/ipc/GateMP.h>
Include dependency graph for FrameQ_ShMem.h:

Go to the source code of this file.

Data Structures

struct | FrameQ_ShMem_Params_tag
Structure defining instance create parameters for the FrameQ on shared memory(inter core and intra core). More...
struct | FrameQ_ShMem_OpenParams_tag
Structure defining open parameters for the FrameQ instance on ShMem (shared memory interface). More...

Typedefs

typedef FrameQ_Config FrameQ_ShMem_Config
typedef struct
FrameQ_ShMem_Params_tag 		FrameQ_ShMem_Params
Structure defining instance create parameters for the FrameQ on shared memory(inter core and intra core).
typedef struct
FrameQ_ShMem_OpenParams_tag 		FrameQ_ShMem_OpenParams
Structure defining open parameters for the FrameQ instance on ShMem (shared memory interface).

Functions

void | FrameQ_ShMem_Params_init (FrameQ_ShMem_Params *params)
Function to initiallze the params with the default params.
UInt32 | FrameQ_ShMem_sharedMemReq (const FrameQ_ShMem_Params *params)
Function to find out the shared memory requirements.
Void | FrameQ_ShMem_getConfig (FrameQ_ShMem_Config *cfg)
Int32 | FrameQ_ShMem_setup (FrameQ_ShMem_Config *cfg)
Int32 | FrameQ_ShMem_destroy (void)

Typedef Documentation

typedef FrameQ_Config FrameQ_ShMem_Config
typedef struct FrameQ_ShMem_Params_tag FrameQ_ShMem_Params

Structure defining instance create parameters for the FrameQ on shared memory(inter core and intra core).

typedef struct FrameQ_ShMem_OpenParams_tag FrameQ_ShMem_OpenParams

Structure defining open parameters for the FrameQ instance on ShMem (shared memory interface).

Function Documentation

void FrameQ_ShMem_Params_init ( FrameQ_ShMem_Params * params )

Function to initiallze the params with the default params.

Parameters:
params pointer to FrameQ_ShMem_Params.
See also:
FrameQ_create
UInt32 FrameQ_ShMem_sharedMemReq ( const FrameQ_ShMem_Params * params )

Function to find out the shared memory requirements.

This function returns size of the shared memory required for the instance based on the params provided.

Parameters:
params pointer to FrameQ_ShMem_Params.
Return values:
size shared memory reqired for the instance
See also:
FrameQ_ShMem_Params_init(), FrameQ_create()
Void FrameQ_ShMem_getConfig ( FrameQ_ShMem_Config * cfg )
Int32 FrameQ_ShMem_setup ( FrameQ_ShMem_Config * cfg )
Int32 FrameQ_ShMem_destroy ( void )


SysLink API Reference: ti/syslink/FrameQBufMgr.h File Reference

  • ti
  • syslink
Data Structures | Macros | Typedefs | Enumerations | Functions
FrameQBufMgr.h File Reference

Detailed Description

Defines for interfaces for FrameQBufMgr module. (Deprecated)

Deprecated:
The FrameQ APIs are deprecated as of SysLink 2.20. While supported in this release, they will be removed in a future release.
#include <ti/syslink/FrameQDefs.h>
#include <ti/syslink/SysLink.h>
#include <ti/ipc/Notify.h>
Include dependency graph for FrameQBufMgr.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct | FrameQBufMgr_Config_Tag
Structure defining module config parameters for the FrameQBufMgr module. More...
struct | FrameQBufMgr_CreateParams_Tag
Common parameters required to create FrameQBufMgr instance of any implementation. 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. More...
struct | FrameQBufMgr_FrameBufParams_Tag
Frame buffer param structure. More...
struct | FrameQBufMgr_NotifyParams_Tag
Structure defining notification parameter structure. More...

Macros

#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 struct
FrameQBufMgr_Object * 		FrameQBufMgr_Handle
Handle for the FrameQBufMgr instance.
typedef Frame_FrameHeader * | FrameQBufMgr_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 struct
FrameQBufMgr_Config_Tag 		FrameQBufMgr_Config
Structure defining module config parameters for the FrameQBufMgr module.
typedef struct
FrameQBufMgr_CreateParams_Tag 		FrameQBufMgr_CreateParams
Common parameters required to create FrameQBufMgr instance of any implementation.
typedef struct
FrameQBufMgr_CommonOpenParams_Tag 		FrameQBufMgr_CommonOpenParams
Common parameters required to open a FrameQBufMgr instance of any implementation.
typedef struct FrameQBufMgr_Params | FrameQBufMgr_Params
Common parameters required to create FrameQBufMgr instance of any implementation.
typedef struct
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 struct
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

Int32 | FrameQBufMgr_setup (FrameQBufMgr_Config *cfg)
Function to setup the FrameQBufMgr module.
Int32 FrameQBufMgr_destroy (Void)
Function to destroy(finalize) the FrameQBufMgr module.
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.
Int32 | FrameQBufMgr_getConfig (FrameQBufMgr_Config *cfg)
Function to initialize the config parameter structure with default values.
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.

Macro Definition Documentation

#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.

Typedef Documentation

typedef struct FrameQBufMgr_Object* FrameQBufMgr_Handle

Handle for the FrameQBufMgr instance.

typedef Frame_FrameHeader* FrameQBufMgr_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 struct FrameQBufMgr_Config_Tag FrameQBufMgr_Config

Structure defining module config parameters for the FrameQBufMgr module.

typedef struct FrameQBufMgr_CreateParams_Tag FrameQBufMgr_CreateParams

Common parameters required to create FrameQBufMgr instance of any implementation.

This struct must be the first field of the implementation-specific params structure.

typedef struct FrameQBufMgr_CommonOpenParams_Tag FrameQBufMgr_CommonOpenParams

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

typedef struct FrameQBufMgr_Params FrameQBufMgr_Params

Common parameters required to create FrameQBufMgr instance of any implementation.

This struct must be the first element of the implementation-specific create params structure.

typedef struct 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 struct FrameQBufMgr_NotifyParams_Tag FrameQBufMgr_NotifyParams

Structure defining notification parameter structure.

Enumeration Type Documentation

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).

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

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

enum FrameQBufMgr_Interface_Tag

Enumeration of FrameQBufMgr interface types.Denotes different implementation types.

Enumerator:
FrameQBufMgr_INTERFACE_SHAREDMEM

Denotes FrameQBufMgr implementation (FrameQBufMgr_ShMem Implementation) on shared memory.

FrameQBufMgr_INTERFACE_NONE
enum FrameQBufMgr_FrameHeaderInterface_Tag

Enumeration of FrameQBufMgr interface types.Denotes different implementation types.

Enumerator:
FrameQBufMgr_HDRINTERFACE_SHAREDMEM

Denotes FrameQBufMgr headers are from shared memory.Address translations will be done using shared region.

FrameQBufMgr_HDRINTERFACE_NONE
enum FrameQBufMgr_FrameBufferInterface_Tag

Enumeration of FrameQBufMgr interface types.Denotes different implementation types.

Enumerator:
FrameQBufMgr_BUFINTERFACE_SHAREDMEM

Denotes FrameQBufMgr implementation (FrameQBufMgr_ShMem Implementation) on shared memory.

FrameQBufMgr_BUFINTERFACE_TILERMEM

valid only on RTOS side for TI81XX platforms. Not valid on HLOS side.

FrameQBufMgr_BUFINTERFACE_NONE

Function Documentation

Int32 FrameQBufMgr_setup ( FrameQBufMgr_Config * cfg )

Function to setup the FrameQBufMgr module.

This function sets up the FrameQBufMgr module. This function must be called before any other instance-level APIs can be invoked. Module-level configuration needs to be provided to this function. If the user wishes to change some specific config parameters, then FrameQBufMgr_getConfig can be called to get the configuration filled with the default values. After this, only the required configuration values can be changed. If the user does not wish to make any change in the default parameters, the application can simply call setup with NULL parameters. The default parameters would get automatically used.

Parameters:
cfg Optional FrameQBufMgr module configuration. If provided as NULL, default configuration is used.
See also:
None.
Int32 FrameQBufMgr_destroy ( Void )

Function to destroy(finalize) the FrameQBufMgr module.

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_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_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_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_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
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_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_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_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_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_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_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_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.
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.
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_getConfig ( FrameQBufMgr_Config * cfg )

Function to initialize the config parameter structure with default values.

Parameters:
cfg Parameter structure to return the config parameters.
See also:
None.
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_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.
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.
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.
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_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.
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_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.


SysLink API Reference: ti/syslink/FrameQBufMgr_ShMem.h File Reference

  • ti
  • syslink
Data Structures | Macros | Typedefs | Functions
FrameQBufMgr_ShMem.h File Reference

Detailed Description

Header file for FrameQBufMgr ShMem. (Deprecated)

Deprecated:
The FrameQ APIs are deprecated as of SysLink 2.20. While supported in this release, they will be removed in a future release.
#include <ti/ipc/GateMP.h>
#include <ti/syslink/FrameQBufMgr.h>
Include dependency graph for FrameQBufMgr_ShMem.h:

Go to the source code of this file.

Data Structures

struct | FrameQBufMgr_ShMem_Params_tag
Structure defining parameters for the FrameQ module. More...
struct | FrameQBufMgr_ShMem_OpenParams_tag
Structure defining open parameters for the FrameQ instance on ShMem (shared memory interface). More...

Macros

#define | FrameQBufMgr_ShMem_BUFINTERFACE_SHAREDMEM FrameQBufMgr_BUFINTERFACE_SHAREDMEM
#define | FrameQBufMgr_ShMem_BUFINTERFACE_TILERMEM FrameQBufMgr_BUFINTERFACE_TILERMEM
#define | FrameQBufMgr_ShMem_HDRINTERFACE_SHAREDMEM FrameQBufMgr_HDRINTERFACE_SHAREDMEM
#define | FrameQBufMgr_ShMem_FrameBufParams FrameQBufMgr_FrameBufParams

Typedefs

typedef FrameQBufMgr_Config FrameQBufMgr_ShMem_Config
typedef struct
FrameQBufMgr_ShMem_Params_tag 		FrameQBufMgr_ShMem_Params
Structure defining parameters for the FrameQ module.
typedef struct
FrameQBufMgr_ShMem_OpenParams_tag 		FrameQBufMgr_ShMem_OpenParams
Structure defining open parameters for the FrameQ instance on ShMem (shared memory interface).

Functions

Int32 | FrameQBufMgr_ShMem_setup (FrameQBufMgr_ShMem_Config *cfg)
Int32 FrameQBufMgr_ShMem_destroy (Void)
void | FrameQBufMgr_ShMem_Params_init (FrameQBufMgr_ShMem_Params *params)
Function to initiallze the params with the default params.
UInt32 | FrameQBufMgr_ShMem_sharedMemReq (const FrameQBufMgr_ShMem_Params *params, UInt32 *hdrBufChunkSize, UInt32 *frmBufChunkSize)
Function to find out the shared memory requirements.
Int32 | FrameQBufMgr_ShMem_getConfig (FrameQBufMgr_ShMem_Config *cfg)

Macro Definition Documentation

#define FrameQBufMgr_ShMem_BUFINTERFACE_SHAREDMEM FrameQBufMgr_BUFINTERFACE_SHAREDMEM
#define FrameQBufMgr_ShMem_BUFINTERFACE_TILERMEM FrameQBufMgr_BUFINTERFACE_TILERMEM
#define FrameQBufMgr_ShMem_HDRINTERFACE_SHAREDMEM FrameQBufMgr_HDRINTERFACE_SHAREDMEM
#define FrameQBufMgr_ShMem_FrameBufParams FrameQBufMgr_FrameBufParams

Typedef Documentation

typedef FrameQBufMgr_Config FrameQBufMgr_ShMem_Config
typedef struct FrameQBufMgr_ShMem_Params_tag FrameQBufMgr_ShMem_Params

Structure defining parameters for the FrameQ module.

typedef struct FrameQBufMgr_ShMem_OpenParams_tag FrameQBufMgr_ShMem_OpenParams

Structure defining open parameters for the FrameQ instance on ShMem (shared memory interface).

Function Documentation

Int32 FrameQBufMgr_ShMem_setup ( FrameQBufMgr_ShMem_Config * cfg )
Int32 FrameQBufMgr_ShMem_destroy ( Void )
void FrameQBufMgr_ShMem_Params_init ( FrameQBufMgr_ShMem_Params * params )

Function to initiallze the params with the default params.

Parameters:
params pointer to FrameQBufMgr_ShMem_Params.
See also:
FrameQBufMgr_create
UInt32 FrameQBufMgr_ShMem_sharedMemReq | ( | const FrameQBufMgr_ShMem_Params * | params,
 |  | UInt32 * | hdrBufChunkSize,
 |  | UInt32 * | frmBufChunkSize
 | ) |  |

Function to find out the shared memory requirements.

This function returns size of the shared memory required for the instance based on the params provided.

Parameters:
params | pointer to FrameQ_ShMem_Params.
[out] | hdrBufChunkSize | Memory required for frame headers
[out] | frmBufChunkSize | Memory required for frame buffers
Return values:
size shared memory required for the instance
See also:
FrameQBufMgr_ShMem_Params_init(), FrameQBufMgr_create()
Int32 FrameQBufMgr_ShMem_getConfig ( FrameQBufMgr_ShMem_Config * cfg )


SysLink API Reference: ti/syslink/FrameQBufMgrDefs.h File Reference

  • ti
  • syslink
Macros
FrameQBufMgrDefs.h File Reference

Detailed Description

Defines configurable elements for FrameQBufMgr module.

TODO: write description

Go to the source code of this file.

Macros

#define FRAMEQBUFMGR_CACHE_LINESIZE (128u)
Cache line size.

Macro Definition Documentation

#define FRAMEQBUFMGR_CACHE_LINESIZE (128u)

Cache line size.


SysLink API Reference: ti/syslink/FrameQDefs.h File Reference

  • ti
  • syslink
Data Structures | Macros | Typedefs
FrameQDefs.h File Reference

Detailed Description

Defines configurable elements for FrameQ module. (Deprecated)

Deprecated:
The FrameQ APIs are deprecated as of SysLink 2.20. While supported in this release, they will be removed in a future release.
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct | Frame_FrameBufInfo_tag
Structure to frame buffer informantion in frame header. More...
struct | Frame_FrameHeader_Tag
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. More...

Macros

#define FrameQ_MAX_FRAMESINVAPI (64u)
Macro used in FrameQ for sorting of passed parameters in V API. In FrameQ_allocv case this denotes the number of frames that can be allocated in one call. In FrameQ_putv case this denotes the number of frames that can be put in one call. In FrameQ_getv case this denotes the number of frames that can be retrieved in one call.

Typedefs

typedef struct
Frame_FrameBufInfo_tag 		Frame_FrameBufInfo
Structure to frame buffer informantion in frame header.
typedef struct
Frame_FrameHeader_Tag 		Frame_FrameHeader
Structure of the base frame header. FrameQ maintains list of frames to be retrieved by FrameQ reader client. Application is expected to use Helper API to extract fileds and exteneded header pointer.
typedef Frame_FrameHeader * Frame
Defines the type for a frame pointer.

Macro Definition Documentation

#define FrameQ_MAX_FRAMESINVAPI (64u)

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

Typedef Documentation

typedef struct Frame_FrameBufInfo_tag Frame_FrameBufInfo

Structure to frame buffer informantion in frame header.

typedef struct Frame_FrameHeader_Tag Frame_FrameHeader

Structure of the base frame header. FrameQ maintains list of frames to be retrieved by FrameQ reader client. Application is expected to use Helper API to extract fileds and exteneded header pointer.

typedef Frame_FrameHeader* Frame

Defines the type for a frame pointer.


SysLink API Reference: ti/syslink/IpcHost.h File Reference

  • ti
  • syslink
Data Structures | Macros | Functions
IpcHost.h File Reference

Detailed Description

This file contains APIs and defines that are used by applications only on the host-side of the device.

Remarks:
The typical flow for an IPC-using application is to first load the processor (typically via slaveloader or the ProcMgr APIs), and then use the Ipc_control() API to attach/detach from the running slave.
Example:
// invoke the SysLink load callback
remoteProcId = MultiProc_getId("DSP");
status = Ipc_control(remoteProcId, Ipc_CONTROLCMD_LOADCALLBACK, NULL);
// invoke the SysLink start callback
status = Ipc_control(remoteProcId, Ipc_CONTROLCMD_STARTCALLBACK, NULL);
// IPC is established, app-specific code is here
// invoke the SysLink stop callback
status = Ipc_control(remoteProcId, Ipc_CONTROLCMD_STOPCALLBACK, NULL);

Go to the source code of this file.

Data Structures

struct Ipc_Terminate
Argument for the Ipc_CONTROLCMD_SETTERMINATEPOLICY command. More...

Macros

#define | Ipc_TERMINATEPOLICY_STOP 1
Use the stop terminate policy.
#define | Ipc_TERMINATEPOLICY_NOTIFY 2
Use the notify terminate policy.
#define | Ipc_CONTROLCMD_LOADCALLBACK (0xBABE0000)
Control command ID for load callback.
#define | Ipc_CONTROLCMD_STARTCALLBACK (0xBABE0001)
Control command ID for start callback.
#define | Ipc_CONTROLCMD_STOPCALLBACK (0xBABE0002)
Control command ID for stop callback.
#define | Ipc_CONTROLCMD_SETTERMINATEPOLICY (0xBABE0003)
Control command ID for specifying the terminate handling policy.

Functions

Int | Ipc_control (UInt16 procId, Int32 cmdId, Ptr arg)
Perform IPC-related control operations with a specific slave.
Int | Ipc_runtimeId (UInt8 *rtid)
Return a runtime id for the given application key.

Macro Definition Documentation

#define Ipc_TERMINATEPOLICY_STOP 1

Use the stop terminate policy.

When the host process termiantes (e.g. CTRL-C, SIGKILL), this terminate policy will stop the remote processor and place it into reset. The terminate action is carried out by the SysLink driver on behalf of the terminated process.

#define Ipc_TERMINATEPOLICY_NOTIFY 2

Use the notify terminate policy.

When the host process termiantes (e.g. CTRL-C, SIGKILL), this terminate policy will send a notify event to the remote processor. The lineId and eventId are determined by the remote executable through configuration parameters (See ti/syslink/ipc/rtos/SysLink.xdc).

#define Ipc_CONTROLCMD_LOADCALLBACK (0xBABE0000)

Control command ID for load callback.

This command must be sent (via Ipc_control()) before using IPC with the slave, and after loading the slave.

This call ensures resources (e.g. Shared Region 0) are visible to the slave (for example, by enabling the slave-side MMU). This call then typically enables the slave-side call to Ipc_start() to succeed.

When ProcMgr is used to load the slave (the typical case), the arg passed to Ipc_control() should be NULL.

When ProcMgr is not used to load the slave (supported, but not the typical case), the arg passed to Ipc_control() must be a pointer to the slave-side address of the _Ipc_ResetVector symbol. This is often obtained by inspecting the slave-side executable's .map file.

See also:
Ipc_control()
#define Ipc_CONTROLCMD_STARTCALLBACK (0xBABE0001)

Control command ID for start callback.

This command must be sent (via Ipc_control()) before using IPC with the slave, and after sending the Ipc_CONTROLCMD_LOADCALLBACK command.

This call performs a handshake with the slave processor, typically enabling the slave-side call to Ipc_attach() to succeed.

When sending this command, the arg passed to Ipc_control() should be NULL.

See also:
Ipc_control()
#define Ipc_CONTROLCMD_STOPCALLBACK (0xBABE0002)

Control command ID for stop callback.

This command must be sent (via Ipc_control()) to detach from an attached slave.

This call first performs a handshake with the slave processor, typically enabling the slave-side calls to Ipc_detach() and Ipc_stop() to succeed. It then may make resources (e.g. Shared Region 0) inaccessible to the slave (for example by disabling the slave's MMU).

When ProcMgr is used to load the slave (the typical case), the arg passed to Ipc_control() should be NULL.

When ProcMgr is not used to load the slave (supported, but not the typical case), the arg passed to Ipc_control() must be a pointer to the slave-side address of the _Ipc_ResetVector symbol. This is often obtained by inspecting the slave-side executable's .map file.

See also:
Ipc_control()
#define Ipc_CONTROLCMD_SETTERMINATEPOLICY (0xBABE0003)

Control command ID for specifying the terminate handling policy.

Specify the terminate policy to be used by SysLink in the event that the application terminates. The SysLink driver will perform the requested terminate actions on behalf of the terminated application. This is typically used to handle cleanup of resources.

The arg passed to Ipc_control() must be pointer to an Ipc_Terminate structure.

See also:
Ipc_control()

Function Documentation

Int Ipc_control | ( | UInt16 | procId,
 |  | Int32 | cmdId,
 |  | Ptr | arg
 | ) |  |

Perform IPC-related control operations with a specific slave.

Parameters:
[in] | procId | Remote processor ID
[in] | cmdId | Command ID
[in] | arg | Argument. The value of arg depends on the command being sent in cmdId.
Remarks:
Each specific cmdId describes its usage of the arg param.
See also:
Ipc_CONTROLCMD_LOADCALLBACK
Ipc_CONTROLCMD_STARTCALLBACK
Ipc_CONTROLCMD_STOPCALLBACK
Ipc_CONTROLCMD_SETTERMINATEPOLICY
Int Ipc_runtimeId ( UInt8 * rtid )

Return a runtime id for the given application key.

When the application calls SysLink_setup(), there is an internal runtime id assigned to the application's process id. Use this API to retrieve the assigned runtime id. This API may be called multiple times but will always return the same runtime id for the current process id. This ensures that all levels of the software stack will be assigned the same runtime id.

There are 255 available runtime ids: 1 - 255. Runtime ids are allocated by looking for the next larger unused runtime id. The search will wrap around as needed.

Parameters:
[out] rtid Remote processor ID
Return values:
Ipc_S_SUCCESS | Operation succeeded
Ipc_E_FAIL | No more runtime ids available


SysLink API Reference: ti/syslink/ProcMgr.h File Reference

  • ti
  • syslink
Data Structures | Macros | Typedefs | Enumerations | Functions
ProcMgr.h File Reference

Detailed Description

The Processor Manager on a master processor provides control functionality for a slave device.

The ProcMgr module provides the following services for the slave processor:

  • Slave processor boot-loading
  • Read from or write to slave processor memory
  • Slave processor power management

Internally, processor management is composed of:

  • Loader: There may be multiple implementations of the Loader interface within a single Processor instance. For example, COFF, ELF, dynamic loader, custom types of loaders may be written and plugged in.
  • Power Manager: The Power Manager implementation can be a separate module that is plugged into the Processor module. This allows the Processor code to remain generic, and the Power Manager may be written and maintained either by a separate team, or by customer.
  • Processor: The implementation of this interface provides all other functionality for the slave processor, including setup and initialization of the Processor module, management of slave processor MMU (if available), functions to write to and read from slave memory etc.

All processors in the system shall be identified by unique processor ID. The management of this processor ID is done by the MultiProc module.

Go to the source code of this file.

Data Structures

struct | ProcMgr_AttachParams_tag
Configuration parameters specific to the slave ProcMgr instance. More...
struct | ProcMgr_StartParams_tag
Configuration parameters to be provided while starting the slave processor. More...
struct | ProcMgr_AddrInfo_tag
This structure defines information about memory regions mapped by the ProcMgr module. More...
struct | ProcMgr_MappedMemEntry
Structure containing information of mapped memory regions. More...
struct | ProcMgr_ProcInfo_tag
Characteristics of the slave processor. More...
struct | ProcMgr_SectionInfo_tag
Characteristics of sections in executable. More...

Macros

#define | ProcMgr_S_SETUP 5
Other ProcMgr clients have still setup the ProcMgr module.
#define | ProcMgr_S_OPENHANDLE 4
Other ProcMgr handles are still open in this process.
#define | ProcMgr_S_ALREADYEXISTS 3
The ProcMgr instance has already been created/opened in this process.
#define | ProcMgr_S_BUSY 2
The resource is still in use.
#define | ProcMgr_S_ALREADYSETUP 1
The module has been already setup.
#define | ProcMgr_S_SUCCESS 0
Operation is successful.
#define | ProcMgr_E_FAIL -1
Generic failure.
#define | ProcMgr_E_INVALIDARG -2
Argument passed to function is invalid.
#define | ProcMgr_E_MEMORY -3
Operation resulted in memory failure.
#define | ProcMgr_E_ALREADYEXISTS -4
The specified entity already exists.
#define | ProcMgr_E_NOTFOUND -5
Unable to find the specified entity.
#define | ProcMgr_E_TIMEOUT -6
Operation timed out.
#define | ProcMgr_E_INVALIDSTATE -7
Module is not initialized.
#define | ProcMgr_E_OSFAILURE -8
A failure occurred in an OS-specific call.
#define | ProcMgr_E_RESOURCE -9
Specified resource is not available.
#define | ProcMgr_E_RESTART -10
Operation was interrupted. Please restart the operation.
#define | ProcMgr_E_HANDLE -11
Invalid object handle specified.
#define | ProcMgr_E_ACCESSDENIED -12
The operation is not permitted in this process.
#define | ProcMgr_E_TRANSLATE -13
An address translation error occurred.
#define | ProcMgr_E_SYMBOLNOTFOUND -14
Could not find the specified symbol in the loaded file.
#define | ProcMgr_E_MAP -15
Failed to map/unmap an address range.
#define | IS_VALID_PROCID(id) (id < MultiProc_MAXPROCESSORS)
Checks if the Processor ID is valid.
#define | ProcMgr_MASTERKNLVIRT (ProcMgr_MapMask)(1 << 0)
Kernel virtual address on master processor.
#define | ProcMgr_MASTERUSRVIRT (ProcMgr_MapMask)(1 << 1)
User virtual address on master processor.
#define | ProcMgr_SLAVEVIRT (ProcMgr_MapMask)(1 << 2)
Virtual address on slave processor.

Typedefs

typedef struct ProcMgr_Object * | ProcMgr_Handle
Defines ProcMgr object handle.
typedef UInt32 | ProcMgr_MapMask
Address Map Mask type.
typedef struct
ProcMgr_AttachParams_tag 		ProcMgr_AttachParams
Configuration parameters specific to the slave ProcMgr instance.
typedef struct
ProcMgr_StartParams_tag 		ProcMgr_StartParams
Configuration parameters to be provided while starting the slave processor.
typedef struct ProcMgr_AddrInfo_tag | ProcMgr_AddrInfo
This structure defines information about memory regions mapped by the ProcMgr module.
typedef struct
ProcMgr_MappedMemEntry 		ProcMgr_MappedMemEntry
Structure containing information of mapped memory regions.
typedef struct ProcMgr_ProcInfo_tag | ProcMgr_ProcInfo
Characteristics of the slave processor.
typedef struct
ProcMgr_SectionInfo_tag 		ProcMgr_SectionInfo
Characteristics of sections in executable.

Enumerations

enum ProcMgr_State {
ProcMgr_State_Unknown = 0u,
ProcMgr_State_Powered = 1u,
ProcMgr_State_Reset = 2u,
ProcMgr_State_Loaded = 3u,
ProcMgr_State_Running = 4u,
ProcMgr_State_Unavailable = 5u,
ProcMgr_State_EndValue = 6u
}
Enumerations to indicate Processor states. More...
enum ProcMgr_BootMode {
ProcMgr_BootMode_Boot = 0u,
ProcMgr_BootMode_NoLoad_Pwr = 1u,
ProcMgr_BootMode_NoLoad_NoPwr = 2u,
ProcMgr_BootMode_NoBoot = 3u,
ProcMgr_BootMode_EndValue = 4u
}
Enumerations to indicate different types of slave boot modes. More...
enum ProcMgr_AddrType {
ProcMgr_AddrType_MasterKnlVirt = 0u,
ProcMgr_AddrType_MasterUsrVirt = 1u,
ProcMgr_AddrType_MasterPhys = 2u,
ProcMgr_AddrType_SlaveVirt = 3u,
ProcMgr_AddrType_SlavePhys = 4u,
ProcMgr_AddrType_EndValue = 5u
}
Enumerations to indicate address types used for translation. More...

Functions

Int | ProcMgr_open (ProcMgr_Handle *handlePtr, UInt16 procId)
Function to open a handle to an existing ProcMgr object handling the procId.
Int | ProcMgr_close (ProcMgr_Handle *handlePtr)
Function to close this handle to the ProcMgr instance.
Void | ProcMgr_getAttachParams (ProcMgr_Handle handle, ProcMgr_AttachParams *params)
Function to initialize the parameters for the ProcMgr attach function.
Int | ProcMgr_attach (ProcMgr_Handle handle, ProcMgr_AttachParams *params)
Function to attach the client to the specified slave and also initialize the slave (if required).
Int | ProcMgr_detach (ProcMgr_Handle handle)
Function to detach the client from the specified slave and also finalze the slave (if required).
Int | ProcMgr_load (ProcMgr_Handle handle, String imagePath, UInt32 argc, String *argv, Ptr params, UInt32 *fileId)
Function to load the specified slave executable on the slave Processor.
Int | ProcMgr_unload (ProcMgr_Handle handle, UInt32 fileId)
Function to unload the previously loaded file on the slave processor.
Void | ProcMgr_getStartParams (ProcMgr_Handle handle, ProcMgr_StartParams *params)
Function to initialize the parameters for the ProcMgr start function.
Int | ProcMgr_start (ProcMgr_Handle handle, ProcMgr_StartParams *params)
Start the slave processor running.
Int | ProcMgr_stop (ProcMgr_Handle handle)
Stop the slave processor.
ProcMgr_State | ProcMgr_getState (ProcMgr_Handle handle)
Function to get the current state of the slave Processor.
Int | ProcMgr_read (ProcMgr_Handle handle, UInt32 procAddr, UInt32 *numBytes, Ptr buffer)
Function to read from the slave processor's memory.
Int | ProcMgr_write (ProcMgr_Handle handle, UInt32 procAddr, UInt32 *numBytes, Ptr buffer)
Function to write into the slave processor's memory.
Int | ProcMgr_control (ProcMgr_Handle handle, Int32 cmd, Ptr arg)
Perform device-dependent operations.
Int | ProcMgr_translateAddr (ProcMgr_Handle handle, Ptr *dstAddr, ProcMgr_AddrType dstAddrType, Ptr srcAddr, ProcMgr_AddrType srcAddrType)
Translate between two types of address spaces.
Int | ProcMgr_getSymbolAddress (ProcMgr_Handle handle, UInt32 fileId, String symbolName, UInt32 *symValue)
Function to retrieve the target address of a symbol from the specified file.
Int | ProcMgr_map (ProcMgr_Handle handle, ProcMgr_MapMask mapMask, ProcMgr_AddrInfo *addrInfo, ProcMgr_AddrType srcAddrType)
Function to map address to specified destination type(s).
Int | ProcMgr_unmap (ProcMgr_Handle handle, ProcMgr_MapMask mapMask, ProcMgr_AddrInfo *addrInfo, ProcMgr_AddrType srcAddrType)
Function to unmap address from slave address space.
UInt32 | ProcMgr_getMaxMemoryRegions (ProcMgr_Handle handle)
Get the maximum number of memory entries.
Int | ProcMgr_getProcInfo (ProcMgr_Handle handle, ProcMgr_ProcInfo *procInfo)
Retrieve information about the slave processor.
Int | ProcMgr_getSectionInfo (ProcMgr_Handle handle, UInt32 fileId, String sectionName, ProcMgr_SectionInfo *sectionInfo)
Function that returns section information given the name of section and number of bytes to read.
Int | ProcMgr_getSectionData (ProcMgr_Handle handle, UInt32 fileId, ProcMgr_SectionInfo *sectionInfo, Ptr buffer)
Function that returns section data in a buffer given section id and size to be read.
UInt32 | ProcMgr_getLoadedFileId (ProcMgr_Handle handle)
Function that returns section data in a buffer given section id and size to be read.

Macro Definition Documentation

#define ProcMgr_S_SETUP 5

Other ProcMgr clients have still setup the ProcMgr module.

#define ProcMgr_S_OPENHANDLE 4

Other ProcMgr handles are still open in this process.

#define ProcMgr_S_ALREADYEXISTS 3

The ProcMgr instance has already been created/opened in this process.

#define ProcMgr_S_BUSY 2

The resource is still in use.

#define ProcMgr_S_ALREADYSETUP 1

The module has been already setup.

#define ProcMgr_S_SUCCESS 0

Operation is successful.

#define ProcMgr_E_FAIL -1

Generic failure.

#define ProcMgr_E_INVALIDARG -2

Argument passed to function is invalid.

#define ProcMgr_E_MEMORY -3

Operation resulted in memory failure.

#define ProcMgr_E_ALREADYEXISTS -4

The specified entity already exists.

#define ProcMgr_E_NOTFOUND -5

Unable to find the specified entity.

#define ProcMgr_E_TIMEOUT -6

Operation timed out.

#define ProcMgr_E_INVALIDSTATE -7

Module is not initialized.

#define ProcMgr_E_OSFAILURE -8

A failure occurred in an OS-specific call.

#define ProcMgr_E_RESOURCE -9

Specified resource is not available.

#define ProcMgr_E_RESTART -10

Operation was interrupted. Please restart the operation.

#define ProcMgr_E_HANDLE -11

Invalid object handle specified.

#define ProcMgr_E_ACCESSDENIED -12

The operation is not permitted in this process.

#define ProcMgr_E_TRANSLATE -13

An address translation error occurred.

#define ProcMgr_E_SYMBOLNOTFOUND -14

Could not find the specified symbol in the loaded file.

#define ProcMgr_E_MAP -15

Failed to map/unmap an address range.

#define IS_VALID_PROCID ( id ) (id < MultiProc_MAXPROCESSORS)

Checks if the Processor ID is valid.

#define ProcMgr_MASTERKNLVIRT (ProcMgr_MapMask)(1 << 0)

Kernel virtual address on master processor.

#define ProcMgr_MASTERUSRVIRT (ProcMgr_MapMask)(1 << 1)

User virtual address on master processor.

#define ProcMgr_SLAVEVIRT (ProcMgr_MapMask)(1 << 2)

Virtual address on slave processor.

Typedef Documentation

typedef struct ProcMgr_Object* ProcMgr_Handle

Defines ProcMgr object handle.

typedef UInt32 ProcMgr_MapMask

Address Map Mask type.

typedef struct ProcMgr_AttachParams_tag ProcMgr_AttachParams

Configuration parameters specific to the slave ProcMgr instance.

typedef struct ProcMgr_StartParams_tag ProcMgr_StartParams

Configuration parameters to be provided while starting the slave processor.

typedef struct ProcMgr_AddrInfo_tag ProcMgr_AddrInfo

This structure defines information about memory regions mapped by the ProcMgr module.

typedef struct ProcMgr_MappedMemEntry ProcMgr_MappedMemEntry

Structure containing information of mapped memory regions.

typedef struct ProcMgr_ProcInfo_tag ProcMgr_ProcInfo

Characteristics of the slave processor.

typedef struct ProcMgr_SectionInfo_tag ProcMgr_SectionInfo

Characteristics of sections in executable.

Enumeration Type Documentation

enum ProcMgr_State

Enumerations to indicate Processor states.

Enumerator:
ProcMgr_State_Unknown

Unknown Processor state (e.g. at startup or error).

ProcMgr_State_Powered

Indicates the Processor is powered up.

ProcMgr_State_Reset

Indicates the Processor is reset.

ProcMgr_State_Loaded

Indicates the Processor is loaded.

ProcMgr_State_Running

Indicates the Processor is running.

ProcMgr_State_Unavailable

Indicates the Processor is unavailable to the physical transport.

ProcMgr_State_EndValue

End delimiter indicating start of invalid values for this enum

enum ProcMgr_BootMode

Enumerations to indicate different types of slave boot modes.

Enumerator:
ProcMgr_BootMode_Boot

ProcMgr is responsible for loading the slave and its reset control.

ProcMgr_BootMode_NoLoad_Pwr

Unsupported

ProcMgr_BootMode_NoLoad_NoPwr

Unsupported

ProcMgr_BootMode_NoBoot

ProcMgr is not responsible for loading or reset control of the slave. The slave either self-boots, or this is done by some entity outside of the ProcMgr module. It only powers the resources that are owned by SysLink/IPC (e.g. spinlocks, mailboxes). For Internal Use.

ProcMgr_BootMode_EndValue

End delimiter indicating start of invalid values for this enum

enum ProcMgr_AddrType

Enumerations to indicate address types used for translation.

Enumerator:
ProcMgr_AddrType_MasterKnlVirt

Kernel Virtual address on master processor

ProcMgr_AddrType_MasterUsrVirt

User Virtual address on master processor

ProcMgr_AddrType_MasterPhys

Physical address on master processor

ProcMgr_AddrType_SlaveVirt

Virtual address on slave processor

ProcMgr_AddrType_SlavePhys

Physical address on slave processor

ProcMgr_AddrType_EndValue

End delimiter indicating start of invalid values for this enum

Function Documentation

Int ProcMgr_open | ( | ProcMgr_Handle * | handlePtr,
 |  | UInt16 | procId
 | ) |  |

Function to open a handle to an existing ProcMgr object handling the procId.

This function returns a handle to an existing ProcMgr instance created for this procId. It enables other entities to access and use this ProcMgr instance.

Parameters:
[out] | handlePtr | Return Parameter: Handle to the ProcMgr instance
[in] | procId | Processor ID represented by this ProcMgr instance
Return values:
ProcMgr_S_SUCCESS | Operation successful
ProcMgr_E_INVALIDARG | Invalid parameter specified
ProcMgr_E_INVALIDSTATE | Module was not initialized
ProcMgr_S_ALREADYEXISTS | Object is already created/opened in this process
ProcMgr_E_MAP | Failed to map address range to host OS
ProcMgr_E_OSFAILURE | Failed in an OS-specific call
ProcMgr_E_MEMORY | Memory allocation failed
See also:
ProcMgr_close()
Int ProcMgr_close ( ProcMgr_Handle * handlePtr )

Function to close this handle to the ProcMgr instance.

This function closes the handle to the ProcMgr instance obtained through ProcMgr_open call made earlier. The handle in the passed pointer is reset on success.

Parameters:
[in] handlePtr Pointer to the ProcMgr handle
Return values:
ProcMgr_S_SUCCESS | Operation successful
ProcMgr_E_INVALIDARG | Invalid parameter specified
ProcMgr_E_INVALIDSTATE | Module was not initialized
ProcMgr_E_ACCESSDENIED | All open handles to this ProcMgr object are already closed
ProcMgr_S_OPENHANDLE | Other threads in this process have already opened handles to this ProcMgr instance.
ProcMgr_E_OSFAILURE | Failed in an OS-specific call
See also:
ProcMgr_open()
Void ProcMgr_getAttachParams | ( | ProcMgr_Handle | handle,
 |  | ProcMgr_AttachParams * | params
 | ) |  |

Function to initialize the parameters for the ProcMgr attach function.

This function can be called by the application to get their configuration parameter to ProcMgr_attach filled in by the ProcMgr module with the default parameters. If the user does not wish to make any change in the default parameters, this API is not required to be called.

Parameters:
handle | Handle to the ProcMgr object. If specified as NULL, the default global configuration values are returned.
params | Pointer to the ProcMgr attach params structure in which the default params is to be returned.
See also:
ProcMgr_attach()
Int ProcMgr_attach | ( | ProcMgr_Handle | handle,
 |  | ProcMgr_AttachParams * | params
 | ) |  |

Function to attach the client to the specified slave and also initialize the slave (if required).

Remarks:
This function attaches to an instance of the ProcMgr module and performs any hardware initialization required to power up the slave device. This function also performs the required state transitions for this ProcMgr instance to ensure that the local object representing the slave device correctly indicates the state of the slave device. Depending on the slave boot mode being used, the slave may be powered up, in reset, or even running state. In typical scenarios, after calling ProcMgr_attach, the application should call ProcMgr_detach during shutdown to detach the client from the slave and perform any hardware finalization needed. However, there may be cases (e.g. in a slave loader application) when it is desirable to leave the hardware initialized and ready upon exiting the application. In such cases it is fine to defer the ProcMgr_detach call to a later point in time.
Configuration parameters need to be provided to this function. If the user wishes to change some specific config parameters, then ProcMgr_getAttachParams() can be called to get the configuration filled with the default values. After this, only the required configuration values can be changed. If the user does not wish to make any change in the default parameters, the application can simply call ProcMgr_attach() with NULL parameters. The default parameters would get automatically used.
Parameters:
[in] | handle | Handle to the ProcMgr object.
[in] | params | Optional ProcMgr attach parameters. If provided as NULL, default configuration is used.
Return values:
ProcMgr_S_SUCCESS | Operation successful
ProcMgr_E_INVALIDARG | Invalid parameter specified
ProcMgr_E_INVALIDSTATE | Module was not initialized
ProcMgr_E_HANDLE | Invalid NULL handle specified
ProcMgr_E_MAP | Failed to map address range to host OS
ProcMgr_E_OSFAILURE | Failed in an OS-specific call
See also:
ProcMgr_detach()
ProcMgr_getAttachParams()
Int ProcMgr_detach ( ProcMgr_Handle handle )

Function to detach the client from the specified slave and also finalze the slave (if required).

Remarks:
This function detaches from an instance of the ProcMgr module and performs any hardware finalization required to power down the slave device. This function also performs the required state transitions for this ProcMgr instance to ensure that the local object representing the slave device correctly indicates the state of the slave device. Depending on the slave boot mode being used, the slave may be powered down, in reset, or left in its original state.
Parameters:
[in] handle Handle to the ProcMgr object
Return values:
ProcMgr_S_SUCCESS | Operation successful
ProcMgr_E_INVALIDARG | Invalid parameter specified
ProcMgr_E_INVALIDSTATE | Module was not initialized
ProcMgr_E_HANDLE | Invalid NULL handle specified
ProcMgr_E_OSFAILURE | Failed in an OS-specific call
See also:
ProcMgr_attach
Int ProcMgr_load | ( | ProcMgr_Handle | handle,
 |  | String | imagePath,
 |  | UInt32 | argc,
 |  | String * | argv,
 |  | Ptr | params,
 |  | UInt32 * | fileId
 | ) |  |

Function to load the specified slave executable on the slave Processor.

Remarks:
This function allows usage of different types of loaders. The loader specified when creating this instance of the ProcMgr is used for loading the slave executable. Depending on the type of loader, the imagePath parameter may point to the path of the file in the host file system, or it may be NULL. Some loaders may require specific parameters to be passed.
This function returns a fileId, which can be used for further function calls that reference a specific file that has been loaded on the slave processor.
Some loaders may not support all features. For example, the ELF loader may not support passing argc/argv to the slave.
Parameters:
[in] | handle | Handle to the ProcMgr object
[in] | imagePath | Full file path
[in] | argc | Number of arguments
[in] | argv | String array of arguments
[in] | params | Loader specific parameters
[in,out] | fileId | Return parameter: ID of the loaded file
Return values:
ProcMgr_S_SUCCESS | Operation successful
ProcMgr_E_INVALIDARG | Invalid parameter specified
ProcMgr_E_INVALIDSTATE | Module was not initialized
ProcMgr_E_HANDLE | Invalid NULL handle specified
ProcMgr_E_OSFAILURE | Failed in an OS-specific call
See also:
ProcMgr_unload()
Int ProcMgr_unload | ( | ProcMgr_Handle | handle,
 |  | UInt32 | fileId
 | ) |  |

Function to unload the previously loaded file on the slave processor.

Remarks:
This function unloads the file that was previously loaded on the slave processor through the ProcMgr_load() API. It frees up any resources that were allocated during ProcMgr_load for this file.
The fileId received from the load function must be passed to this function.
Parameters:
[in] | handle | Handle to the ProcMgr object
[in] | fileId | ID of the loaded file to be unloaded
Return values:
ProcMgr_S_SUCCESS | Operation successful
ProcMgr_E_INVALIDARG | Invalid parameter specified
ProcMgr_E_INVALIDSTATE | Module was not initialized
ProcMgr_E_HANDLE | Invalid NULL handle specified
ProcMgr_E_OSFAILURE | Failed in an OS-specific call
See also:
ProcMgr_load()
Void ProcMgr_getStartParams | ( | ProcMgr_Handle | handle,
 |  | ProcMgr_StartParams * | params
 | ) |  |

Function to initialize the parameters for the ProcMgr start function.

Remarks:
This function can be called by the application to get their configuration parameter to ProcMgr_start() filled in by the ProcMgr module with the default parameters.
If the user does not wish to make any change in the default parameters, this API is not required to be called.
Parameters:
[in] | handle | Handle to the ProcMgr object. If NULL, the default global configuration values are returned.
params | Pointer to the ProcMgr start params structure in which the default params is to be returned.
See also:
ProcMgr_start
Int ProcMgr_start | ( | ProcMgr_Handle | handle,
 |  | ProcMgr_StartParams * | params
 | ) |  |

Start the slave processor running.

Remarks:
Function to start execution of the loaded code on the slave from the entry point specified in the slave executable loaded earlier by call to ProcMgr_load().
Postcondition:
After successful completion of this function, the ProcMgr instance is expected to be in the ProcMgr_State_Running state.
Parameters:
[in] | handle | Handle to the ProcMgr object
[in] | params | Optional ProcMgr start parameters. If NULL, default parameters are used.
Return values:
ProcMgr_S_SUCCESS | Operation successful
ProcMgr_E_INVALIDARG | Invalid parameter specified
ProcMgr_E_INVALIDSTATE | Module was not initialized
ProcMgr_E_HANDLE | Invalid NULL handle specified
ProcMgr_E_SYMBOLNOTFOUND | Entry ponit symbol not found in loaded file
ProcMgr_E_OSFAILURE | Failed in an OS-specific call
See also:
ProcMgr_stop()
Int ProcMgr_stop ( ProcMgr_Handle handle )

Stop the slave processor.

Remarks:
Depending on the boot mode, after successful completion of this function, the ProcMgr instance may be in the ProcMgr_State_Reset state.
Parameters:
handle Handle to the ProcMgr object
Return values:
ProcMgr_S_SUCCESS | Operation successful
ProcMgr_E_INVALIDARG | Invalid parameter specified
ProcMgr_E_INVALIDSTATE | Module was not initialized
ProcMgr_E_HANDLE | Invalid NULL handle specified
ProcMgr_E_OSFAILURE | Failed in an OS-specific call
See also:
ProcMgr_start()
ProcMgr_State ProcMgr_getState ( ProcMgr_Handle handle )

Function to get the current state of the slave Processor.

Remarks:
This function gets the state of the slave processor as maintained on the master Processor state machine. It does not go to the slave processor to get its actual state at the time when this API is called.
Parameters:
[in] handle Handle to the ProcMgr object
Return values:
Processor-state Operation successful
Int ProcMgr_read | ( | ProcMgr_Handle | handle,
 |  | UInt32 | procAddr,
 |  | UInt32 * | numBytes,
 |  | Ptr | buffer
 | ) |  |

Function to read from the slave processor's memory.

Remarks:
This function reads from the specified address in the processor's address space and copies the required number of bytes into the specified buffer.
It returns the number of bytes actually read in the numBytes parameter.
Parameters:
[in] | handle | Handle to the ProcMgr object
procAddr | Address in space processor's address space of the memory region to read from.
[in,out] | numBytes | As an IN-parameter, it takes in the number of bytes to be read. When the function returns, this parameter contains the number of bytes actually read.
[in,out] | buffer | User-provided buffer in which the slave processor's memory contents are to be copied.
Precondition:
handle is a valid (non-NULL) ProcMgr handle.
Return values:
ProcMgr_S_SUCCESS | Operation successful
ProcMgr_E_INVALIDARG | Invalid parameter specified
ProcMgr_E_INVALIDSTATE | Module was not initialized
ProcMgr_E_HANDLE | Invalid NULL handle specified
ProcMgr_E_TRANSLATE | Address is not mapped
ProcMgr_E_OSFAILURE | Failed in an OS-specific call
See also:
ProcMgr_write
Int ProcMgr_write | ( | ProcMgr_Handle | handle,
 |  | UInt32 | procAddr,
 |  | UInt32 * | numBytes,
 |  | Ptr | buffer
 | ) |  |

Function to write into the slave processor's memory.

This function writes into the specified address in the processor's address space and copies the required number of bytes from the specified buffer. It returns the number of bytes actually written in the numBytes parameter.

Parameters:
[in] | handle | Handle to the ProcMgr object
[in] | procAddr | Address in space processor's address space of the memory region to write into.
[in,out] | numBytes | As an IN-parameter, it takes in the number of bytes to be written. When the function returns, this parameter contains the number of bytes actually written.
[in] | buffer | User-provided buffer from which the data is to be written into the slave processor's memory.
Return values:
ProcMgr_S_SUCCESS | Operation successful
ProcMgr_E_INVALIDARG | Invalid parameter specified
ProcMgr_E_INVALIDSTATE | Module was not initialized
ProcMgr_E_HANDLE | Invalid NULL handle specified
ProcMgr_E_TRANSLATE | Address is not mapped
ProcMgr_E_OSFAILURE | Failed in an OS-specific call
See also:
ProcMgr_read()
Int ProcMgr_control | ( | ProcMgr_Handle | handle,
 |  | Int32 | cmd,
 |  | Ptr | arg
 | ) |  |

Perform device-dependent operations.

Remarks:
This function performs control operations supported by the as exposed directly by the specific implementation of the Processor interface. These commands and their specific argument types are used with this function.
Parameters:
[in] | handle | Handle to the ProcMgr object
[in] | cmd | Device specific processor command
[in] | arg | Arguments specific to the type of command.
Return values:
ProcMgr_S_SUCCESS | Operation successful
ProcMgr_E_INVALIDARG | Invalid parameter specified
ProcMgr_E_INVALIDSTATE | Module was not initialized
ProcMgr_E_HANDLE | Invalid NULL handle specified
ProcMgr_E_OSFAILURE | Failed in an OS-specific call
Int ProcMgr_translateAddr | ( | ProcMgr_Handle | handle,
 |  | Ptr * | dstAddr,
 |  | ProcMgr_AddrType | dstAddrType,
 |  | Ptr | srcAddr,
 |  | ProcMgr_AddrType | srcAddrType
 | ) |  |

Translate between two types of address spaces.

Remarks:
This function translates addresses between two types of address spaces. The destination and source address types are indicated through parameters specified in this function.
Parameters:
[in] | handle | Handle to the ProcMgr object
[out] | dstAddr | Return parameter: Pointer to receive the translated address.
[in] | dstAddrType | Destination address type requested
[in] | srcAddr | Source address in the source address space
[in] | srcAddrType | Source address type
Return values:
ProcMgr_S_SUCCESS | Operation successful
ProcMgr_E_INVALIDARG | Invalid parameter specified
ProcMgr_E_INVALIDSTATE | Module was not initialized
ProcMgr_E_HANDLE | Invalid NULL handle specified
ProcMgr_E_TRANSLATE | Failed to translate address.
ProcMgr_E_OSFAILURE | Failed in an OS-specific call
See also:
ProcMgr_AddrType
Int ProcMgr_getSymbolAddress | ( | ProcMgr_Handle | handle,
 |  | UInt32 | fileId,
 |  | String | symbolName,
 |  | UInt32 * | symValue
 | ) |  |

Function to retrieve the target address of a symbol from the specified file.

Parameters:
[in] | handle | Handle to the ProcMgr object
[in] | fileId | ID of the file received from the load function
[in] | symbolName | Name of the symbol
[out] | symValue | Return parameter: Symbol address
Return values:
ProcMgr_S_SUCCESS | Operation successful
ProcMgr_E_INVALIDARG | Invalid parameter specified
ProcMgr_E_INVALIDSTATE | Module was not initialized
ProcMgr_E_HANDLE | Invalid NULL handle specified
ProcMgr_E_SYMBOLNOTFOUND | Symbol not found in loaded file
ProcMgr_E_OSFAILURE | Failed in an OS-specific call
Int ProcMgr_map | ( | ProcMgr_Handle | handle,
 |  | ProcMgr_MapMask | mapMask,
 |  | ProcMgr_AddrInfo * | addrInfo,
 |  | ProcMgr_AddrType | srcAddrType
 | ) |  |

Function to map address to specified destination type(s).

Remarks:
This function maps the provided address of specified srcAddrType to one or more destination address types, and returns the mapped addresses and size in the same addrInfo structure.
Parameters:
[in] | handle | Handle to the Processor object
[in] | mapMask | Mask of destination types of mapping to be performed. One or more types may be ORed together.
[in,out] | addrInfo | Structure containing map info. When this API is called, user must provide a valid address for the address of srcAddrType. On successful completion of this function, this same structure shall contain valid addresses for destination address types given in mapType.
[in] | srcAddrType | Source address type.
Return values:
ProcMgr_S_SUCCESS | Operation successful
ProcMgr_E_INVALIDARG | Invalid parameter specified
ProcMgr_E_INVALIDSTATE | Module was not initialized
ProcMgr_E_HANDLE | Invalid NULL handle specified
ProcMgr_E_MAP | Failed to map address range to host OS
ProcMgr_E_OSFAILURE | Failed in an OS-specific call
See also:
ProcMgr_unmap()
Int ProcMgr_unmap | ( | ProcMgr_Handle | handle,
 |  | ProcMgr_MapMask | mapMask,
 |  | ProcMgr_AddrInfo * | addrInfo,
 |  | ProcMgr_AddrType | srcAddrType
 | ) |  |

Function to unmap address from slave address space.

Remarks:
This function unmaps the provided address(es) of specified one or more destination address types. The srcAddrType indicates the source address with which the entry for the mapping is to be identified. It must be the same address that was specified as the src address when the corresponding mapping was performed.
Parameters:
[in] | handle | Handle to the Processor object
[in] | mapMask | Mask of destination types of unmapping to be performed. One or more types may be ORed together.
[in,out] | addrInfo | Structure containing map info. When this API is called, user must provide a valid address for the address of srcAddrType, as well as each of the destination types given in the mapType mask. On successful completion of this function, the specified destination mappings are unmapped.
[in] | srcAddrType | Source address type.
Return values:
ProcMgr_S_SUCCESS | Operation successful
ProcMgr_E_INVALIDARG | Invalid parameter specified
ProcMgr_E_INVALIDSTATE | Module was not initialized
ProcMgr_E_HANDLE | Invalid NULL handle specified
ProcMgr_E_NOTFOUND | Info provided does not match with any mapped entry
ProcMgr_E_MAP | Failed to unmap address range from host OS
ProcMgr_E_OSFAILURE | Failed in an OS-specific call
See also:
ProcMgr_map()
UInt32 ProcMgr_getMaxMemoryRegions ( ProcMgr_Handle handle )

Get the maximum number of memory entries.

Parameters:
[in] handle Handle to the ProcMgr object
Remarks:
The kernel objects contain tables of size ProcMgr_MAX_MEMORY_REGIONS, this function retrieves that value for dynamically-sized arrays.
Return values:
Number of max memory entries
Int ProcMgr_getProcInfo | ( | ProcMgr_Handle | handle,
 |  | ProcMgr_ProcInfo * | procInfo
 | ) |  |

Retrieve information about the slave processor.

Parameters:
[in] | handle | Handle to the ProcMgr object
[out] | procInfo | Pointer to the ProcInfo object to be populated.
Return values:
ProcMgr_S_SUCCESS | Operation successful
ProcMgr_E_INVALIDARG | Invalid parameter specified
ProcMgr_E_INVALIDSTATE | Module was not initialized
ProcMgr_E_HANDLE | Invalid NULL handle specified
ProcMgr_E_OSFAILURE | Failed in an OS-specific call
Int ProcMgr_getSectionInfo | ( | ProcMgr_Handle | handle,
 |  | UInt32 | fileId,
 |  | String | sectionName,
 |  | ProcMgr_SectionInfo * | sectionInfo
 | ) |  |

Function that returns section information given the name of section and number of bytes to read.

Parameters:
[in] | handle | Handle to the ProcMgr object
[in] | fileId | ID of the file received from the load function
[in] | sectionName | Name of section to be retrieved
[out] | sectionInfo | Return parameter: Section information
Return values:
ProcMgr_S_SUCCESS | Operation successful
ProcMgr_E_INVALIDARG | Invalid parameter specified
ProcMgr_E_INVALIDSTATE | Module was not initialized
ProcMgr_E_HANDLE | Invalid NULL handle specified
ProcMgr_E_OSFAILURE | Failed in an OS-specific call
Int ProcMgr_getSectionData | ( | ProcMgr_Handle | handle,
 |  | UInt32 | fileId,
 |  | ProcMgr_SectionInfo * | sectionInfo,
 |  | Ptr | buffer
 | ) |  |

Function that returns section data in a buffer given section id and size to be read.

Parameters:
[in] | handle | Handle to the ProcMgr object
[in] | fileId | ID of the file received from the load function
[in] | sectionInfo | Structure filled by ProcMgr_getSectionInfo()
[out] | buffer | Return parameter
Return values:
ProcMgr_S_SUCCESS | Operation successful
ProcMgr_E_INVALIDARG | Invalid parameter specified
ProcMgr_E_INVALIDSTATE | Module was not initialized
ProcMgr_E_HANDLE | Invalid NULL handle specified
ProcMgr_E_OSFAILURE | Failed in an OS-specific call
See also:
ProcMgr_getSectionInfo()
UInt32 ProcMgr_getLoadedFileId ( ProcMgr_Handle handle )

Function that returns section data in a buffer given section id and size to be read.

Parameters:
[in] handle Handle to the ProcMgr object
Return values:
fileId Operation successful
See also:
ProcMgr_load()


SysLink API Reference: ti/syslink/RingIO.h File Reference

  • ti
  • syslink
Data Structures | Macros | Typedefs | Enumerations | Functions
RingIO.h File Reference

Detailed Description

RingIO module.

The RingIO component provides data streaming between cores using a ring buffer as the transport.

In a multiprocessor system having shared access to a memory region, an efficient mode of data transfer can be implemented, which uses a ring buffer created within the shared memory. The reader and writer of the ring buffer can be on different processors.

The RingIO component on each processor shall provide the ability to create RingIO buffers within the memory provided by the application. The memory provided may be within a shared memory region between two processors. The RingIO buffer is accessible to reader and writer present on the two processors between which the memory is shared. The application can obtain a handle to the RingIO through a call to open it.

The RingIO component shall provide the ability for the writer to acquire empty regions of memory within the data buffer. The contents of the acquired region are committed to memory when the data buffer is released by the writer.

The RingIO component shall provide the ability for the reader to acquire regions of memory within the data buffer with valid data within them. On releasing the acquired region, the contents of this region are marked as invalid.

The RingIO component shall also support APIs for enabling synchronous transfer of attributes with data. End of Stream (EOS), Time Stamps, Stream offset etc. are examples of such attributes and these shall be associated with offsets in the ring buffer.

A client using RingIO is a single unit of execution. It is typically a thread or task on a given processor.

  • The RingIO instance can be created between a client on the host CPU and a client on a slave CPU or between two clients on slave CPUs.
  • Either the reader or writer can create or delete the RingIO instance.
  • The RingIO instance should be created in a shared memory region which can be accessed directly by both the reader and the writer.
  • Both the reader and the writer need to open the RingIO instance and get a handle. Any data access on the RingIO instance should be made using these handles.
  • Each RingIO can have a single writer client and a single reader client. A RingIO handle may not be shared between multiple threads.

The RingIO client can be closed only if there is no currently acquired data or attributes. If there is any unreleased data or attributes, they must be released or cancelled before the RingIO client can be closed.

The RingIO can be deleted only when both reader and writer clients have successfully closed their RingIO clients.

Each RingIO instance may have an associated footer area, if configured. The foot buffer can be configured to be of zero size if not required. If configured to be non-zero size, the foot-buffer is physically contiguous with the data buffer.

The RingIO data and attribute buffer sizes must comply with any constraints imposed by the heap that they are specified to be allocated from. For example, for a Shared Memory Heap, the buffer sizes are automatically aligned to the SharedRegion's cache line size.

Example:
// Setup SysLink
SysLink_setup();
// Create the RingIO
RingIOShm_Params_init(&rioParams);
rioParams.commonParams.name = "My RingIO";
rioParams.ctrlRegionId = 1;
rioParams.dataRegionId = 1;
rioParams.attrRegionId = 1;
rioParams.attrSharedAddrSize = 16;
rioParams.dataSharedAddrSize = 40;
rioParams.remoteProcId = MultiProc_getId("DSP");
rioParams.gateHandle = NULL;
rio_Handle = RingIO_create(&rioParams);
// Open the RingIO
rio_OpenParams.openMode = RingIO_MODE_WRITER;
rio_OpenParams.flags = 0;
status = RingIO_open(GPP_RINGIO_NAME, &rio_OpenParams, NULL,
&rio_WriterHandle);
// Write to RingIO
status = RingIO_acquire(rio_WriterHandle, (RingIO_BufPtr*)&buffer,
&acquiredSize);
// (Can put some data into the buffer here)
// Release the RingIO
status = RingIO_release(rio_WriterHandle, acquiredSize);
// Close the RingIO
status = RingIO_close(&rio_WriterHandle);
// Delete the RingIO
status = RingIO_delete(&rio_Handle);
#include <ti/syslink/SysLink.h>
Include dependency graph for RingIO.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct | RingIO_Params_Tag
Common parameters required to create RingIO instance of any implementation. It should be the first element of the actual implementaton params structure . More...
struct | RingIO_openParams_Tag
Structure defining config parameters for opening the RingIO instances. More...
struct | RingIO_sharedMemReqDetails_tag
Structure defining config parameters for opening the RingIO instances. More...

Macros

#define | RingIO_S_PENDINGATTRIBUTE 4
Indicates that either:

  1. The amount of data requested could not be serviced due to the presence of an attribute
  2. During an attribute read if another is also present at the same offset.

#define | RingIO_S_NOTCONTIGUOUSDATA 3
Indicates that data size requested is not available as a contiguous chunk. Returning partial buffer as NEED_EXACT_SIZE was not specified.
#define | RingIO_S_BUSY 2
The resource is still in use.
#define | RingIO_S_ALREADYSETUP 1
The module has been already setup.
#define | RingIO_S_SUCCESS 0
Operation is successful.
#define | RingIO_E_FAIL -1
Operation is not successful.
#define | RingIO_E_INVALIDARG -2
There is an invalid argument.
#define | RingIO_E_MEMORY -3
Operation resulted in memory failure.
#define | RingIO_E_ALREADYEXISTS -4
The specified entity already exists.
#define | RingIO_E_NOTFOUND -5
Unable to find the specified entity.
#define | RingIO_E_TIMEOUT -6
Operation timed out.
#define | RingIO_E_INVALIDSTATE -7
Module is not initialized.
#define | RingIO_E_OSFAILURE -8
A failure occurred in an OS-specific call.
#define | RingIO_E_RESOURCE -9
Specified resource is not available.
#define | RingIO_E_RESTART -10
Operation was interrupted. Please restart the operation.
#define | RingIO_E_INVALIDMSG -11
An invalid message was encountered.
#define | RingIO_E_NOTOWNER -12
Not the owner.
#define | RingIO_E_REMOTEACTIVE -13
Operation resulted in error.
#define | RingIO_E_INVALIDHEAPID -14
An invalid heap id was encountered.
#define | RingIO_E_INVALIDPROCID -15
An invalid MultiProc id was encountered.
#define | RingIO_E_MAXREACHED -16
The max has been reached.
#define | RingIO_E_INUSE -17
Indicates that the instance is in use..
#define | RingIO_E_INVALIDCONTEXT -18
Indicates that the api is called with wrong handle.
#define | RingIO_E_BADVERSION -19
Versions don't match.
#define | RingIO_E_BUFWRAP -20
Indicates that the amount of data requested could not be serviced due to the ring buffer getting wrapped.
#define | RingIO_E_BUFEMPTY -21
Indicates that there is no data in the buffer for reading.
#define | RingIO_E_BUFFULL -22
Indicates that the buffer is full.
#define | RingIO_E_PENDINGDATA -23
Indicates that there is no attribute at the current offset, but attributes are present at a future offset.
#define | RingIO_E_VARIABLEATTRIBUTE -24
Indicates that getAttribute() failed, need to extract variable length message using getvAttribute()
#define | RingIO_E_WRONGSTATE -25
Indicates that the RingIO is in a wrong state.
#define | RingIO_E_NOTIFYFAIL -26
Indicates that the underlying notification call failed.
#define | RingIO_E_PENDINGATTRIBUTE -27
Indicates that the the acquire failed as attribute is present at current read offset.

Typedefs

typedef Ptr | RingIO_BufPtr
Pointer to a data or attribute buffer.
typedef UInt16 | RingIO_NotifyMsg
Notification message.
typedef struct RingIO_Object * | RingIO_Handle
Handle for the RingIO instance.
typedef enum RingIO_Type_Tag | RingIO_Type
typedef struct RingIO_Params_Tag | RingIO_Params
Common parameters required to create RingIO instance of any implementation. It should be the first element of the actual implementaton params structure .
typedef enum RingIO_OpenMode_Tag | RingIO_OpenMode
Enumeration of RingIO open modes.
typedef struct
RingIO_openParams_Tag 		RingIO_openParams
Structure defining config parameters for opening the RingIO instances.
typedef struct
RingIO_sharedMemReqDetails_tag 		RingIO_sharedMemReqDetails
Structure defining config parameters for opening the RingIO instances.
typedef enum RingIO_Flags_tag | RingIO_Flags
Enumeration of flags for RingIO client. It includes information about access to buffers.
typedef enum RingIO_NotifyType_Tag | RingIO_NotifyType
Enumerates the notification types for RingIO.
typedef void(* | RingIO_NotifyFxn )(RingIO_Handle, Ptr, RingIO_NotifyMsg)
Prototype of the RingIO call back function.

Enumerations

enum RingIO_Type_Tag { RingIO_Type_SHAREDMEM = 0x0 }
enum RingIO_OpenMode_Tag {
RingIO_MODE_READER = 0x0,
RingIO_MODE_WRITER = 0x1
}
Enumeration of RingIO open modes. More...
enum RingIO_Flags_tag {
RingIO_DATABUF_MAINTAINCACHE = 0x1,
RingIO_NEED_EXACT_SIZE = 0x2
}
Enumeration of flags for RingIO client. It includes information about access to buffers. More...
enum RingIO_NotifyType_Tag {
RingIO_NOTIFICATION_NONE = SysLink_NOTIFICATION_NONE,
RingIO_NOTIFICATION_ALWAYS = SysLink_NOTIFICATION_ALWAYS,
RingIO_NOTIFICATION_ONCE = SysLink_NOTIFICATION_ONCE,
RingIO_NOTIFICATION_HDWRFIFO_ALWAYS,
RingIO_NOTIFICATION_HDWRFIFO_ONCE
}
Enumerates the notification types for RingIO. More...

Functions

Void | RingIO_Params_init (Void *params)
Function to initialize the parameters for the RingIO instance.
RingIO_Handle | RingIO_create (const Void *params)
Create a RingIO object.
Int | RingIO_delete (RingIO_Handle *handlePtr)
Delete a RingIO object.
UInt32 | RingIO_sharedMemReq (const Void *params, RingIO_sharedMemReqDetails *sharedMemReqDetails)
Get shared memory requirements.
Int | RingIO_open (String name, const RingIO_openParams *params, UInt16 *procIds, RingIO_Handle *handlePtr)
Opens a created instance of RingIO module.
Int | RingIO_openByAddr (Ptr ctrlSharedAddr, const RingIO_openParams *params, RingIO_Handle *handlePtr)
Opens a created instance of RingIO module by the shared memory address of the instance.
Int | RingIO_close (RingIO_Handle *handlePtr)
Closes previously opened instance of RingIO module.
Int | RingIO_registerNotifier (RingIO_Handle handle, RingIO_NotifyType notifyType, UInt32 watermark, RingIO_NotifyFxn notifyFunc, Ptr cbContext)
Function to register a call back function.
Int | RingIO_unregisterNotifier (RingIO_Handle handle)
Unregister a call back function.
Int | RingIO_setWaterMark (RingIO_Handle handle, UInt32 watermark)
Function to set client's watermark.
Int | RingIO_setNotifyType (RingIO_Handle handle, RingIO_NotifyType notifyType)
Function to set the notify type.
Int | RingIO_acquire (RingIO_Handle handle, RingIO_BufPtr *pData, UInt32 *pSize)
Acquire data from the RingIO instance.
Int | RingIO_release (RingIO_Handle handle, UInt32 size)
Releases data from the RingIO instance.
Int | RingIO_cancel (RingIO_Handle handle)
Cancel the previous acquired buffer to the RingIO instance This function cancels any data buffers acquired by reader or writer. In the case of writer, all attributes that are set since the first acquire are removed. In the case of reader, all attributes that were obtained since the first acquired are re-instated in the RingIO instance.
Int | RingIO_getvAttribute (RingIO_Handle handle, UInt16 *type, UInt32 *param, RingIO_BufPtr vptr, UInt32 *pSize)
Get attribute from the RingIO instance.
Int | RingIO_setvAttribute (RingIO_Handle handle, UInt16 type, UInt32 param, RingIO_BufPtr pData, UInt32 size, Bool sendNotification)
Set attribute in the RingIO instance.
Int | RingIO_getAttribute (RingIO_Handle handle, UInt16 *type, UInt32 *param)
Obtain a fixed-size attribute from the attribute buffer.
Int | RingIO_setAttribute (RingIO_Handle handle, UInt16 type, UInt32 param, Bool sendNotification)
This function sets a fixed-size attribute in the acquired data buffer.
Int | RingIO_flush (RingIO_Handle handle, Bool hardFlush, UInt16 *type, UInt32 *param, UInt32 *bytesFlushed)
Flush the buffer in the RingIO instance.
Int | RingIO_sendNotify (RingIO_Handle handle, RingIO_NotifyMsg msg)
Send a force notification to the other client manually.
UInt | RingIO_getValidSize (RingIO_Handle handle)
Function to get valid data buffer size.
UInt | RingIO_getEmptySize (RingIO_Handle handle)
Function to get empty data buffer size.
UInt | RingIO_getValidAttrSize (RingIO_Handle handle)
Function to get valid attribute size.
UInt | RingIO_getEmptyAttrSize (RingIO_Handle handle)
Function to get empty attribute size.
UInt | RingIO_getAcquiredOffset (RingIO_Handle handle)
Function to get client's acquire offset from the start of the buffer.
UInt | RingIO_getAcquiredSize (RingIO_Handle handle)
Function to get client's acquired size.
UInt | RingIO_getWaterMark (RingIO_Handle handle)
Function to get client's watermark.

Macro Definition Documentation

#define RingIO_S_PENDINGATTRIBUTE 4

Indicates that either:

  1. The amount of data requested could not be serviced due to the presence of an attribute
  2. During an attribute read if another is also present at the same offset.

#define RingIO_S_NOTCONTIGUOUSDATA 3

Indicates that data size requested is not available as a contiguous chunk. Returning partial buffer as NEED_EXACT_SIZE was not specified.

#define RingIO_S_BUSY 2

The resource is still in use.

#define RingIO_S_ALREADYSETUP 1

The module has been already setup.

#define RingIO_S_SUCCESS 0

Operation is successful.

#define RingIO_E_FAIL -1

Operation is not successful.

#define RingIO_E_INVALIDARG -2

There is an invalid argument.

#define RingIO_E_MEMORY -3

Operation resulted in memory failure.

#define RingIO_E_ALREADYEXISTS -4

The specified entity already exists.

#define RingIO_E_NOTFOUND -5

Unable to find the specified entity.

#define RingIO_E_TIMEOUT -6

Operation timed out.

#define RingIO_E_INVALIDSTATE -7

Module is not initialized.

#define RingIO_E_OSFAILURE -8

A failure occurred in an OS-specific call.

#define RingIO_E_RESOURCE -9

Specified resource is not available.

#define RingIO_E_RESTART -10

Operation was interrupted. Please restart the operation.

#define RingIO_E_INVALIDMSG -11

An invalid message was encountered.

#define RingIO_E_NOTOWNER -12

Not the owner.

#define RingIO_E_REMOTEACTIVE -13

Operation resulted in error.

#define RingIO_E_INVALIDHEAPID -14

An invalid heap id was encountered.

#define RingIO_E_INVALIDPROCID -15

An invalid MultiProc id was encountered.

#define RingIO_E_MAXREACHED -16

The max has been reached.

#define RingIO_E_INUSE -17

Indicates that the instance is in use..

#define RingIO_E_INVALIDCONTEXT -18

Indicates that the api is called with wrong handle.

#define RingIO_E_BADVERSION -19

Versions don't match.

#define RingIO_E_BUFWRAP -20

Indicates that the amount of data requested could not be serviced due to the ring buffer getting wrapped.

#define RingIO_E_BUFEMPTY -21

Indicates that there is no data in the buffer for reading.

#define RingIO_E_BUFFULL -22

Indicates that the buffer is full.

#define RingIO_E_PENDINGDATA -23

Indicates that there is no attribute at the current offset, but attributes are present at a future offset.

#define RingIO_E_VARIABLEATTRIBUTE -24

Indicates that getAttribute() failed, need to extract variable length message using getvAttribute()

#define RingIO_E_WRONGSTATE -25

Indicates that the RingIO is in a wrong state.

#define RingIO_E_NOTIFYFAIL -26

Indicates that the underlying notification call failed.

#define RingIO_E_PENDINGATTRIBUTE -27

Indicates that the the acquire failed as attribute is present at current read offset.

Typedef Documentation

typedef Ptr RingIO_BufPtr

Pointer to a data or attribute buffer.

typedef UInt16 RingIO_NotifyMsg

Notification message.

This is a 16 bit payload which can be sent to the remote processor in a notification call.

typedef struct RingIO_Object* RingIO_Handle

Handle for the RingIO instance.

typedef enum RingIO_Type_Tag RingIO_Type
typedef struct RingIO_Params_Tag RingIO_Params

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

typedef enum RingIO_OpenMode_Tag RingIO_OpenMode

Enumeration of RingIO open modes.

typedef struct RingIO_openParams_Tag RingIO_openParams

Structure defining config parameters for opening the RingIO instances.

typedef struct RingIO_sharedMemReqDetails_tag RingIO_sharedMemReqDetails

Structure defining config parameters for opening the RingIO instances.

typedef enum RingIO_Flags_tag RingIO_Flags

Enumeration of flags for RingIO client. It includes information about access to buffers.

typedef enum RingIO_NotifyType_Tag RingIO_NotifyType

Enumerates the notification types for RingIO.

typedef void(* RingIO_NotifyFxn)(RingIO_Handle, Ptr, RingIO_NotifyMsg)

Prototype of the RingIO call back function.

Parameters:
RingIO_Handle Pointer to the RingIO instance structure in which the default params is to be returned. Ptr Argument to callback function e.g. handle to semaphore to be posted from callback RingIO_NotifyMsg message
Return values:
None

Enumeration Type Documentation

enum RingIO_Type_Tag
Enumerator:
RingIO_Type_SHAREDMEM

interface type for RingIO transport

enum RingIO_OpenMode_Tag

Enumeration of RingIO open modes.

Enumerator:
RingIO_MODE_READER

If specifed in params, open call returns a reader handle.

RingIO_MODE_WRITER

If specifed in params, open call returns a writer handle.

enum RingIO_Flags_tag

Enumeration of flags for RingIO client. It includes information about access to buffers.

Enumerator:
RingIO_DATABUF_MAINTAINCACHE

Denotes whether cache maintenance needs to be performed on the data buffer

RingIO_NEED_EXACT_SIZE

Denotes whether requests for acquire buffer should always be satisfied. For a writer, if a contiguous request could not be satisfied because of the buffer wrap, we mark an early end and provide a contiguous buffer from the top of the buffer. For a reader, if a contiguous request could not be satisfied, we copy the top of the buffer into the footer.

enum RingIO_NotifyType_Tag

Enumerates the notification types for RingIO.

Enumerator:
RingIO_NOTIFICATION_NONE

No notification is required.

RingIO_NOTIFICATION_ALWAYS

Notify whenever the other client sends data/frees up space. after a failure to acquire data/space.

RingIO_NOTIFICATION_ONCE

Notify when the other side sends data/frees up space, after a failure to acquire data/space. Once the notification is done, the notification is disabled until it is enabled again when acquire fails.

RingIO_NOTIFICATION_HDWRFIFO_ALWAYS

Notify whenever the other side sends data/frees up space if the size of data/space available is above the watermark. This notification is never disabled.

RingIO_NOTIFICATION_HDWRFIFO_ONCE

Notify when the other side sends data/frees up space, if the size is above the watermark level. 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.

Function Documentation

Void RingIO_Params_init ( Void * params )

Function to initialize the parameters for the RingIO instance.

This function can be called by the application to get their configuration parameter to RingIO_create() filled in by the RingIO module with the default parameters.

Precondition:
params is a valid (non-NULL) pointer.
Parameters:
[out] params Pointer to the RingIO interface type specific params. Currently only RingIOShm_Params are supported.
Return values:
None
See also:
RingIO_create()
RingIO_Handle RingIO_create ( const Void * params )

Create a RingIO object.

This function creates an instance of the RingIO module and returns an instance handle, which is used to access the specified RingIO.

Instance-level configuration needs to be provided to this function. If the user wishes to change some specific config parameters, then the parameter initialization function for the RingIO transport to be used (e.g. RingIOShm_Params_init()) can be called to get the configuration filled with the default values. After this, only the required configuration values can be changed.

Parameters:
[in] params Pointer to the RingIO interface type specific params. Currently only RingIOShm_Params are supported.
Precondition:
params is a valid (non-NULL) pointer to a set of interface type specific params.
Return values:
non-NULL | Operation successful
NULL | Operation unsuccessful
See also:
RingIO_Params_init()
RingIO_delete()
RingIO_open()
RingIO_close()
Int RingIO_delete ( RingIO_Handle * handlePtr )

Delete a RingIO object.

Once this function is called, other RingIO instance level APIs that require the instance handle cannot be called.

Parameters:
[in] handlePtr Pointer to Handle to the RingIO object. This MUST be a handle that was returned from RingIO_create() and not one that comes from RingIO_open().
Precondition:
handlePtr is a valid (non-NULL) pointer to a valid RingIO handle.
Return values:
RingIO_S_SUCCESS | Operation is successful.
RingIO_E_INVALIDSTATE | Module is in an invalid state Instance was not created on this processor
RingIO_E_INVALIDARG | handlePtr pointer passed is NULL
RingIO_E_INVALIDARG | *handlePtr passed is NULL
RingIO_E_INVALIDCONTEXT | Api is not called with a handle from RingIO_create()
See also:
RingIO_create()
UInt32 RingIO_sharedMemReq | ( | const Void * | params,
 |  | RingIO_sharedMemReqDetails * | sharedMemReqDetails
 | ) |  |

Get shared memory requirements.

RingIO_Params_init() must be called to initialize the parameters before calling this function.

Parameters:
[in] | params | RingIO interface type specific params. Currently only RingIOShm_Params are supported.
[out] | sharedMemReqDetails | Control, Data and Attr shared memory details
Precondition:
params is a valid (non-NULL) pointer to interface specific params.
sharedMemReqDetails is a valid (non-NULL) pointer.
Return values:
Success Total Shared memory requirements
Int RingIO_open | ( | String | name,
 |  | const RingIO_openParams * | params,
 |  | UInt16 * | procIds,
 |  | RingIO_Handle * | handlePtr
 | ) |  |

Opens a created instance of RingIO module.

Parameters:
[in] | name | Name of the RingIO instance to be opened
[in] | params | Parameters for opening the RingIO instance.
[in] | procIds | Array of processor IDs to search for the RingIO instance. If NULL is specified, all processors are checked.
[out] | handlePtr | Holds the RingIO handle on success.
Precondition:
handlePtr is a valid (non-NULL) pointer.
params is a valid (non-NULL) pointer to a set of parameters to open the RingIO instance.
Return values:
RingIO_S_SUCCESS | Operation is successful.
RingIO_E_INVALIDSTATE | Module is in an invalid state
RingIO_E_NOTFOUND | RingIO not found
RingIO_E_FAIL | Failed to open the gate associated with the RingIO instance. Failed to open the clientnotifymgr associated with the RingIO instance.
RingIO_E_INVALIDARG | Parameters passed are invalid
See also:
RingIO_close()
RingIO_openParams()
Int RingIO_openByAddr | ( | Ptr | ctrlSharedAddr,
 |  | const RingIO_openParams * | params,
 |  | RingIO_Handle * | handlePtr
 | ) |  |

Opens a created instance of RingIO module by the shared memory address of the instance.

Parameters:
[in] | ctrlSharedAddr | Shared address at which the instance exists
[in] | params | Parameters for opening the RingIO instance.
[out] | handlePtr | Holds the RingIO handle on success.
Precondition:
handlePtr is a valid (non-NULL) pointer.
params is a valid (non-NULL) pointer to a set of parameters for opening the RingIO instance.
Return values:
RingIO_S_SUCCESS | Operation is successful.
RingIO_E_INVALIDSTATE | Module is in an invalid state
RingIO_E_NOTFOUND | RingIO not found
RingIO_E_FAIL | Failed to open the gate associated with the RingIO instance. Failed to open the clientnotifymgr associated with the RingIO instance.
RingIO_E_INVALIDARG | Parameters passed are invalid
See also:
RingIO_create()
RingIO_delete()
RingIO_close()
Int RingIO_close ( RingIO_Handle * handlePtr )

Closes previously opened instance of RingIO module.

Parameters:
[in] handlePtr Pointer to handle for the opened RingIO instance. MUST be a pointer returned by RingIO_open and not RingIO_create. Reset to invalid when the function successfully completes.
Precondition:
handlePtr is a valid (non-NULL) pointer to a RingIO handle.
Return values:
RingIO_S_SUCCESS | Operation is successful.
RingIO_E_INVALIDSTATE | Module is in an invalid state
RingIO_E_FAIL | Failed to open the gate associated with the RingIO instance. Failed to open the clientnotifymgr associated with the RingIO instance.
RingIO_E_INVALIDARG | Parameters passed are invalid
RingIO_E_INVALIDCONTEXT | Api is not called with a handle from RingIO_open
See also:
RingIO_create()
RingIO_delete()
RingIO_open()
Int RingIO_registerNotifier | ( | RingIO_Handle | handle,
 |  | RingIO_NotifyType | notifyType,
 |  | UInt32 | watermark,
 |  | RingIO_NotifyFxn | notifyFunc,
 |  | Ptr | cbContext
 | ) |  |

Function to register a call back function.

This function sets Notification parameters for the RingIO Client. Both the reader and writer can set their notification mechanism using this function

RingIO_open() for both reader and writer has been successful. No SysLink API should be called from a callback function registered through the RingIO module. On SYS/BIOS the callback functions are run from ISR context and must not perform any operations that may take a lock or block, which is done by most SysLink APIs. Minimum functionality must be used in the callback functions, most often limited to posting a semaphore on which application is waiting, posting SWI etc.

Parameters:
[in] | handle | RingIO client Handle.
[in] | notifyType | Type of notification.
[in] | watermark | WaterMark
[in] | notifyFunc | Call back function
[in] | cbContext | Context pointer that needs to be passed to call back.
Precondition:
handle is a valid (non-NULL) RingIO handle.
notifyFunc is a valid (non-NULL) function pointer to a notification function.
cbContext is a valid (non-NULL) pointer to data that would be passed to the notification function.
Return values:
RingIO_S_SUCCESS | Operation is successful.
RingIO_E_INVALIDSTATE | Module is in an invalid state RingIO_open is not called yet
RingIO_E_FAIL | Failed to open the gate associated with the RingIO instance. Failed to open the clientnotifymgr associated with the RingIO instance.
RingIO_E_INVALIDARG | Parameters passed are invalid
See also:
RingIO_unregisterNotifier()
Int RingIO_unregisterNotifier ( RingIO_Handle handle )

Unregister a call back function.

Parameters:
[in] handle RingIO client Handle.
Precondition:
handle is a valid (non-NULL) RingIO handle.
Return values:
RingIO_S_SUCCESS | Operation is successful.
RingIO_E_INVALIDSTATE | Module is in an invalid state RingIO_open is not called yet
RingIO_E_FAIL | Failed to open the gate associated with the RingIO instance. Failed to open the clientnotifymgr associated with the RingIO instance.
RingIO_E_INVALIDARG | There is an invalid argument.
See also:
RingIO_registerNotifier()
Int RingIO_setWaterMark | ( | RingIO_Handle | handle,
 |  | UInt32 | watermark
 | ) |  |

Function to set client's watermark.

Parameters:
[in] | handle | RingIO client Handle.
[in] | watermark | Watermark value
Precondition:
handle is a valid (non-NULL) RingIO handle.
Return values:
RingIO_S_SUCCESS | Operation is successful.
RingIO_E_FAIL | Operation is not successful.
RingIO_E_INVALIDARG | There is an invalid argument.
See also:
RingIO_registerNotifier()
Int RingIO_setNotifyType | ( | RingIO_Handle | handle,
 |  | RingIO_NotifyType | notifyType
 | ) |  |

Function to set the notify type.

Parameters:
[in] | handle | Instance handle.
[in] | notifyType | Type of notification
Precondition:
handle is a valid (non-NULL) RingIO handle.
Return values:
RingIO_S_SUCCESS | Operation is successful.
RingIO_E_FAIL | Operation is not successful.
RingIO_E_INVALIDARG | There is an invalid argument.
See also:
RingIO_NotifyType
RingIO_registerNotifier()
Int RingIO_acquire | ( | RingIO_Handle | handle,
 |  | RingIO_BufPtr * | pData,
 |  | UInt32 * | pSize
 | ) |  |

Acquire data from the RingIO instance.

This function acquires a data buffer from RingIO for reading or writing, depending on the mode in which the client (represented by the handle) has been opened.

Parameters:
[in] | handle | RingIO handle
[out] | pData | Location to store the pointer to the acquired data buffer.
[in,out] | pSize | Pointer to the size of data buffer. Holds the size of buffer to be acquired. Returns the size of buffer actually acquired.
Precondition:
handle is a valid (non-NULL) RingIO handle.
pData is a valid (non-NULL) pointer to a RingIO_BufPtr.
pSize is a valid (non-NULL) pointer to a size.
Return values:
RingIO_S_SUCCESS | Operation is successful.
RingIO_E_PENDINGATTRIBUTE | (For reader only) No data buffer could be acquired because an attribute was present at the current read offset.
RingIO_S_PENDINGATTRIBUTE | (For reader only) Flag NEED_EXACT_SIZE is not set. Partial Data buffer is retuned till the offset where an attribute was present.
RingIO_E_BUFFULL | (For writer only) Requested size of data buffer could not be returned because the total available size is less than requested size. A smaller sized buffer may have been returned, if available.
RingIO_E_BUFWRAP | (For writer only) Requested size of data buffer could not be returned because the available contiguous size till end of buffer is less than requested size. A smaller sized buffer may have been returned, if available.
RingIO_E_FAIL | General failure. Contiguous buffer requirement cannot be satisfied even by setting early end.
RingIO_S_NOTCONTIGUOUSDATA | (For reader only) Data size requested is not available as a contiguous chunk. Returning partial buffer as NEED_EXACT_SIZE was not specified.
RingIO_E_BUFEMPTY | (For reader only) No data available to acquire
RingIO_E_INVALIDARG | There is an invalid argument.
See also:
RingIO_release()
Int RingIO_release | ( | RingIO_Handle | handle,
 |  | UInt32 | size
 | ) |  |

Releases data from the RingIO instance.

Parameters:
[in] | handle | RingIO handle
[in] | size | Size of the released buffer
Precondition:
handle is a valid (non-NULL) RingIO handle.
Return values:
RingIO_S_SUCCESS | Operation is successful.
RingIO_E_FAIL | General Failure Invalid size argument > client acquired size passed
RingIO_E_INVALIDARG | Parameters passed are invalid
RingIO_E_NOTIFYFAIL | Failure when sending notification to other client.
See also:
RingIO_acquire()
Int RingIO_cancel ( RingIO_Handle handle )

Cancel the previous acquired buffer to the RingIO instance This function cancels any data buffers acquired by reader or writer. In the case of writer, all attributes that are set since the first acquire are removed. In the case of reader, all attributes that were obtained since the first acquired are re-instated in the RingIO instance.

Parameters:
[in] handle RingIO handle
Precondition:
handle is a valid (non-NULL) RingIO handle.
Return values:
RingIO_S_SUCCESS | Operation is successful.
RingIO_E_FAIL | General Failure No data acquired
RingIO_E_INVALIDARG | Parameters passed are invalid
See also:
RingIO_acquire()
Int RingIO_getvAttribute | ( | RingIO_Handle | handle,
 |  | UInt16 * | type,
 |  | UInt32 * | param,
 |  | RingIO_BufPtr | vptr,
 |  | UInt32 * | pSize
 | ) |  |

Get attribute from the RingIO instance.

This function gets an attribute with a variable-sized payload from the attribute buffer. If an attribute is present, the attribute type, the optional parameter, a pointer to the optional payload and the payload size are returned.

Parameters:
[in] | handle | RingIO handle
[out] | type | Location to receive the user-defined type of attribute.
[out] | param | Location to receive an optional parameter which depends on the attribute type.
[out] | vptr | Pointer to buffer to receive the optional payload.
[out] | pSize | Location with the size of the variable attribute. On return, this stores the actual size of the payload.
Precondition:
handle is a valid (non-NULL) RingIO handle.
type is a valid (non-NULL) pointer.
param is a valid (non-NULL) pointer.
Return values:
RingIO_S_SUCCESS | Operation is successful.
RingIO_E_FAIL | General Failure No attribute present
RingIO_E_INVALIDARG | Parameters passed are invalid
RingIO_S_PENDINGATTRIBUTE | Additional attributes are present at the current read offset.
RingIO_E_VARIABLEATTRIBUTE | No buffer has been provided to receive the variable attribute payload.
RingIO_E_PENDINGDATA | More data must be read before reading the attribute.
See also:
RingIO_getAttribute()
Int RingIO_setvAttribute | ( | RingIO_Handle | handle,
 |  | UInt16 | type,
 |  | UInt32 | param,
 |  | RingIO_BufPtr | pData,
 |  | UInt32 | size,
 |  | Bool | sendNotification
 | ) |  |

Set attribute in the RingIO instance.

This function sets an attribute with a variable sized payload at the offset provided in the acquired data buffer.

If the offset is not in the range of the acquired data buffer, the attribute is not set, and an error is returned. One exception to this rule is when no data buffer has been acquired. In this case an attribute is set at the next data buffer offset that can be acquired

Parameters:
[in] | handle | Handle to the RingIO Client.
[in] | type | User-defined type of attribute.
[in] | param | Optional parameter which depends on the attribute type.
[in] | pData | Pointer to attribute payload buffer.
[in] | size | Size of the attribute payload.
[in] | sendNotification | Flag to indicate whether notification should be sent or not on successful setting of an attribute
Precondition:
handle is a valid (non-NULL) RingIO handle.
Return values:
RingIO_S_SUCCESS | Operation is successful.
RingIO_E_FAIL | General Failure No attribute present
RingIO_E_INVALIDARG | There is an invalid argument.
RingIO_E_WRONGSTATE Do not allow setting an attribute when it falls into reader region. The following scenarios cover this condition:
  • The buffer is completely full. In this case, attribute can only be set at offset 0. But offset 0 falls into reader region.
  • The buffer is completely acquired by the writer. Part or none of this buffer may be released. Writer is attempting to set an attribute at the end of its acquired range. In this case, end of writer buffer is the same as beginning of reader buffer. If the reader has acquired and released some data, resulting in its moving further such that its acquire start is not at the same location where writer may be able to set an attribute, the above conditions do not hold true, and the attribute is allowed to be set.
RingIO_E_NOTIFYFAIL | Indicates that the underlying notification call failed.
See also:
RingIO_acquire()
Int RingIO_getAttribute | ( | RingIO_Handle | handle,
 |  | UInt16 * | type,
 |  | UInt32 * | param
 | ) |  |

Obtain a fixed-size attribute from the attribute buffer.

If an attribute is present, the attribute type and a related parameter are returned.

Parameters:
[in] | handle | RingIO handle
[out] | type | Location to receive the user-defined type of attribute.
[out] | param | Location to receive an optional parameter which depends on the attribute type.
Precondition:
handle is a valid (non-NULL) RingIO handle.
type is a valid (non-NULL) pointer.
param is a valid (non-NULL) pointer.
Return values:
RingIO_S_SUCCESS | Operation is successful.
RingIO_E_FAIL | General Failure No attribute present
RingIO_E_INVALIDARG | There is an invalid argument.
RingIO_S_PENDINGATTRIBUTE | Additional attributes are present at the current read offset.
RingIO_E_VARIABLEATTRIBUTE | A variable attribute exists.The application must call RingIO_getvAttribute () to get the variable attribute.
RingIO_E_PENDINGDATA | More data must be read before reading the attribute.
See also:
RingIO_getvAttribute()
Int RingIO_setAttribute | ( | RingIO_Handle | handle,
 |  | UInt16 | type,
 |  | UInt32 | param,
 |  | Bool | sendNotification
 | ) |  |

This function sets a fixed-size attribute in the acquired data buffer.

When no data buffer has been acquired, the attribute is set at the next data buffer that can be acquired

Parameters:
[in] | handle | Handle to the RingIO Client
[in] | type | User-defined type of attribute
[in] | param | Optional parameter which depends on the attribute type
[in] | sendNotification | Flag indicating whether notification should be sent or not on successful setting of an attribute
Precondition:
handle is a valid (non-NULL) RingIO handle.
Return values:
RingIO_E_FAIL | General Failure
RingIO_E_INVALIDARG | Parameters passed are invalid
RingIO_S_SUCCESS | Operation Successful
RingIO_E_WRONGSTATE Do not allow setting an attribute when it falls into reader region. The following scenarios cover this condition:
  • The buffer is completely full. In this case, attribute can only be set at offset 0, but offset 0 falls into the reader's region.
  • The buffer is completely acquired by the writer. Part or none of this buffer may be released. Writer is attempting to set an attribute at the end of its acquired range. In this case, end of writer buffer is the same as beginning of reader buffer. If the reader has acquired and released some data, resulting in its moving further such that its acquire start is not at the same location where writer may be able to set an attribute, the above conditions do not hold true, and the attribute is allowed to be set.
RingIO_E_NOTIFYFAIL | Indicates that the underlying notification call failed.
Int RingIO_flush | ( | RingIO_Handle | handle,
 |  | Bool | hardFlush,
 |  | UInt16 * | type,
 |  | UInt32 * | param,
 |  | UInt32 * | bytesFlushed
 | ) |  |

Flush the buffer in the RingIO instance.

This function is used to flush the data from the RingIO. The behavior of this function depends on the value of hardFlush argument. When hardFlush is false: If function is called for the writer, all the valid data in buffer after the first attribute location will be discarded. In case there are no attributes, no data will be cleared from the buffer. Note that this does not include the data that has been already acquired by the reader. Note that the attribute will also be cleared from the attribute buffer. For the reader, all the data till the next attribute location will be discarded. And if there is no attribute in the buffer, all valid data will get discarded. Note that the attribute will remain the attribute buffer. This is different from the behavior mentioned for the writer. When hardFlush is true: If function is called from the writer, all committed data and attributes that is not acquired by reader are removed from the RingIO instance. The writer pointer is moved to point to reader's head pointer If function is called from the reader, all data and attributes that can be subsequently acquired from the reader are removed.

Parameters:
[in] | handle | Handle to the RingIO Client.
[in] | hardFlush | Mode in which the flush operation discards committed data and attributes
[out] | type | Location to receive the User-defined type of attribute.
[out] | param | Location to receive an optional parameter which depends on the attribute type.
[out] | bytesFlushed | Location to recieve the size of the buffer flushed.
Precondition:
handle is a valid (non-NULL) RingIO handle.
type is a valid (non-NULL) pointer.
param is a valid (non-NULL) pointer.
bytesFlushed is a valid (non-NULL) pointer.
Return values:
RingIO_S_SUCCESS | Operation is successful.
RingIO_E_FAIL | Operation is not successful.
RingIO_E_INVALIDARG | There is an invalid argument.
RingIO_E_NOTIFYFAIL | Indicates that the underlying notification call failed.
See also:
RingIO_acquire()
Int RingIO_sendNotify | ( | RingIO_Handle | handle,
 |  | RingIO_NotifyMsg | msg
 | ) |  |

Send a force notification to the other client manually.

Parameters:
[in] | handle | Handle to RingIO instance
[in] | msg | Payload to notification
Precondition:
handle is a valid (non-NULL) RingIO handle.
Return values:
RingIO_S_SUCCESS | Operation is successful.
RingIO_E_FAIL | Operation is not successful.
RingIO_E_INVALIDARG | There is an invalid argument.
RingIO_E_NOTIFYFAIL | Indicates that the underlying notification call failed.
See also:
None
UInt RingIO_getValidSize ( RingIO_Handle handle )

Function to get valid data buffer size.

Parameters:
[in] handle RingIO client Handle.
Precondition:
handle is a valid (non-NULL) RingIO handle.
Return values:
Valid_data_buffer_size | Operation successful
-1 | Operation unsuccessful.
UInt RingIO_getEmptySize ( RingIO_Handle handle )

Function to get empty data buffer size.

Parameters:
[in] handle RingIO client Handle.
Precondition:
handle is a valid (non-NULL) RingIO handle.
Return values:
Empty_data_buffer_size | Operation successful
-1 | Operation unsuccessful
UInt RingIO_getValidAttrSize ( RingIO_Handle handle )

Function to get valid attribute size.

Parameters:
[in] handle RingIO client Handle.
Precondition:
handle is a valid (non-NULL) RingIO handle.
Return values:
Valid_attribute_size | Operation successful
-1 | Operation unsuccessful
UInt RingIO_getEmptyAttrSize ( RingIO_Handle handle )

Function to get empty attribute size.

Parameters:
[in] handle RingIO client Handle.
Precondition:
handle is a valid (non-NULL) RingIO handle.
Return values:
Empty_attribute_size | Operation successful
-1 | Operation unsuccessful
UInt RingIO_getAcquiredOffset ( RingIO_Handle handle )

Function to get client's acquire offset from the start of the buffer.

Parameters:
[in] handle RingIO client Handle.
Precondition:
handle is a valid (non-NULL) RingIO handle.
Return values:
Acquired_offset | Operation successful
-1 | Operation unsuccessful
UInt RingIO_getAcquiredSize ( RingIO_Handle handle )

Function to get client's acquired size.

Parameters:
[in] handle RingIO client Handle.
Precondition:
handle is a valid (non-NULL) RingIO handle.
Return values:
Acquired_Size | Operation successful
-1 | Operation unsuccessful
UInt RingIO_getWaterMark ( RingIO_Handle handle )

Function to get client's watermark.

Parameters:
[in] handle RingIO client Handle.
Precondition:
handle is a valid (non-NULL) RingIO handle.
Return values:
Watermark_value | Operation successful
-1 | Operation unsuccessful


SysLink API Reference: ti/syslink/RingIOShm.h File Reference

  • ti
  • syslink
Data Structures | Macros | Typedefs | Functions
RingIOShm.h File Reference

Detailed Description

RingIOShm shared memory based physical transport for communication with another client.

This file contains the declarations of types and APIs as part of interface of the RingIOShm shared memory transport.

#include <ti/ipc/GateMP.h>
#include <ti/syslink/RingIO.h>
Include dependency graph for RingIOShm.h:

Go to the source code of this file.

Data Structures

struct RingIOShm_Params_Tag
Structure defining parameters for creating the RingIOShm instances. More...

Macros

#define | RingIOShm_MODULEID (0x3bff)
Unique module ID.
#define | RingIOShm_E_INVALIDARG RingIO_E_INVALIDARG
Argument passed to a function is invalid.
#define | RingIOShm_E_INVALIDSTATE RingIO_E_INVALIDSTATE
Module is not initialized.
#define | RingIOShm_E_BADVERSION RingIO_E_BADVERSION
Versions don't match.
#define | RingIOShm_E_FAIL RingIO_E_FAIL
General Failure.
#define | RingIOShm_E_MEMORY RingIO_E_MEMORY
Memory allocation failed.
#define | RingIOShm_E_OSFAILURE RingIO_E_OSFAILURE
Failure in OS call.
#define | RingIOShm_E_BUFWRAP RingIO_E_BUFWRAP
Indicates that the amount of data requested could not be serviced due to the ring buffer getting wrapped.
#define | RingIOShm_E_BUFEMPTY RingIO_E_BUFEMPTY
Indicates that there is no data in the buffer for reading.
#define | RingIOShm_E_BUFFULL RingIO_E_BUFFULL
Indicates that the buffer is full.
#define | RingIOShm_E_PENDINGDATA RingIO_E_PENDINGDATA
Indicates that there is no attribute at the current offset, but attributes are present at a future offset.
#define | RingIOShm_E_VARIABLEATTRIBUTE RingIO_E_VARIABLEATTRIBUTE
Indicates that getAttribute() failed, need to extract variable length message using getvAttribute()
#define | RingIOShm_E_WRONGSTATE RingIO_E_WRONGSTATE
Indicates that the RingIO is in a wrong state.
#define | RingIOShm_E_INVALIDPROCID RingIO_E_INVALIDPROCID
Indicates that an invalid proc id has been specified.
#define | RingIOShm_E_INVALIDCONTEXT RingIO_E_INVALIDCONTEXT
Indicates that the api is called with wrong handle.
#define | RingIOShm_S_SUCCESS RingIO_S_SUCCESS
Operation successful.
#define | RingIOShm_S_ALREADYSETUP RingIO_S_ALREADYSETUP
The module has been already setup.
#define | RingIOShm_S_PENDINGATTRIBUTE RingIO_S_PENDINGATTRIBUTE
Indicates that either: 1) The amount of data requested could not be serviced due to the presence of an attribute 2) During an attribute read if another is also present at the same offset.

Typedefs

typedef struct RingIOShm_Params_Tag RingIOShm_Params
Structure defining parameters for creating the RingIOShm instances.

Functions

Void RingIOShm_Params_init (Void *params)
Function to initialize the parameters for the RingIOShm instance.

Macro Definition Documentation

#define RingIOShm_MODULEID (0x3bff)

Unique module ID.

#define RingIOShm_E_INVALIDARG RingIO_E_INVALIDARG

Argument passed to a function is invalid.

#define RingIOShm_E_INVALIDSTATE RingIO_E_INVALIDSTATE

Module is not initialized.

#define RingIOShm_E_BADVERSION RingIO_E_BADVERSION

Versions don't match.

#define RingIOShm_E_FAIL RingIO_E_FAIL

General Failure.

#define RingIOShm_E_MEMORY RingIO_E_MEMORY

Memory allocation failed.

#define RingIOShm_E_OSFAILURE RingIO_E_OSFAILURE

Failure in OS call.

#define RingIOShm_E_BUFWRAP RingIO_E_BUFWRAP

Indicates that the amount of data requested could not be serviced due to the ring buffer getting wrapped.

#define RingIOShm_E_BUFEMPTY RingIO_E_BUFEMPTY

Indicates that there is no data in the buffer for reading.

#define RingIOShm_E_BUFFULL RingIO_E_BUFFULL

Indicates that the buffer is full.

#define RingIOShm_E_PENDINGDATA RingIO_E_PENDINGDATA

Indicates that there is no attribute at the current offset, but attributes are present at a future offset.

#define RingIOShm_E_VARIABLEATTRIBUTE RingIO_E_VARIABLEATTRIBUTE

Indicates that getAttribute() failed, need to extract variable length message using getvAttribute()

#define RingIOShm_E_WRONGSTATE RingIO_E_WRONGSTATE

Indicates that the RingIO is in a wrong state.

#define RingIOShm_E_INVALIDPROCID RingIO_E_INVALIDPROCID

Indicates that an invalid proc id has been specified.

#define RingIOShm_E_INVALIDCONTEXT RingIO_E_INVALIDCONTEXT

Indicates that the api is called with wrong handle.

#define RingIOShm_S_SUCCESS RingIO_S_SUCCESS

Operation successful.

#define RingIOShm_S_ALREADYSETUP RingIO_S_ALREADYSETUP

The module has been already setup.

#define RingIOShm_S_PENDINGATTRIBUTE RingIO_S_PENDINGATTRIBUTE

Indicates that either: 1) The amount of data requested could not be serviced due to the presence of an attribute 2) During an attribute read if another is also present at the same offset.

Typedef Documentation

typedef struct RingIOShm_Params_Tag RingIOShm_Params

Structure defining parameters for creating the RingIOShm instances.

Function Documentation

Void RingIOShm_Params_init ( Void * params )

Function to initialize the parameters for the RingIOShm instance.

This function can be called by the application to get their configuration parameter to RingIO_create filled in by the RingIOShm module with the default parameters.

Parameters:
params Pointer to the RingIOShm instance params structure in which the default params is to be returned.
Return values:
None
See also:
RingIO_create


SysLink API Reference: ti/syslink/Std.h File Reference

  • ti
  • syslink
Macros | Typedefs
Std.h File Reference

Detailed Description

This will have definitions of standard data types for platform abstraction.

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define | Void void
#define | TRUE 1
#define | FALSE 0
#define | Error_init(eb) *eb = 0

Typedefs

typedef char | Char
typedef unsigned char | UChar
typedef short | Short
typedef unsigned short | UShort
typedef int | Int
typedef unsigned int | UInt
typedef long | Long
typedef unsigned long | ULong
typedef float | Float
typedef double | Double
typedef long double | LDouble
typedef unsigned short | Bool
typedef void * | Ptr
typedef char * | String
typedef const char * | CString
typedef int * | IArg
typedef unsigned int * | UArg
typedef char | Int8
typedef short | Int16
typedef int | Int32
typedef unsigned char | UInt8
typedef unsigned short | UInt16
typedef unsigned int | UInt32
typedef unsigned int | SizeT
typedef unsigned char | Bits8
typedef unsigned short | Bits16
typedef UInt32 | Bits32
typedef UInt32 | Error_Block

Macro Definition Documentation

#define Void void
#define TRUE 1
#define FALSE 0
#define Error_init ( eb ) *eb = 0

Initialize error block

Typedef Documentation

typedef char Char
typedef unsigned char UChar
typedef short Short
typedef unsigned short UShort
typedef int Int
typedef unsigned int UInt
typedef long Long
typedef unsigned long ULong
typedef float Float
typedef double Double
typedef long double LDouble
typedef unsigned short Bool
typedef void* Ptr
typedef char* String
typedef const char* CString
typedef int* IArg
typedef unsigned int* UArg
typedef char Int8
typedef short Int16
typedef int Int32
typedef unsigned char UInt8
typedef unsigned short UInt16
typedef unsigned int UInt32
typedef unsigned int SizeT
typedef unsigned char Bits8
typedef unsigned short Bits16
typedef UInt32 Bits32
typedef UInt32 Error_Block

Data type for errors


SysLink API Reference: ti/syslink/SysLink.h File Reference

  • ti
  • syslink
Functions | Variables
SysLink.h File Reference

Detailed Description

This module contains common definitions, types, structures and functions used by SysLink.

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

Void SysLink_setup (Void)
Function to initialize SysLink.
Void SysLink_destroy (Void)
Function to finalize SysLink.

Variables

String SysLink_params
Config params override strings.

Function Documentation

Void SysLink_setup ( Void )

Function to initialize SysLink.

This function must be called in every user process before making calls to any other SysLink APIs.

Remarks:
On Linux, SysLink is composed of many underlying sub-modules, each with its own entry in the /dev filesystem. SysLink_setup() (or, more precisely, other "setup" functions called by SysLink_setup()) will open each of these /dev files. Because these /dev files are created by a user-level system process named 'udev', a user's SysLink application can "race" against 'udev' and encounter the /dev 'open()' call before 'udev' has had a chance to create the /dev file. Typically, this behavior happens when the SysLink user application is executed immediately after SysLink's kernel module (syslink.ko) is installed in the system with 'insmod' or 'modprobe'.

To accommodate the above potential race condition, each /dev file 'open' is performed in a loop with a 1 ms sleep in between each 'open' attempt. The loop will occur a maximum of 100 times before reporting the failure to open the /dev file. Since SysLink_setup() is of a 'void' return type, it can't report this error back to the application, and instead it prints failure messages to 'stderr'.

See also:
SysLink_destroy()
Void SysLink_destroy ( Void )

Function to finalize SysLink.

This function must be called in every user process at the end after all usage of SysLink in that process is complete.

See also:
SysLink_setup()

Variable Documentation

String SysLink_params

Config params override strings.

This string is a list of semi-colon-delimited "assignments" that can be set by users prior to the initial call to SysLink_setup() to affect system behavior.

Example assignments include:

  • "ProcMgr.proc[DSP].mmuEnable=FALSE;"
  • "ProcMgr.proc[VPSS-M3].mmuEnable=TRUE;"
  • "SharedRegion.entry[1].cacheEnable=FALSE;"
  • "SharedRegion.entry[3].cacheEnable=FALSE;"
Remarks:
Note that many users don't explicitly set this string and rebuild their app, but rather leverage the SL_PARAMS environment variable to set this string's value.
In many systems, slaveloader (or similar) is used to load and start the slaves, and is therefore the initial app in the system. In those systems, it's important to set this variable (or SL_PARAMS) prior to running slaveloader.
A common mistake is to forget to terminate the string with a trailing semi-colon.


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- b -

  • Bits16 : Std.h
  • Bits32 : Std.h
  • Bits8 : Std.h
  • Bool : Std.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- c -

  • Cache_E_FAIL : Cache.h
  • Cache_E_INVALIDARG : Cache.h
  • Cache_E_OSFAILURE : Cache.h
  • Cache_inv() : Cache.h
  • Cache_Mode : Cache.h
  • Cache_Mode_BYPASS : Cache.h
  • Cache_Mode_FREEZE : Cache.h
  • Cache_Mode_NORMAL : Cache.h
  • Cache_S_ALREADYSETUP : Cache.h
  • Cache_S_SUCCESS : Cache.h
  • Cache_setMode() : Cache.h
  • Cache_Type : Cache.h
  • Cache_Type_ALL : Cache.h
  • Cache_Type_L1 : Cache.h
  • Cache_Type_L1D : Cache.h
  • Cache_Type_L1P : Cache.h
  • Cache_Type_L2 : Cache.h
  • Cache_Type_L2D : Cache.h
  • Cache_Type_L2P : Cache.h
  • Cache_wait() : Cache.h
  • Cache_wb() : Cache.h
  • Cache_wbInv() : Cache.h
  • Cfg_prop() : Cfg.h
  • Cfg_propBool() : Cfg.h
  • Char : Std.h
  • CString : Std.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- d -

  • Dev_pollOpen() : Dev.h
  • Double : Std.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- e -

  • Error_Block : Std.h
  • Error_init : Std.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- f -

  • FALSE : Std.h
  • Float : Std.h
  • Frame : FrameQDefs.h
  • Frame_FrameBufInfo : FrameQDefs.h
  • Frame_FrameHeader : FrameQDefs.h
  • FrameQ_alloc() : FrameQ.h
  • FrameQ_allocv() : FrameQ.h
  • FrameQ_close() : FrameQ.h
  • FrameQ_CommonOpenParams : FrameQ.h
  • FrameQ_Config : FrameQ.h
  • FrameQ_control() : FrameQ.h
  • FrameQ_CpuAccessFlags : FrameQ.h
  • FrameQ_CpuAccessFlags_Tag : FrameQ.h
  • FrameQ_create() : FrameQ.h
  • FrameQ_CreateParams : FrameQ.h
  • FrameQ_delete() : FrameQ.h
  • FrameQ_destroy() : FrameQ.h
  • FrameQ_dup() : FrameQ.h
  • FrameQ_E_ACCESSDENIED : FrameQ.h
  • FrameQ_E_ALLOC_FRAME : FrameQ.h
  • FrameQ_E_ALLOC_FRAMEBUF : FrameQ.h
  • FrameQ_E_ALLOC_MEMORY : FrameQ.h
  • FrameQ_E_ALREADYREGISTERED : FrameQ.h
  • FrameQ_E_CLIENTNOTIFYMGRREGCLIENT : FrameQ.h
  • FrameQ_E_CLIENTNOTIFYMGRUNREGCLIENT : FrameQ.h
  • FrameQ_E_CREATE_GATEMP : FrameQ.h
  • FrameQ_E_CREATE_NAMESERVER : FrameQ.h
  • FrameQ_E_EMPTY : FrameQ.h
  • FrameQ_E_FAIL : FrameQ.h
  • FrameQ_E_FAIL_CLIENTN0TIFYMGR_CREATE : FrameQ.h
  • FrameQ_E_FAIL_CLIENTN0TIFYMGR_OPEN : FrameQ.h
  • FrameQ_E_FAIL_NAMESERVERADD : FrameQ.h
  • FrameQ_E_FRAMEQBUFMGROPEN : FrameQ.h
  • FrameQ_E_FRAMEQBUFMGRREGCLIENT : FrameQ.h
  • FrameQ_E_FRAMEQBUFMGRUNREGCLIENT : FrameQ.h
  • FrameQ_E_INST_EXISTS : FrameQ.h
  • FrameQ_E_INSUFFICENT_FRAMES : FrameQ.h
  • FrameQ_E_INVALID_FRAMEQBUFMGRID : FrameQ.h
  • FrameQ_E_INVALID_INTERFACE : FrameQ.h
  • FrameQ_E_INVALIDARG : FrameQ.h
  • FrameQ_E_INVALIDSTATE : FrameQ.h
  • FrameQ_E_LISTMPOPEN : FrameQ.h
  • FrameQ_E_MAX_READERS : FrameQ.h
  • FrameQ_E_MEMORY : FrameQ.h
  • FrameQ_E_NAMESERVERADD : FrameQ.h
  • FrameQ_E_NOTFOUND : FrameQ.h
  • FrameQ_E_NOTIMPLEMENTED : FrameQ.h
  • FrameQ_E_OPEN_GATEMP : FrameQ.h
  • FrameQ_E_OPEN_NAMESERVER : FrameQ.h
  • FrameQ_E_OSFAILURE : FrameQ.h
  • FrameQ_E_WRITER_EXISTS : FrameQ.h
  • FrameQ_Frame : FrameQ.h
  • FrameQ_FRAMEBUF0_CPUACCESS : FrameQ.h
  • FrameQ_FRAMEBUF1_CPUACCESS : FrameQ.h
  • FrameQ_FRAMEBUF2_CPUACCESS : FrameQ.h
  • FrameQ_FRAMEBUF3_CPUACCESS : FrameQ.h
  • FrameQ_FRAMEBUF4_CPUACCESS : FrameQ.h
  • FrameQ_FRAMEBUF5_CPUACCESS : FrameQ.h
  • FrameQ_FRAMEBUF6_CPUACCESS : FrameQ.h
  • FrameQ_FRAMEBUF7_CPUACCESS : FrameQ.h
  • FrameQ_FrameBufInfo : FrameQ.h
  • FrameQ_FrameHeader : FrameQ.h
  • FrameQ_free() : FrameQ.h
  • FrameQ_freev() : FrameQ.h
  • FrameQ_get() : FrameQ.h
  • FrameQ_getConfig() : FrameQ.h
  • FrameQ_getExtendedHeaderPtr() : FrameQ.h
  • FrameQ_getFrameBufDataStartOffset() : FrameQ.h
  • FrameQ_getFrameBuffer() : FrameQ.h
  • FrameQ_getFrameBufSize() : FrameQ.h
  • FrameQ_getFrameBufValidSize() : FrameQ.h
  • FrameQ_getNumFrameBuffers() : FrameQ.h
  • FrameQ_getNumFrames() : FrameQ.h
  • FrameQ_getNumFreeFrames() : FrameQ.h
  • FrameQ_getv() : FrameQ.h
  • FrameQ_getvNumFrames() : FrameQ.h
  • FrameQ_getvNumFreeFrames() : FrameQ.h
  • FrameQ_Handle : FrameQ.h
  • FrameQ_Interface : FrameQ.h
  • FrameQ_INTERFACE_NONE : FrameQ.h
  • FrameQ_INTERFACE_SHAREDMEM : FrameQ.h
  • FrameQ_Interface_Tag : FrameQ.h
  • FrameQ_isSupportedInterface() : FrameQ.h
  • FrameQ_MAX_FRAMESINVAPI : FrameQDefs.h
  • FrameQ_MAX_INST_READERS : FrameQ.h
  • FrameQ_MAX_INSTANCES : FrameQ.h
  • FrameQ_MAX_NAMELEN : FrameQ.h
  • FrameQ_MAXFILLEDQUEUS_FOR_READER : FrameQ.h
  • FrameQ_MODE_NONE : FrameQ.h
  • FrameQ_MODE_READER : FrameQ.h
  • FrameQ_MODE_WRITER : FrameQ.h
  • FrameQ_NOTIFICATION_ALWAYS : FrameQ.h
  • FrameQ_NOTIFICATION_HDWRFIFO_ALWAYS : FrameQ.h
  • FrameQ_NOTIFICATION_HDWRFIFO_ONCE : FrameQ.h
  • FrameQ_NOTIFICATION_NONE : FrameQ.h
  • FrameQ_NOTIFICATION_ONCE : FrameQ.h
  • FrameQ_NOTIFY_RESERVED_EVENTNO : FrameQ.h
  • FrameQ_NotifyFunc : FrameQ.h
  • FrameQ_NotifyMsg : FrameQ.h
  • FrameQ_NotifyParams : FrameQ.h
  • FrameQ_NotifyType : FrameQ.h
  • FrameQ_NotifyType_Tag : FrameQ.h
  • FrameQ_open() : FrameQ.h
  • FrameQ_openByAddr() : FrameQ.h
  • FrameQ_OpenMode : FrameQ.h
  • FrameQ_OpenMode_Tag : FrameQ.h
  • FrameQ_Params : FrameQ.h
  • FrameQ_put() : FrameQ.h
  • FrameQ_putv() : FrameQ.h
  • FrameQ_registerNotifier() : FrameQ.h
  • FrameQ_S_ALREADYDESTROYED : FrameQ.h
  • FrameQ_S_ALREADYSETUP : FrameQ.h
  • FrameQ_S_SUCCESS : FrameQ.h
  • FrameQ_sendNotify() : FrameQ.h
  • FrameQ_setFrameBufDataStartOffset() : FrameQ.h
  • FrameQ_setFrameBufValidSize() : FrameQ.h
  • FrameQ_setup() : FrameQ.h
  • FrameQ_ShMem_Config : FrameQ_ShMem.h
  • FrameQ_ShMem_destroy() : FrameQ_ShMem.h
  • FrameQ_ShMem_getConfig() : FrameQ_ShMem.h
  • FrameQ_ShMem_OpenParams : FrameQ_ShMem.h
  • FrameQ_ShMem_Params : FrameQ_ShMem.h
  • FrameQ_ShMem_Params_init() : FrameQ_ShMem.h
  • FrameQ_ShMem_setup() : FrameQ_ShMem.h
  • FrameQ_ShMem_sharedMemReq() : FrameQ_ShMem.h
  • FrameQ_unregisterNotifier() : FrameQ.h
  • FrameQBufMgr_add() : FrameQBufMgr.h
  • FrameQBufMgr_AddrType : FrameQBufMgr.h
  • FrameQBufMgr_AddrType_EndValue : FrameQBufMgr.h
  • FrameQBufMgr_AddrType_Portable : FrameQBufMgr.h
  • FrameQBufMgr_AddrType_Tag : FrameQBufMgr.h
  • FrameQBufMgr_AddrType_Virtual : FrameQBufMgr.h
  • FrameQBufMgr_alloc() : FrameQBufMgr.h
  • FrameQBufMgr_allocv() : FrameQBufMgr.h
  • FrameQBufMgr_BUF_ENDVALUE : FrameQBufMgr.h
  • FrameQBufMgr_BUF_FRAMEBUF : FrameQBufMgr.h
  • FrameQBufMgr_BUF_FRAMEHEADER : FrameQBufMgr.h
  • FrameQBufMgr_BUFINTERFACE_NONE : FrameQBufMgr.h
  • FrameQBufMgr_BUFINTERFACE_SHAREDMEM : FrameQBufMgr.h
  • FrameQBufMgr_BUFINTERFACE_TILERMEM : FrameQBufMgr.h
  • FrameQBufMgr_BufType : FrameQBufMgr.h
  • FrameQBufMgr_BufType_Tag : FrameQBufMgr.h
  • FRAMEQBUFMGR_CACHE_LINESIZE : FrameQBufMgrDefs.h
  • FrameQBufMgr_close() : FrameQBufMgr.h
  • FrameQBufMgr_CommonOpenParams : FrameQBufMgr.h
  • FrameQBufMgr_Config : FrameQBufMgr.h
  • FrameQBufMgr_control() : FrameQBufMgr.h
  • FrameQBufMgr_CpuAccessFlags : FrameQBufMgr.h
  • FrameQBufMgr_CpuAccessFlags_Tag : FrameQBufMgr.h
  • FrameQBufMgr_create() : FrameQBufMgr.h
  • FrameQBufMgr_CreateParams : FrameQBufMgr.h
  • FrameQBufMgr_delete() : FrameQBufMgr.h
  • FrameQBufMgr_destroy() : FrameQBufMgr.h
  • FrameQBufMgr_dup() : FrameQBufMgr.h
  • FrameQBufMgr_dupv() : FrameQBufMgr.h
  • FrameQBufMgr_E_ACCESSDENIED : FrameQBufMgr.h
  • FrameQBufMgr_E_ALLOC_ALLFRAMES : FrameQBufMgr.h
  • FrameQBufMgr_E_ALLOC_BUF : FrameQBufMgr.h
  • FrameQBufMgr_E_ALLOC_FRAME : FrameQBufMgr.h
  • FrameQBufMgr_E_ALLOC_MEMORY : FrameQBufMgr.h
  • FrameQBufMgr_E_CLIENTN0TIFYMGR_OPEN : FrameQBufMgr.h
  • FrameQBufMgr_E_CREATE_GATEMP : FrameQBufMgr.h
  • FrameQBufMgr_E_CREATE_NAMESERVER : FrameQBufMgr.h
  • FrameQBufMgr_E_FAIL : FrameQBufMgr.h
  • FrameQBufMgr_E_FAIL_CLIENTN0TIFYMGR_CREATE : FrameQBufMgr.h
  • FrameQBufMgr_E_INST_EXISTS : FrameQBufMgr.h
  • FrameQBufMgr_E_INSUFFICIENT_HDRBUFS : FrameQBufMgr.h
  • FrameQBufMgr_E_INVALID_BUFINTERFACETYPE : FrameQBufMgr.h
  • FrameQBufMgr_E_INVALID_HDRINTERFACETYPE : FrameQBufMgr.h
  • FrameQBufMgr_E_INVALID_INTERFACE : FrameQBufMgr.h
  • FrameQBufMgr_E_INVALID_MEMMGRTYPE : FrameQBufMgr.h
  • FrameQBufMgr_E_INVALIDARG : FrameQBufMgr.h
  • FrameQBufMgr_E_INVALIDSTATE : FrameQBufMgr.h
  • FrameQBufMgr_E_MAX_CLIENTS : FrameQBufMgr.h
  • FrameQBufMgr_E_MAXINSTANCES : FrameQBufMgr.h
  • FrameQBufMgr_E_NAMESERVERADD : FrameQBufMgr.h
  • FrameQBufMgr_E_NOTFOUND : FrameQBufMgr.h
  • FrameQBufMgr_E_NOTIMPLEMENTED : FrameQBufMgr.h
  • FrameQBufMgr_E_OPEN_GATEMP : FrameQBufMgr.h
  • FrameQBufMgr_E_OPEN_NAMESERVER : FrameQBufMgr.h
  • FrameQBufMgr_E_OSFAILURE : FrameQBufMgr.h
  • FrameQBufMgr_Frame : FrameQBufMgr.h
  • FrameQBufMgr_FRAMEBUF0_CPUACCESS : FrameQBufMgr.h
  • FrameQBufMgr_FRAMEBUF1_CPUACCESS : FrameQBufMgr.h
  • FrameQBufMgr_FRAMEBUF2_CPUACCESS : FrameQBufMgr.h
  • FrameQBufMgr_FRAMEBUF3_CPUACCESS : FrameQBufMgr.h
  • FrameQBufMgr_FRAMEBUF4_CPUACCESS : FrameQBufMgr.h
  • FrameQBufMgr_FRAMEBUF5_CPUACCESS : FrameQBufMgr.h
  • FrameQBufMgr_FRAMEBUF6_CPUACCESS : FrameQBufMgr.h
  • FrameQBufMgr_FRAMEBUF7_CPUACCESS : FrameQBufMgr.h
  • FrameQBufMgr_FrameBufferInterface : FrameQBufMgr.h
  • FrameQBufMgr_FrameBufferInterface_Tag : FrameQBufMgr.h
  • FrameQBufMgr_FrameBufInfo : FrameQBufMgr.h
  • FrameQBufMgr_FrameBufParams : FrameQBufMgr.h
  • FrameQBufMgr_FrameHeader : FrameQBufMgr.h
  • FrameQBufMgr_FrameHeaderInterface : FrameQBufMgr.h
  • FrameQBufMgr_FrameHeaderInterface_Tag : FrameQBufMgr.h
  • FrameQBufMgr_free() : FrameQBufMgr.h
  • FrameQBufMgr_freev() : FrameQBufMgr.h
  • FrameQBufMgr_getBaseHeaderSize() : FrameQBufMgr.h
  • FrameQBufMgr_getConfig() : FrameQBufMgr.h
  • FrameQBufMgr_getHandle() : FrameQBufMgr.h
  • FrameQBufMgr_getId() : FrameQBufMgr.h
  • FrameQBufMgr_getKnlHandle() : FrameQBufMgr.h
  • FrameQBufMgr_getNumFreeFrames() : FrameQBufMgr.h
  • FrameQBufMgr_Handle : FrameQBufMgr.h
  • FrameQBufMgr_HDRINTERFACE_NONE : FrameQBufMgr.h
  • FrameQBufMgr_HDRINTERFACE_SHAREDMEM : FrameQBufMgr.h
  • FrameQBufMgr_Interface : FrameQBufMgr.h
  • FrameQBufMgr_INTERFACE_NONE : FrameQBufMgr.h
  • FrameQBufMgr_INTERFACE_SHAREDMEM : FrameQBufMgr.h
  • FrameQBufMgr_Interface_Tag : FrameQBufMgr.h
  • FrameQBufMgr_invalidate() : FrameQBufMgr.h
  • FrameQBufMgr_invalidateFrameBuf() : FrameQBufMgr.h
  • FrameQBufMgr_invalidateHeaderBuf() : FrameQBufMgr.h
  • FrameQBufMgr_isCacheEnabledForFrameBuf() : FrameQBufMgr.h
  • FrameQBufMgr_isCacheEnabledForHeaderBuf() : FrameQBufMgr.h
  • FrameQBufMgr_MAX_FRAMEBUFS : FrameQBufMgr.h
  • FrameQBufMgr_MAX_FRAMESINVAPI : FrameQBufMgr.h
  • FrameQBufMgr_MAX_POOLS : FrameQBufMgr.h
  • FrameQBufMgr_MAXINSTANCES : FrameQBufMgr.h
  • FrameQBufMgr_MAXNAMELEN : FrameQBufMgr.h
  • FrameQBufMgr_NOTIFY_RESERVED_EVENTNO : FrameQBufMgr.h
  • FrameQBufMgr_NotifyFunc : FrameQBufMgr.h
  • FrameQBufMgr_NotifyParams : FrameQBufMgr.h
  • FrameQBufMgr_open() : FrameQBufMgr.h
  • FrameQBufMgr_openByAddr() : FrameQBufMgr.h
  • FrameQBufMgr_Params : FrameQBufMgr.h
  • FrameQBufMgr_POOL_DYNAMIC_MAXFRAMES : FrameQBufMgr.h
  • FrameQBufMgr_POOL_DYNAMIC_MAXHDRS : FrameQBufMgr.h
  • FrameQBufMgr_POOL_MAXFRAMES : FrameQBufMgr.h
  • FrameQBufMgr_POOL_MAXHDRS : FrameQBufMgr.h
  • FrameQBufMgr_registerNotifier() : FrameQBufMgr.h
  • FrameQBufMgr_remove() : FrameQBufMgr.h
  • FrameQBufMgr_S_ALREADYDESTROYED : FrameQBufMgr.h
  • FrameQBufMgr_S_ALREADYSETUP : FrameQBufMgr.h
  • FrameQBufMgr_S_SUCCESS : FrameQBufMgr.h
  • FrameQBufMgr_setup() : FrameQBufMgr.h
  • FrameQBufMgr_ShMem_BUFINTERFACE_SHAREDMEM : FrameQBufMgr_ShMem.h
  • FrameQBufMgr_ShMem_BUFINTERFACE_TILERMEM : FrameQBufMgr_ShMem.h
  • FrameQBufMgr_ShMem_Config : FrameQBufMgr_ShMem.h
  • FrameQBufMgr_ShMem_destroy() : FrameQBufMgr_ShMem.h
  • FrameQBufMgr_ShMem_FrameBufParams : FrameQBufMgr_ShMem.h
  • FrameQBufMgr_ShMem_getConfig() : FrameQBufMgr_ShMem.h
  • FrameQBufMgr_ShMem_HDRINTERFACE_SHAREDMEM : FrameQBufMgr_ShMem.h
  • FrameQBufMgr_ShMem_OpenParams : FrameQBufMgr_ShMem.h
  • FrameQBufMgr_ShMem_Params : FrameQBufMgr_ShMem.h
  • FrameQBufMgr_ShMem_Params_init() : FrameQBufMgr_ShMem.h
  • FrameQBufMgr_ShMem_setup() : FrameQBufMgr_ShMem.h
  • FrameQBufMgr_ShMem_sharedMemReq() : FrameQBufMgr_ShMem.h
  • FrameQBufMgr_translateAddr() : FrameQBufMgr.h
  • FrameQBufMgr_unregisterNotifier() : FrameQBufMgr.h
  • FrameQBufMgr_writeBack() : FrameQBufMgr.h
  • FrameQBufMgr_writeBackBuf() : FrameQBufMgr.h
  • FrameQBufMgr_writeBackFrameBuf() : FrameQBufMgr.h
  • FrameQBufMgr_writeBackHeaderBuf() : FrameQBufMgr.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- g -

  • Gate_enterSystem() : Gate.h
  • Gate_leaveSystem() : Gate.h
  • Gate_systemHandle : Gate.h
  • GateMonitor_create() : GateMonitor.h
  • GateMonitor_delete() : GateMonitor.h
  • GateMonitor_E_BUSY : GateMonitor.h
  • GateMonitor_E_FAIL : GateMonitor.h
  • GateMonitor_E_HANDLE : GateMonitor.h
  • GateMonitor_E_INUSE : GateMonitor.h
  • GateMonitor_E_INVALIDARG : GateMonitor.h
  • GateMonitor_E_INVALIDSTATE : GateMonitor.h
  • GateMonitor_E_MEMORY : GateMonitor.h
  • GateMonitor_E_NOTFOUND : GateMonitor.h
  • GateMonitor_Handle : GateMonitor.h
  • GateMonitor_Object : GateMonitor.h
  • GateMonitor_Params : GateMonitor.h
  • GateMonitor_S_SUCCESS : GateMonitor.h
  • GateMP_close() : GateMP.h
  • GateMP_create() : GateMP.h
  • GateMP_delete() : GateMP.h
  • GateMP_E_ALREADYEXISTS : GateMP.h
  • GateMP_E_FAIL : GateMP.h
  • GateMP_E_INVALIDARG : GateMP.h
  • GateMP_E_INVALIDSTATE : GateMP.h
  • GateMP_E_MEMORY : GateMP.h
  • GateMP_E_NOTFOUND : GateMP.h
  • GateMP_E_OSFAILURE : GateMP.h
  • GateMP_E_RESOURCE : GateMP.h
  • GateMP_E_RESTART : GateMP.h
  • GateMP_E_TIMEOUT : GateMP.h
  • GateMP_enter() : GateMP.h
  • GateMP_getDefaultRemote() : GateMP.h
  • GateMP_getLocalProtect() : GateMP.h
  • GateMP_getRemoteProtect() : GateMP.h
  • GateMP_Handle : GateMP.h
  • GateMP_leave() : GateMP.h
  • GateMP_LocalProtect : GateMP.h
  • GateMP_LocalProtect_INTERRUPT : GateMP.h
  • GateMP_LocalProtect_NONE : GateMP.h
  • GateMP_LocalProtect_PROCESS : GateMP.h
  • GateMP_LocalProtect_TASKLET : GateMP.h
  • GateMP_LocalProtect_THREAD : GateMP.h
  • GateMP_open() : GateMP.h
  • GateMP_Params : GateMP.h
  • GateMP_Params_init() : GateMP.h
  • GateMP_RemoteProtect : GateMP.h
  • GateMP_RemoteProtect_CUSTOM1 : GateMP.h
  • GateMP_RemoteProtect_CUSTOM2 : GateMP.h
  • GateMP_RemoteProtect_NONE : GateMP.h
  • GateMP_RemoteProtect_SYSTEM : GateMP.h
  • GateMP_S_ALREADYSETUP : GateMP.h
  • GateMP_S_BUSY : GateMP.h
  • GateMP_S_SUCCESS : GateMP.h
  • GateMutex_create() : GateMutex.h
  • GateMutex_delete() : GateMutex.h
  • GateMutex_E_BUSY : GateMutex.h
  • GateMutex_E_FAIL : GateMutex.h
  • GateMutex_E_INUSE : GateMutex.h
  • GateMutex_E_INVALIDARG : GateMutex.h
  • GateMutex_E_INVALIDSTATE : GateMutex.h
  • GateMutex_E_MEMORY : GateMutex.h
  • GateMutex_E_NOTFOUND : GateMutex.h
  • GateMutex_Handle : GateMutex.h
  • GateMutex_Object : GateMutex.h
  • GateMutex_Params : GateMutex.h
  • GateMutex_S_SUCCESS : GateMutex.h
  • GateProcess_close() : GateProcess.h
  • GateProcess_create() : GateProcess.h
  • GateProcess_delete() : GateProcess.h
  • GateProcess_E_BUSY : GateProcess.h
  • GateProcess_E_FAIL : GateProcess.h
  • GateProcess_E_INUSE : GateProcess.h
  • GateProcess_E_INVALIDARG : GateProcess.h
  • GateProcess_E_INVALIDSTATE : GateProcess.h
  • GateProcess_E_MEMORY : GateProcess.h
  • GateProcess_E_NOTFOUND : GateProcess.h
  • GateProcess_enter() : GateProcess.h
  • GateProcess_Handle : GateProcess.h
  • GateProcess_leave() : GateProcess.h
  • GateProcess_Object : GateProcess.h
  • GateProcess_open() : GateProcess.h
  • GateProcess_Params_init() : GateProcess.h
  • GateProcess_S_SUCCESS : GateProcess.h
  • GateProcess_shMemSize() : GateProcess.h
  • GateSem_create() : GateSem.h
  • GateSem_delete() : GateSem.h
  • GateSem_E_BUSY : GateSem.h
  • GateSem_E_FAIL : GateSem.h
  • GateSem_E_HANDLE : GateSem.h
  • GateSem_E_INUSE : GateSem.h
  • GateSem_E_INVALIDARG : GateSem.h
  • GateSem_E_INVALIDSTATE : GateSem.h
  • GateSem_E_MEMORY : GateSem.h
  • GateSem_E_NOTFOUND : GateSem.h
  • GateSem_Handle : GateSem.h
  • GateSem_Object : GateSem.h
  • GateSem_Params : GateSem.h
  • GateSem_S_SUCCESS : GateSem.h
  • GateSpinlock_create() : GateSpinlock.h
  • GateSpinlock_delete() : GateSpinlock.h
  • GateSpinlock_E_BUSY : GateSpinlock.h
  • GateSpinlock_E_FAIL : GateSpinlock.h
  • GateSpinlock_E_HANDLE : GateSpinlock.h
  • GateSpinlock_E_INUSE : GateSpinlock.h
  • GateSpinlock_E_INVALIDARG : GateSpinlock.h
  • GateSpinlock_E_INVALIDSTATE : GateSpinlock.h
  • GateSpinlock_E_MEMORY : GateSpinlock.h
  • GateSpinlock_E_NOTFOUND : GateSpinlock.h
  • GateSpinlock_Handle : GateSpinlock.h
  • GateSpinlock_Object : GateSpinlock.h
  • GateSpinlock_Params : GateSpinlock.h
  • GateSpinlock_S_SUCCESS : GateSpinlock.h
  • GT_0trace : Trace.h
  • GT_1CLASS : Trace.h
  • GT_1trace : Trace.h
  • GT_2CLASS : Trace.h
  • GT_2trace : Trace.h
  • GT_3CLASS : Trace.h
  • GT_3trace : Trace.h
  • GT_4CLASS : Trace.h
  • GT_4trace : Trace.h
  • GT_5trace : Trace.h
  • GT_6trace : Trace.h
  • GT_assert : Trace.h
  • GT_ENTER : Trace.h
  • GT_LEAVE : Trace.h
  • GT_setFailureReason : Trace.h
  • GT_setTrace : Trace.h
  • GT_TraceClass : Trace.h
  • GT_TRACECLASS_MASK : Trace.h
  • GT_TRACECLASS_SHIFT : Trace.h
  • GT_TraceEnter : Trace.h
  • GT_TraceEnter_Disable : Trace.h
  • GT_TraceEnter_Enable : Trace.h
  • GT_TraceEnter_EndValue : Trace.h
  • GT_TRACEENTER_MASK : Trace.h
  • GT_TRACEENTER_SHIFT : Trace.h
  • GT_TraceSetFailure : Trace.h
  • GT_TraceSetFailure_Disable : Trace.h
  • GT_TraceSetFailure_Enable : Trace.h
  • GT_TraceSetFailure_EndValue : Trace.h
  • GT_TRACESETFAILURE_MASK : Trace.h
  • GT_TRACESETFAILURE_SHIFT : Trace.h
  • GT_TraceState : Trace.h
  • GT_TraceState_Disable : Trace.h
  • GT_TraceState_Enable : Trace.h
  • GT_TraceState_EndValue : Trace.h
  • GT_TRACESTATE_MASK : Trace.h
  • GT_TRACESTATE_SHIFT : Trace.h
  • GT_TraceType : Trace.h
  • GT_TraceType_EndValue : Trace.h
  • GT_TraceType_Kernel : Trace.h
  • GT_TraceType_User : Trace.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- h -

  • HeapBufMP_alloc() : HeapBufMP.h
  • HeapBufMP_close() : HeapBufMP.h
  • HeapBufMP_create() : HeapBufMP.h
  • HeapBufMP_delete() : HeapBufMP.h
  • HeapBufMP_E_ALREADYEXISTS : HeapBufMP.h
  • HeapBufMP_E_FAIL : HeapBufMP.h
  • HeapBufMP_E_INVALIDARG : HeapBufMP.h
  • HeapBufMP_E_INVALIDSTATE : HeapBufMP.h
  • HeapBufMP_E_MEMORY : HeapBufMP.h
  • HeapBufMP_E_NOTFOUND : HeapBufMP.h
  • HeapBufMP_E_OSFAILURE : HeapBufMP.h
  • HeapBufMP_E_RESOURCE : HeapBufMP.h
  • HeapBufMP_E_RESTART : HeapBufMP.h
  • HeapBufMP_E_TIMEOUT : HeapBufMP.h
  • HeapBufMP_ExtendedStats : HeapBufMP.h
  • HeapBufMP_free() : HeapBufMP.h
  • HeapBufMP_getExtendedStats() : HeapBufMP.h
  • HeapBufMP_getStats() : HeapBufMP.h
  • HeapBufMP_Handle : HeapBufMP.h
  • HeapBufMP_open() : HeapBufMP.h
  • HeapBufMP_Params : HeapBufMP.h
  • HeapBufMP_Params_init() : HeapBufMP.h
  • HeapBufMP_S_ALREADYSETUP : HeapBufMP.h
  • HeapBufMP_S_BUSY : HeapBufMP.h
  • HeapBufMP_S_SUCCESS : HeapBufMP.h
  • HeapMemMP_alloc() : HeapMemMP.h
  • HeapMemMP_close() : HeapMemMP.h
  • HeapMemMP_create() : HeapMemMP.h
  • HeapMemMP_delete() : HeapMemMP.h
  • HeapMemMP_E_ALREADYEXISTS : HeapMemMP.h
  • HeapMemMP_E_FAIL : HeapMemMP.h
  • HeapMemMP_E_INVALIDARG : HeapMemMP.h
  • HeapMemMP_E_INVALIDSTATE : HeapMemMP.h
  • HeapMemMP_E_MEMORY : HeapMemMP.h
  • HeapMemMP_E_NOTFOUND : HeapMemMP.h
  • HeapMemMP_E_OSFAILURE : HeapMemMP.h
  • HeapMemMP_E_RESOURCE : HeapMemMP.h
  • HeapMemMP_E_RESTART : HeapMemMP.h
  • HeapMemMP_E_TIMEOUT : HeapMemMP.h
  • HeapMemMP_ExtendedStats : HeapMemMP.h
  • HeapMemMP_free() : HeapMemMP.h
  • HeapMemMP_getExtendedStats() : HeapMemMP.h
  • HeapMemMP_getStats() : HeapMemMP.h
  • HeapMemMP_Handle : HeapMemMP.h
  • HeapMemMP_open() : HeapMemMP.h
  • HeapMemMP_Params : HeapMemMP.h
  • HeapMemMP_Params_init() : HeapMemMP.h
  • HeapMemMP_restore() : HeapMemMP.h
  • HeapMemMP_S_ALREADYSETUP : HeapMemMP.h
  • HeapMemMP_S_BUSY : HeapMemMP.h
  • HeapMemMP_S_SUCCESS : HeapMemMP.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- i -

  • IArg : Std.h
  • IGateProvider_ENTER : IGateProvider.h
  • IGateProvider_Handle : IGateProvider.h
  • IGateProvider_LEAVE : IGateProvider.h
  • IGateProvider_NULL : IGateProvider.h
  • IGateProvider_Object : IGateProvider.h
  • IGateProvider_ObjectInitializer : IGateProvider.h
  • IGateProvider_Q_BLOCKING : IGateProvider.h
  • IGateProvider_Q_PREEMPTING : IGateProvider.h
  • IGateProvider_SuperObject : IGateProvider.h
  • IHeap_allocFxn : IHeap.h
  • IHeap_freeFxn : IHeap.h
  • IHeap_getKnlHandleFxn : IHeap.h
  • IHeap_getStatsFxn : IHeap.h
  • IHeap_Handle : IHeap.h
  • IHeap_isBlockingFxn : IHeap.h
  • IHeap_Object : IHeap.h
  • Int : Std.h
  • Int16 : Std.h
  • Int32 : Std.h
  • Int8 : Std.h
  • Ipc_attach() : Ipc.h
  • Ipc_control() : IpcHost.h
  • Ipc_CONTROLCMD_LOADCALLBACK : IpcHost.h
  • Ipc_CONTROLCMD_SETTERMINATEPOLICY : IpcHost.h
  • Ipc_CONTROLCMD_STARTCALLBACK : IpcHost.h
  • Ipc_CONTROLCMD_STOPCALLBACK : IpcHost.h
  • Ipc_detach() : Ipc.h
  • Ipc_E_ALREADYEXISTS : Ipc.h
  • Ipc_E_FAIL : Ipc.h
  • Ipc_E_INVALIDARG : Ipc.h
  • Ipc_E_INVALIDSTATE : Ipc.h
  • Ipc_E_MEMORY : Ipc.h
  • Ipc_E_NOTFOUND : Ipc.h
  • Ipc_E_NOTREADY : Ipc.h
  • Ipc_E_OSFAILURE : Ipc.h
  • Ipc_E_RESOURCE : Ipc.h
  • Ipc_E_RESTART : Ipc.h
  • Ipc_E_TIMEOUT : Ipc.h
  • Ipc_isAttached() : Ipc.h
  • Ipc_readConfig() : Ipc.h
  • Ipc_runtimeId() : IpcHost.h
  • Ipc_S_ALREADYSETUP : Ipc.h
  • Ipc_S_BUSY : Ipc.h
  • Ipc_S_SUCCESS : Ipc.h
  • Ipc_start() : Ipc.h
  • Ipc_stop() : Ipc.h
  • Ipc_TERMINATEPOLICY_NOTIFY : IpcHost.h
  • Ipc_TERMINATEPOLICY_STOP : IpcHost.h
  • Ipc_writeConfig() : Ipc.h
  • IpcMemMgr_acquire() : IpcMemMgr.h
  • IpcMemMgr_alloc() : IpcMemMgr.h
  • IpcMemMgr_allocShmemHeap() : IpcMemMgr.h
  • IpcMemMgr_ALLOCTYPE_END : IpcMemMgr.h
  • IpcMemMgr_ALLOCTYPE_PHYS_CACHE : IpcMemMgr.h
  • IpcMemMgr_ALLOCTYPE_PHYS_NOCACHE : IpcMemMgr.h
  • IpcMemMgr_ALLOCTYPE_PSHMEM : IpcMemMgr.h
  • IpcMemMgr_Config : IpcMemMgr.h
  • IpcMemMgr_destroy() : IpcMemMgr.h
  • IpcMemMgr_E_FAIL : IpcMemMgr.h
  • IpcMemMgr_E_INVALIDARG : IpcMemMgr.h
  • IpcMemMgr_E_INVALIDSTATE : IpcMemMgr.h
  • IpcMemMgr_E_MEMORY : IpcMemMgr.h
  • IpcMemMgr_E_NOTFOUND : IpcMemMgr.h
  • IpcMemMgr_E_OSFAILURE : IpcMemMgr.h
  • IpcMemMgr_E_TOOMANYNAMEDALLOCS : IpcMemMgr.h
  • IpcMemMgr_E_WRONGSIZE : IpcMemMgr.h
  • IpcMemMgr_enterGate() : IpcMemMgr.h
  • IpcMemMgr_free() : IpcMemMgr.h
  • IpcMemMgr_freeShmemHeap() : IpcMemMgr.h
  • IpcMemMgr_freeShmemHeapByName() : IpcMemMgr.h
  • IpcMemMgr_getConfig() : IpcMemMgr.h
  • IpcMemMgr_getOffset() : IpcMemMgr.h
  • IpcMemMgr_getPtr() : IpcMemMgr.h
  • IpcMemMgr_leaveGate() : IpcMemMgr.h
  • IpcMemMgr_MAX_NAMELEN : IpcMemMgr.h
  • IpcMemMgr_MAXNAMEDBUFFERS : IpcMemMgr.h
  • IpcMemMgr_MemType : IpcMemMgr.h
  • IpcMemMgr_MODULEID : IpcMemMgr.h
  • IpcMemMgr_release() : IpcMemMgr.h
  • IpcMemMgr_S_ALREADYSETUP : IpcMemMgr.h
  • IpcMemMgr_S_NOTLAST : IpcMemMgr.h
  • IpcMemMgr_S_SUCCESS : IpcMemMgr.h
  • IpcMemMgr_setup() : IpcMemMgr.h
  • IpcMemMgr_SHAREDMEMNAME : IpcMemMgr.h
  • IpcMemMgr_SHPtr : IpcMemMgr.h
  • IS_VALID_PROCID : ProcMgr.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- l -

  • LDouble : Std.h
  • List_construct() : List.h
  • List_create() : List.h
  • List_delete() : List.h
  • List_dequeue() : List.h
  • List_destruct() : List.h
  • List_Elem : List.h
  • List_elemClear() : List.h
  • List_empty() : List.h
  • List_enqueue() : List.h
  • List_enqueueHead() : List.h
  • List_get() : List.h
  • List_Handle : List.h
  • List_insert() : List.h
  • List_next() : List.h
  • List_Object : List.h
  • List_Params : List.h
  • List_Params_init() : List.h
  • List_prev() : List.h
  • List_put() : List.h
  • List_putHead() : List.h
  • List_remove() : List.h
  • List_traverse : List.h
  • ListMP_close() : ListMP.h
  • ListMP_create() : ListMP.h
  • ListMP_delete() : ListMP.h
  • ListMP_E_ALREADYEXISTS : ListMP.h
  • ListMP_E_FAIL : ListMP.h
  • ListMP_E_INVALIDARG : ListMP.h
  • ListMP_E_INVALIDSTATE : ListMP.h
  • ListMP_E_MEMORY : ListMP.h
  • ListMP_E_NOTFOUND : ListMP.h
  • ListMP_E_OSFAILURE : ListMP.h
  • ListMP_E_RESOURCE : ListMP.h
  • ListMP_E_RESTART : ListMP.h
  • ListMP_E_TIMEOUT : ListMP.h
  • ListMP_Elem : ListMP.h
  • ListMP_empty() : ListMP.h
  • ListMP_getGate() : ListMP.h
  • ListMP_getHead() : ListMP.h
  • ListMP_getTail() : ListMP.h
  • ListMP_Handle : ListMP.h
  • ListMP_insert() : ListMP.h
  • ListMP_next() : ListMP.h
  • ListMP_open() : ListMP.h
  • ListMP_Params : ListMP.h
  • ListMP_Params_init() : ListMP.h
  • ListMP_prev() : ListMP.h
  • ListMP_putHead() : ListMP.h
  • ListMP_putTail() : ListMP.h
  • ListMP_remove() : ListMP.h
  • ListMP_S_ALREADYSETUP : ListMP.h
  • ListMP_S_BUSY : ListMP.h
  • ListMP_S_SUCCESS : ListMP.h
  • Long : Std.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- m -

  • MEMMGR_MAX_NAME_LENGTH : SyslinkMemMgr.h
  • MEMMGR_MAX_TILER_BLOCKS : SyslinkMemMgr.h
  • Memory_alloc() : Memory.h
  • Memory_calloc() : Memory.h
  • Memory_copy : Memory.h
  • Memory_free() : Memory.h
  • Memory_getMaxDefaultTypeAlign() : Memory.h
  • Memory_getStats() : Memory.h
  • Memory_Q_BLOCKING : Memory.h
  • Memory_query() : Memory.h
  • Memory_set : Memory.h
  • Memory_Stats : MemoryDefs.h
  • Memory_valloc() : Memory.h
  • MemoryOS_alloc() : MemoryOS.h
  • MemoryOS_CacheFlags : MemoryDefs.h
  • MemoryOS_CacheFlags_Cached : MemoryDefs.h
  • MemoryOS_CacheFlags_Default : MemoryDefs.h
  • MemoryOS_CacheFlags_EndValue : MemoryDefs.h
  • MemoryOS_CacheFlags_Uncached : MemoryDefs.h
  • MemoryOS_calloc() : MemoryOS.h
  • MemoryOS_copy() : MemoryOS.h
  • MemoryOS_destroy() : MemoryOS.h
  • MemoryOS_free() : MemoryOS.h
  • MemoryOS_MemTypeFlags : MemoryDefs.h
  • MemoryOS_MemTypeFlags_Default : MemoryDefs.h
  • MemoryOS_MemTypeFlags_Dma : MemoryDefs.h
  • MemoryOS_MemTypeFlags_EndValue : MemoryDefs.h
  • MemoryOS_MemTypeFlags_Physical : MemoryDefs.h
  • MemoryOS_set() : MemoryOS.h
  • MemoryOS_setup() : MemoryOS.h
  • MemoryOS_translate() : MemoryOS.h
  • MessageQ_alloc() : MessageQ.h
  • MessageQ_close() : MessageQ.h
  • MessageQ_count() : MessageQ.h
  • MessageQ_create() : MessageQ.h
  • MessageQ_delete() : MessageQ.h
  • MessageQ_E_ALREADYEXISTS : MessageQ.h
  • MessageQ_E_CANNOTFREESTATICMSG : MessageQ.h
  • MessageQ_E_FAIL : MessageQ.h
  • MessageQ_E_INVALIDARG : MessageQ.h
  • MessageQ_E_INVALIDHEAPID : MessageQ.h
  • MessageQ_E_INVALIDMSG : MessageQ.h
  • MessageQ_E_INVALIDPROCID : MessageQ.h
  • MessageQ_E_INVALIDSTATE : MessageQ.h
  • MessageQ_E_MAXREACHED : MessageQ.h
  • MessageQ_E_MEMORY : MessageQ.h
  • MessageQ_E_NOTFOUND : MessageQ.h
  • MessageQ_E_NOTOWNER : MessageQ.h
  • MessageQ_E_OSFAILURE : MessageQ.h
  • MessageQ_E_REMOTEACTIVE : MessageQ.h
  • MessageQ_E_RESOURCE : MessageQ.h
  • MessageQ_E_RESTART : MessageQ.h
  • MessageQ_E_TIMEOUT : MessageQ.h
  • MessageQ_E_UNBLOCKED : MessageQ.h
  • MessageQ_E_UNREGISTEREDHEAPID : MessageQ.h
  • MessageQ_FOREVER : MessageQ.h
  • MessageQ_free() : MessageQ.h
  • MessageQ_get() : MessageQ.h
  • MessageQ_getDstQueue : MessageQ.h
  • MessageQ_getMsgId : MessageQ.h
  • MessageQ_getMsgPri : MessageQ.h
  • MessageQ_getMsgSize : MessageQ.h
  • MessageQ_getProcId : MessageQ.h
  • MessageQ_getQueueId() : MessageQ.h
  • MessageQ_getReplyQueue : MessageQ.h
  • MessageQ_Handle : MessageQ.h
  • MessageQ_HIGHPRI : MessageQ.h
  • MessageQ_INVALIDMESSAGEQ : MessageQ.h
  • MessageQ_INVALIDMSGID : MessageQ.h
  • MessageQ_Msg : MessageQ.h
  • MessageQ_NORMALPRI : MessageQ.h
  • MessageQ_open() : MessageQ.h
  • MessageQ_Params_init() : MessageQ.h
  • MessageQ_Priority : MessageQ.h
  • MessageQ_PRIORITYMASK : MessageQ.h
  • MessageQ_put() : MessageQ.h
  • MessageQ_QueueId : MessageQ.h
  • MessageQ_QueueIndex : MessageQ.h
  • MessageQ_registerHeap() : MessageQ.h
  • MessageQ_RESERVEDPRI : MessageQ.h
  • MessageQ_S_ALREADYSETUP : MessageQ.h
  • MessageQ_S_BUSY : MessageQ.h
  • MessageQ_S_SUCCESS : MessageQ.h
  • MessageQ_setMsgId : MessageQ.h
  • MessageQ_setMsgPri : MessageQ.h
  • MessageQ_setMsgTrace() : MessageQ.h
  • MessageQ_setReplyQueue() : MessageQ.h
  • MessageQ_staticMsgInit() : MessageQ.h
  • MessageQ_unblock() : MessageQ.h
  • MessageQ_unregisterHeap() : MessageQ.h
  • MessageQ_URGENTPRI : MessageQ.h
  • MultiProc_E_ALREADYEXISTS : MultiProc.h
  • MultiProc_E_FAIL : MultiProc.h
  • MultiProc_E_INVALIDARG : MultiProc.h
  • MultiProc_E_INVALIDSTATE : MultiProc.h
  • MultiProc_E_MEMORY : MultiProc.h
  • MultiProc_E_NOTFOUND : MultiProc.h
  • MultiProc_E_OSFAILURE : MultiProc.h
  • MultiProc_E_RESOURCE : MultiProc.h
  • MultiProc_E_RESTART : MultiProc.h
  • MultiProc_E_TIMEOUT : MultiProc.h
  • MultiProc_getBaseIdOfCluster() : MultiProc.h
  • MultiProc_getId() : MultiProc.h
  • MultiProc_getName() : MultiProc.h
  • MultiProc_getNumProcessors() : MultiProc.h
  • MultiProc_getNumProcsInCluster() : MultiProc.h
  • MultiProc_INVALIDID : MultiProc.h
  • MultiProc_S_ALREADYSETUP : MultiProc.h
  • MultiProc_S_BUSY : MultiProc.h
  • MultiProc_S_SUCCESS : MultiProc.h
  • MultiProc_self() : MultiProc.h
  • MultiProc_setBaseIdOfCluster() : MultiProc.h
  • MultiProc_setLocalId() : MultiProc.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- n -

  • NameServer_add() : NameServer.h
  • NameServer_addUInt32() : NameServer.h
  • NameServer_ALLOWGROWTH : NameServer.h
  • NameServer_create() : NameServer.h
  • NameServer_delete() : NameServer.h
  • NameServer_E_ALREADYEXISTS : NameServer.h
  • NameServer_E_FAIL : NameServer.h
  • NameServer_E_INVALIDARG : NameServer.h
  • NameServer_E_INVALIDSTATE : NameServer.h
  • NameServer_E_MEMORY : NameServer.h
  • NameServer_E_NOTFOUND : NameServer.h
  • NameServer_E_OSFAILURE : NameServer.h
  • NameServer_E_RESOURCE : NameServer.h
  • NameServer_E_RESTART : NameServer.h
  • NameServer_E_TIMEOUT : NameServer.h
  • NameServer_get() : NameServer.h
  • NameServer_getHandle() : NameServer.h
  • NameServer_getLocal() : NameServer.h
  • NameServer_getLocalUInt32() : NameServer.h
  • NameServer_getUInt32() : NameServer.h
  • NameServer_Handle : NameServer.h
  • NameServer_Params : NameServer.h
  • NameServer_Params_init() : NameServer.h
  • NameServer_Params_MAXNAMELEN : NameServer.h
  • NameServer_remove() : NameServer.h
  • NameServer_removeEntry() : NameServer.h
  • NameServer_S_ALREADYSETUP : NameServer.h
  • NameServer_S_BUSY : NameServer.h
  • NameServer_S_SUCCESS : NameServer.h
  • Notify_attach() : Notify.h
  • Notify_disable() : Notify.h
  • Notify_disableEvent() : Notify.h
  • Notify_E_ALREADYEXISTS : Notify.h
  • Notify_E_ALREADYSETUP : Notify.h
  • Notify_E_BUSY : Notify.h
  • Notify_E_DRIVERNOTREGISTERED : Notify.h
  • Notify_E_EVTDISABLED : Notify.h
  • Notify_E_EVTNOTREGISTERED : Notify.h
  • Notify_E_EVTRESERVED : Notify.h
  • Notify_E_FAIL : Notify.h
  • Notify_E_INVALIDARG : Notify.h
  • Notify_E_INVALIDSTATE : Notify.h
  • Notify_E_MEMORY : Notify.h
  • Notify_E_NOTFOUND : Notify.h
  • Notify_E_NOTINITIALIZED : Notify.h
  • Notify_E_OSFAILURE : Notify.h
  • Notify_E_RESOURCE : Notify.h
  • Notify_E_RESTART : Notify.h
  • Notify_E_TIMEOUT : Notify.h
  • Notify_enableEvent() : Notify.h
  • Notify_eventAvailable() : Notify.h
  • Notify_FnNotifyCbck : Notify.h
  • Notify_intLineRegistered() : Notify.h
  • Notify_MAX_INTLINES : Notify.h
  • Notify_MAXEVENTS : Notify.h
  • Notify_numIntLines() : Notify.h
  • Notify_registerEvent() : Notify.h
  • Notify_registerEventSingle() : Notify.h
  • Notify_restore() : Notify.h
  • Notify_S_ALREADYSETUP : Notify.h
  • Notify_S_BUSY : Notify.h
  • Notify_S_SUCCESS : Notify.h
  • Notify_sendEvent() : Notify.h
  • Notify_SYSTEMKEY : Notify.h
  • Notify_unregisterEvent() : Notify.h
  • Notify_unregisterEventSingle() : Notify.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- o -

  • Osal_printf() : OsalPrint.h
  • OSALPRINT_MODULEID : OsalPrint.h
  • OsalSemaphore_create() : OsalSemaphore.h
  • OsalSemaphore_delete() : OsalSemaphore.h
  • OSALSEMAPHORE_E_FAIL : OsalSemaphore.h
  • OSALSEMAPHORE_E_HANDLE : OsalSemaphore.h
  • OSALSEMAPHORE_E_INVALIDARG : OsalSemaphore.h
  • OSALSEMAPHORE_E_MEMORY : OsalSemaphore.h
  • OSALSEMAPHORE_E_RESOURCE : OsalSemaphore.h
  • OSALSEMAPHORE_E_TIMEOUT : OsalSemaphore.h
  • OSALSEMAPHORE_E_WAITNONE : OsalSemaphore.h
  • OsalSemaphore_Handle : OsalSemaphore.h
  • OsalSemaphore_IntType : OsalSemaphore.h
  • OsalSemaphore_IntType_EndValue : OsalSemaphore.h
  • OsalSemaphore_IntType_Interruptible : OsalSemaphore.h
  • OsalSemaphore_IntType_Noninterruptible : OsalSemaphore.h
  • OSALSEMAPHORE_INTTYPE_VALUE : OsalSemaphore.h
  • OSALSEMAPHORE_MAKE_FAILURE : OsalSemaphore.h
  • OSALSEMAPHORE_MAKE_SUCCESS : OsalSemaphore.h
  • OSALSEMAPHORE_MODULEID : OsalSemaphore.h
  • OsalSemaphore_pend() : OsalSemaphore.h
  • OsalSemaphore_post() : OsalSemaphore.h
  • OSALSEMAPHORE_STATUSCODEBASE : OsalSemaphore.h
  • OSALSEMAPHORE_SUCCESS : OsalSemaphore.h
  • OsalSemaphore_Type : OsalSemaphore.h
  • OsalSemaphore_Type_Binary : OsalSemaphore.h
  • OsalSemaphore_Type_Counting : OsalSemaphore.h
  • OsalSemaphore_Type_EndValue : OsalSemaphore.h
  • OSALSEMAPHORE_TYPE_VALUE : OsalSemaphore.h
  • OSALSEMAPHORE_WAIT_FOREVER : OsalSemaphore.h
  • OSALSEMAPHORE_WAIT_NONE : OsalSemaphore.h
  • OSALTRACE_MODULEID : Trace.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- p -

  • ProcMgr_AddrInfo : ProcMgr.h
  • ProcMgr_AddrType : ProcMgr.h
  • ProcMgr_AddrType_EndValue : ProcMgr.h
  • ProcMgr_AddrType_MasterKnlVirt : ProcMgr.h
  • ProcMgr_AddrType_MasterPhys : ProcMgr.h
  • ProcMgr_AddrType_MasterUsrVirt : ProcMgr.h
  • ProcMgr_AddrType_SlavePhys : ProcMgr.h
  • ProcMgr_AddrType_SlaveVirt : ProcMgr.h
  • ProcMgr_attach() : ProcMgr.h
  • ProcMgr_AttachParams : ProcMgr.h
  • ProcMgr_BootMode : ProcMgr.h
  • ProcMgr_BootMode_Boot : ProcMgr.h
  • ProcMgr_BootMode_EndValue : ProcMgr.h
  • ProcMgr_BootMode_NoBoot : ProcMgr.h
  • ProcMgr_BootMode_NoLoad_NoPwr : ProcMgr.h
  • ProcMgr_BootMode_NoLoad_Pwr : ProcMgr.h
  • ProcMgr_close() : ProcMgr.h
  • ProcMgr_control() : ProcMgr.h
  • ProcMgr_detach() : ProcMgr.h
  • ProcMgr_E_ACCESSDENIED : ProcMgr.h
  • ProcMgr_E_ALREADYEXISTS : ProcMgr.h
  • ProcMgr_E_FAIL : ProcMgr.h
  • ProcMgr_E_HANDLE : ProcMgr.h
  • ProcMgr_E_INVALIDARG : ProcMgr.h
  • ProcMgr_E_INVALIDSTATE : ProcMgr.h
  • ProcMgr_E_MAP : ProcMgr.h
  • ProcMgr_E_MEMORY : ProcMgr.h
  • ProcMgr_E_NOTFOUND : ProcMgr.h
  • ProcMgr_E_OSFAILURE : ProcMgr.h
  • ProcMgr_E_RESOURCE : ProcMgr.h
  • ProcMgr_E_RESTART : ProcMgr.h
  • ProcMgr_E_SYMBOLNOTFOUND : ProcMgr.h
  • ProcMgr_E_TIMEOUT : ProcMgr.h
  • ProcMgr_E_TRANSLATE : ProcMgr.h
  • ProcMgr_getAttachParams() : ProcMgr.h
  • ProcMgr_getLoadedFileId() : ProcMgr.h
  • ProcMgr_getMaxMemoryRegions() : ProcMgr.h
  • ProcMgr_getProcInfo() : ProcMgr.h
  • ProcMgr_getSectionData() : ProcMgr.h
  • ProcMgr_getSectionInfo() : ProcMgr.h
  • ProcMgr_getStartParams() : ProcMgr.h
  • ProcMgr_getState() : ProcMgr.h
  • ProcMgr_getSymbolAddress() : ProcMgr.h
  • ProcMgr_Handle : ProcMgr.h
  • ProcMgr_load() : ProcMgr.h
  • ProcMgr_map() : ProcMgr.h
  • ProcMgr_MapMask : ProcMgr.h
  • ProcMgr_MappedMemEntry : ProcMgr.h
  • ProcMgr_MASTERKNLVIRT : ProcMgr.h
  • ProcMgr_MASTERUSRVIRT : ProcMgr.h
  • ProcMgr_open() : ProcMgr.h
  • ProcMgr_ProcInfo : ProcMgr.h
  • ProcMgr_read() : ProcMgr.h
  • ProcMgr_S_ALREADYEXISTS : ProcMgr.h
  • ProcMgr_S_ALREADYSETUP : ProcMgr.h
  • ProcMgr_S_BUSY : ProcMgr.h
  • ProcMgr_S_OPENHANDLE : ProcMgr.h
  • ProcMgr_S_SETUP : ProcMgr.h
  • ProcMgr_S_SUCCESS : ProcMgr.h
  • ProcMgr_SectionInfo : ProcMgr.h
  • ProcMgr_SLAVEVIRT : ProcMgr.h
  • ProcMgr_start() : ProcMgr.h
  • ProcMgr_StartParams : ProcMgr.h
  • ProcMgr_State : ProcMgr.h
  • ProcMgr_State_EndValue : ProcMgr.h
  • ProcMgr_State_Loaded : ProcMgr.h
  • ProcMgr_State_Powered : ProcMgr.h
  • ProcMgr_State_Reset : ProcMgr.h
  • ProcMgr_State_Running : ProcMgr.h
  • ProcMgr_State_Unavailable : ProcMgr.h
  • ProcMgr_State_Unknown : ProcMgr.h
  • ProcMgr_stop() : ProcMgr.h
  • ProcMgr_translateAddr() : ProcMgr.h
  • ProcMgr_unload() : ProcMgr.h
  • ProcMgr_unmap() : ProcMgr.h
  • ProcMgr_write() : ProcMgr.h
  • Ptr : Std.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- r -

  • ResTrack_create() : ResTrack.h
  • ResTrack_delete() : ResTrack.h
  • ResTrack_E_FAIL : ResTrack.h
  • ResTrack_E_MEMORY : ResTrack.h
  • ResTrack_E_NOTFOUND : ResTrack.h
  • ResTrack_E_PID : ResTrack.h
  • ResTrack_Fxn : ResTrack.h
  • ResTrack_Handle : ResTrack.h
  • ResTrack_Params_init() : ResTrack.h
  • ResTrack_pop() : ResTrack.h
  • ResTrack_push() : ResTrack.h
  • ResTrack_register() : ResTrack.h
  • ResTrack_remove() : ResTrack.h
  • ResTrack_S_SUCCESS : ResTrack.h
  • ResTrack_unregister() : ResTrack.h
  • RingIO_acquire() : RingIO.h
  • RingIO_BufPtr : RingIO.h
  • RingIO_cancel() : RingIO.h
  • RingIO_close() : RingIO.h
  • RingIO_create() : RingIO.h
  • RingIO_DATABUF_MAINTAINCACHE : RingIO.h
  • RingIO_delete() : RingIO.h
  • RingIO_E_ALREADYEXISTS : RingIO.h
  • RingIO_E_BADVERSION : RingIO.h
  • RingIO_E_BUFEMPTY : RingIO.h
  • RingIO_E_BUFFULL : RingIO.h
  • RingIO_E_BUFWRAP : RingIO.h
  • RingIO_E_FAIL : RingIO.h
  • RingIO_E_INUSE : RingIO.h
  • RingIO_E_INVALIDARG : RingIO.h
  • RingIO_E_INVALIDCONTEXT : RingIO.h
  • RingIO_E_INVALIDHEAPID : RingIO.h
  • RingIO_E_INVALIDMSG : RingIO.h
  • RingIO_E_INVALIDPROCID : RingIO.h
  • RingIO_E_INVALIDSTATE : RingIO.h
  • RingIO_E_MAXREACHED : RingIO.h
  • RingIO_E_MEMORY : RingIO.h
  • RingIO_E_NOTFOUND : RingIO.h
  • RingIO_E_NOTIFYFAIL : RingIO.h
  • RingIO_E_NOTOWNER : RingIO.h
  • RingIO_E_OSFAILURE : RingIO.h
  • RingIO_E_PENDINGATTRIBUTE : RingIO.h
  • RingIO_E_PENDINGDATA : RingIO.h
  • RingIO_E_REMOTEACTIVE : RingIO.h
  • RingIO_E_RESOURCE : RingIO.h
  • RingIO_E_RESTART : RingIO.h
  • RingIO_E_TIMEOUT : RingIO.h
  • RingIO_E_VARIABLEATTRIBUTE : RingIO.h
  • RingIO_E_WRONGSTATE : RingIO.h
  • RingIO_Flags : RingIO.h
  • RingIO_Flags_tag : RingIO.h
  • RingIO_flush() : RingIO.h
  • RingIO_getAcquiredOffset() : RingIO.h
  • RingIO_getAcquiredSize() : RingIO.h
  • RingIO_getAttribute() : RingIO.h
  • RingIO_getEmptyAttrSize() : RingIO.h
  • RingIO_getEmptySize() : RingIO.h
  • RingIO_getValidAttrSize() : RingIO.h
  • RingIO_getValidSize() : RingIO.h
  • RingIO_getvAttribute() : RingIO.h
  • RingIO_getWaterMark() : RingIO.h
  • RingIO_Handle : RingIO.h
  • RingIO_MODE_READER : RingIO.h
  • RingIO_MODE_WRITER : RingIO.h
  • RingIO_NEED_EXACT_SIZE : RingIO.h
  • RingIO_NOTIFICATION_ALWAYS : RingIO.h
  • RingIO_NOTIFICATION_HDWRFIFO_ALWAYS : RingIO.h
  • RingIO_NOTIFICATION_HDWRFIFO_ONCE : RingIO.h
  • RingIO_NOTIFICATION_NONE : RingIO.h
  • RingIO_NOTIFICATION_ONCE : RingIO.h
  • RingIO_NotifyFxn : RingIO.h
  • RingIO_NotifyMsg : RingIO.h
  • RingIO_NotifyType : RingIO.h
  • RingIO_NotifyType_Tag : RingIO.h
  • RingIO_open() : RingIO.h
  • RingIO_openByAddr() : RingIO.h
  • RingIO_OpenMode : RingIO.h
  • RingIO_OpenMode_Tag : RingIO.h
  • RingIO_openParams : RingIO.h
  • RingIO_Params : RingIO.h
  • RingIO_Params_init() : RingIO.h
  • RingIO_registerNotifier() : RingIO.h
  • RingIO_release() : RingIO.h
  • RingIO_S_ALREADYSETUP : RingIO.h
  • RingIO_S_BUSY : RingIO.h
  • RingIO_S_NOTCONTIGUOUSDATA : RingIO.h
  • RingIO_S_PENDINGATTRIBUTE : RingIO.h
  • RingIO_S_SUCCESS : RingIO.h
  • RingIO_sendNotify() : RingIO.h
  • RingIO_setAttribute() : RingIO.h
  • RingIO_setNotifyType() : RingIO.h
  • RingIO_setvAttribute() : RingIO.h
  • RingIO_setWaterMark() : RingIO.h
  • RingIO_sharedMemReq() : RingIO.h
  • RingIO_sharedMemReqDetails : RingIO.h
  • RingIO_Type : RingIO.h
  • RingIO_Type_SHAREDMEM : RingIO.h
  • RingIO_Type_Tag : RingIO.h
  • RingIO_unregisterNotifier() : RingIO.h
  • RingIOShm_E_BADVERSION : RingIOShm.h
  • RingIOShm_E_BUFEMPTY : RingIOShm.h
  • RingIOShm_E_BUFFULL : RingIOShm.h
  • RingIOShm_E_BUFWRAP : RingIOShm.h
  • RingIOShm_E_FAIL : RingIOShm.h
  • RingIOShm_E_INVALIDARG : RingIOShm.h
  • RingIOShm_E_INVALIDCONTEXT : RingIOShm.h
  • RingIOShm_E_INVALIDPROCID : RingIOShm.h
  • RingIOShm_E_INVALIDSTATE : RingIOShm.h
  • RingIOShm_E_MEMORY : RingIOShm.h
  • RingIOShm_E_OSFAILURE : RingIOShm.h
  • RingIOShm_E_PENDINGDATA : RingIOShm.h
  • RingIOShm_E_VARIABLEATTRIBUTE : RingIOShm.h
  • RingIOShm_E_WRONGSTATE : RingIOShm.h
  • RingIOShm_MODULEID : RingIOShm.h
  • RingIOShm_Params : RingIOShm.h
  • RingIOShm_Params_init() : RingIOShm.h
  • RingIOShm_S_ALREADYSETUP : RingIOShm.h
  • RingIOShm_S_PENDINGATTRIBUTE : RingIOShm.h
  • RingIOShm_S_SUCCESS : RingIOShm.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- s -

  • SharedRegion_clearEntry() : SharedRegion.h
  • SharedRegion_E_ALREADYEXISTS : SharedRegion.h
  • SharedRegion_E_FAIL : SharedRegion.h
  • SharedRegion_E_INVALIDARG : SharedRegion.h
  • SharedRegion_E_INVALIDSTATE : SharedRegion.h
  • SharedRegion_E_MEMORY : SharedRegion.h
  • SharedRegion_E_NOTFOUND : SharedRegion.h
  • SharedRegion_E_OSFAILURE : SharedRegion.h
  • SharedRegion_E_RESOURCE : SharedRegion.h
  • SharedRegion_E_RESTART : SharedRegion.h
  • SharedRegion_E_TIMEOUT : SharedRegion.h
  • SharedRegion_Entry : SharedRegion.h
  • SharedRegion_entryInit() : SharedRegion.h
  • SharedRegion_getCacheLineSize() : SharedRegion.h
  • SharedRegion_getEntry() : SharedRegion.h
  • SharedRegion_getHeap() : SharedRegion.h
  • SharedRegion_getId() : SharedRegion.h
  • SharedRegion_getIdByName() : SharedRegion.h
  • SharedRegion_getNumRegions() : SharedRegion.h
  • SharedRegion_getPtr() : SharedRegion.h
  • SharedRegion_getSRPtr() : SharedRegion.h
  • SharedRegion_INVALIDREGIONID : SharedRegion.h
  • SharedRegion_invalidSRPtr() : SharedRegion.h
  • SharedRegion_isCacheEnabled() : SharedRegion.h
  • SharedRegion_S_ALREADYSETUP : SharedRegion.h
  • SharedRegion_S_BUSY : SharedRegion.h
  • SharedRegion_S_SUCCESS : SharedRegion.h
  • SharedRegion_setEntry() : SharedRegion.h
  • SharedRegion_SRPtr : SharedRegion.h
  • SharedRegion_translateEnabled() : SharedRegion.h
  • Short : Std.h
  • SizeT : Std.h
  • String : Std.h
  • String_cat() : String.h
  • String_cmp() : String.h
  • String_cpy() : String.h
  • String_hash() : String.h
  • String_hexToStr() : String.h
  • String_len() : String.h
  • String_ncmp() : String.h
  • String_ncpy() : String.h
  • SysLink_destroy() : SysLink.h
  • SysLink_params : SysLink.h
  • SysLink_setup() : SysLink.h
  • SyslinkMemMgr_AddrType : SyslinkMemMgr.h
  • SyslinkMemMgr_AddrType_EndValue : SyslinkMemMgr.h
  • SyslinkMemMgr_AddrType_Portable : SyslinkMemMgr.h
  • SyslinkMemMgr_AddrType_Virtual : SyslinkMemMgr.h
  • SyslinkMemMgr_alloc() : SyslinkMemMgr.h
  • SyslinkMemMgr_AllocBlock : SyslinkMemMgr.h
  • SyslinkMemMgr_AllocParams : SyslinkMemMgr.h
  • SyslinkMemMgr_create() : SyslinkMemMgr.h
  • SyslinkMemMgr_CreateParams : SyslinkMemMgr.h
  • SyslinkMemMgr_delete() : SyslinkMemMgr.h
  • SyslinkMemMgr_destroy() : SyslinkMemMgr.h
  • SyslinkMemMgr_free() : SyslinkMemMgr.h
  • SyslinkMemMgr_getKnlHandle() : SyslinkMemMgr.h
  • SyslinkMemMgr_Handle : SyslinkMemMgr.h
  • SyslinkMemMgr_map() : SyslinkMemMgr.h
  • SyslinkMemMgr_Object : SyslinkMemMgr.h
  • SyslinkMemMgr_Params : SyslinkMemMgr.h
  • SyslinkMemMgr_setup() : SyslinkMemMgr.h
  • SyslinkMemMgr_translate() : SyslinkMemMgr.h
  • SyslinkMemMgr_Type : SyslinkMemMgr.h
  • SyslinkMemMgr_TYPE_SHAREDMEM : SyslinkMemMgr.h
  • SyslinkMemMgr_TYPE_TILERMEM : SyslinkMemMgr.h
  • SyslinkMemMgr_Type_Type_tag : SyslinkMemMgr.h
  • SyslinkMemMgr_unmap() : SyslinkMemMgr.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- t -

  • TRUE : Std.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- u -

  • UArg : Std.h
  • UChar : Std.h
  • UInt : Std.h
  • UInt16 : Std.h
  • UInt32 : Std.h
  • UInt8 : Std.h
  • ULong : Std.h
  • UShort : Std.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • u
  • v
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- v -

  • Void : Std.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • c
  • d
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s

- c -

  • Cache_inv() : Cache.h
  • Cache_setMode() : Cache.h
  • Cache_wait() : Cache.h
  • Cache_wb() : Cache.h
  • Cache_wbInv() : Cache.h
  • Cfg_prop() : Cfg.h
  • Cfg_propBool() : Cfg.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • c
  • d
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s

- d -

  • Dev_pollOpen() : Dev.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • c
  • d
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s

- f -

  • FrameQ_alloc() : FrameQ.h
  • FrameQ_allocv() : FrameQ.h
  • FrameQ_close() : FrameQ.h
  • FrameQ_control() : FrameQ.h
  • FrameQ_create() : FrameQ.h
  • FrameQ_delete() : FrameQ.h
  • FrameQ_destroy() : FrameQ.h
  • FrameQ_dup() : FrameQ.h
  • FrameQ_free() : FrameQ.h
  • FrameQ_freev() : FrameQ.h
  • FrameQ_get() : FrameQ.h
  • FrameQ_getConfig() : FrameQ.h
  • FrameQ_getExtendedHeaderPtr() : FrameQ.h
  • FrameQ_getFrameBufDataStartOffset() : FrameQ.h
  • FrameQ_getFrameBuffer() : FrameQ.h
  • FrameQ_getFrameBufSize() : FrameQ.h
  • FrameQ_getFrameBufValidSize() : FrameQ.h
  • FrameQ_getNumFrameBuffers() : FrameQ.h
  • FrameQ_getNumFrames() : FrameQ.h
  • FrameQ_getNumFreeFrames() : FrameQ.h
  • FrameQ_getv() : FrameQ.h
  • FrameQ_getvNumFrames() : FrameQ.h
  • FrameQ_getvNumFreeFrames() : FrameQ.h
  • FrameQ_isSupportedInterface() : FrameQ.h
  • FrameQ_open() : FrameQ.h
  • FrameQ_openByAddr() : FrameQ.h
  • FrameQ_put() : FrameQ.h
  • FrameQ_putv() : FrameQ.h
  • FrameQ_registerNotifier() : FrameQ.h
  • FrameQ_sendNotify() : FrameQ.h
  • FrameQ_setFrameBufDataStartOffset() : FrameQ.h
  • FrameQ_setFrameBufValidSize() : FrameQ.h
  • FrameQ_setup() : FrameQ.h
  • FrameQ_ShMem_destroy() : FrameQ_ShMem.h
  • FrameQ_ShMem_getConfig() : FrameQ_ShMem.h
  • FrameQ_ShMem_Params_init() : FrameQ_ShMem.h
  • FrameQ_ShMem_setup() : FrameQ_ShMem.h
  • FrameQ_ShMem_sharedMemReq() : FrameQ_ShMem.h
  • FrameQ_unregisterNotifier() : FrameQ.h
  • FrameQBufMgr_add() : FrameQBufMgr.h
  • FrameQBufMgr_alloc() : FrameQBufMgr.h
  • FrameQBufMgr_allocv() : FrameQBufMgr.h
  • FrameQBufMgr_close() : FrameQBufMgr.h
  • FrameQBufMgr_control() : FrameQBufMgr.h
  • FrameQBufMgr_create() : FrameQBufMgr.h
  • FrameQBufMgr_delete() : FrameQBufMgr.h
  • FrameQBufMgr_destroy() : FrameQBufMgr.h
  • FrameQBufMgr_dup() : FrameQBufMgr.h
  • FrameQBufMgr_dupv() : FrameQBufMgr.h
  • FrameQBufMgr_free() : FrameQBufMgr.h
  • FrameQBufMgr_freev() : FrameQBufMgr.h
  • FrameQBufMgr_getBaseHeaderSize() : FrameQBufMgr.h
  • FrameQBufMgr_getConfig() : FrameQBufMgr.h
  • FrameQBufMgr_getHandle() : FrameQBufMgr.h
  • FrameQBufMgr_getId() : FrameQBufMgr.h
  • FrameQBufMgr_getKnlHandle() : FrameQBufMgr.h
  • FrameQBufMgr_getNumFreeFrames() : FrameQBufMgr.h
  • FrameQBufMgr_invalidate() : FrameQBufMgr.h
  • FrameQBufMgr_invalidateFrameBuf() : FrameQBufMgr.h
  • FrameQBufMgr_invalidateHeaderBuf() : FrameQBufMgr.h
  • FrameQBufMgr_isCacheEnabledForFrameBuf() : FrameQBufMgr.h
  • FrameQBufMgr_isCacheEnabledForHeaderBuf() : FrameQBufMgr.h
  • FrameQBufMgr_open() : FrameQBufMgr.h
  • FrameQBufMgr_openByAddr() : FrameQBufMgr.h
  • FrameQBufMgr_registerNotifier() : FrameQBufMgr.h
  • FrameQBufMgr_remove() : FrameQBufMgr.h
  • FrameQBufMgr_setup() : FrameQBufMgr.h
  • FrameQBufMgr_ShMem_destroy() : FrameQBufMgr_ShMem.h
  • FrameQBufMgr_ShMem_getConfig() : FrameQBufMgr_ShMem.h
  • FrameQBufMgr_ShMem_Params_init() : FrameQBufMgr_ShMem.h
  • FrameQBufMgr_ShMem_setup() : FrameQBufMgr_ShMem.h
  • FrameQBufMgr_ShMem_sharedMemReq() : FrameQBufMgr_ShMem.h
  • FrameQBufMgr_translateAddr() : FrameQBufMgr.h
  • FrameQBufMgr_unregisterNotifier() : FrameQBufMgr.h
  • FrameQBufMgr_writeBack() : FrameQBufMgr.h
  • FrameQBufMgr_writeBackBuf() : FrameQBufMgr.h
  • FrameQBufMgr_writeBackFrameBuf() : FrameQBufMgr.h
  • FrameQBufMgr_writeBackHeaderBuf() : FrameQBufMgr.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • c
  • d
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s

- g -

  • Gate_enterSystem() : Gate.h
  • Gate_leaveSystem() : Gate.h
  • GateMonitor_create() : GateMonitor.h
  • GateMonitor_delete() : GateMonitor.h
  • GateMP_close() : GateMP.h
  • GateMP_create() : GateMP.h
  • GateMP_delete() : GateMP.h
  • GateMP_enter() : GateMP.h
  • GateMP_getDefaultRemote() : GateMP.h
  • GateMP_getLocalProtect() : GateMP.h
  • GateMP_getRemoteProtect() : GateMP.h
  • GateMP_leave() : GateMP.h
  • GateMP_open() : GateMP.h
  • GateMP_Params_init() : GateMP.h
  • GateMutex_create() : GateMutex.h
  • GateMutex_delete() : GateMutex.h
  • GateProcess_close() : GateProcess.h
  • GateProcess_create() : GateProcess.h
  • GateProcess_delete() : GateProcess.h
  • GateProcess_enter() : GateProcess.h
  • GateProcess_leave() : GateProcess.h
  • GateProcess_open() : GateProcess.h
  • GateProcess_Params_init() : GateProcess.h
  • GateProcess_shMemSize() : GateProcess.h
  • GateSem_create() : GateSem.h
  • GateSem_delete() : GateSem.h
  • GateSpinlock_create() : GateSpinlock.h
  • GateSpinlock_delete() : GateSpinlock.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • c
  • d
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s

- h -

  • HeapBufMP_alloc() : HeapBufMP.h
  • HeapBufMP_close() : HeapBufMP.h
  • HeapBufMP_create() : HeapBufMP.h
  • HeapBufMP_delete() : HeapBufMP.h
  • HeapBufMP_free() : HeapBufMP.h
  • HeapBufMP_getExtendedStats() : HeapBufMP.h
  • HeapBufMP_getStats() : HeapBufMP.h
  • HeapBufMP_open() : HeapBufMP.h
  • HeapBufMP_Params_init() : HeapBufMP.h
  • HeapMemMP_alloc() : HeapMemMP.h
  • HeapMemMP_close() : HeapMemMP.h
  • HeapMemMP_create() : HeapMemMP.h
  • HeapMemMP_delete() : HeapMemMP.h
  • HeapMemMP_free() : HeapMemMP.h
  • HeapMemMP_getExtendedStats() : HeapMemMP.h
  • HeapMemMP_getStats() : HeapMemMP.h
  • HeapMemMP_open() : HeapMemMP.h
  • HeapMemMP_Params_init() : HeapMemMP.h
  • HeapMemMP_restore() : HeapMemMP.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • c
  • d
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s

- i -

  • Ipc_attach() : Ipc.h
  • Ipc_control() : IpcHost.h
  • Ipc_detach() : Ipc.h
  • Ipc_isAttached() : Ipc.h
  • Ipc_readConfig() : Ipc.h
  • Ipc_runtimeId() : IpcHost.h
  • Ipc_start() : Ipc.h
  • Ipc_stop() : Ipc.h
  • Ipc_writeConfig() : Ipc.h
  • IpcMemMgr_acquire() : IpcMemMgr.h
  • IpcMemMgr_alloc() : IpcMemMgr.h
  • IpcMemMgr_allocShmemHeap() : IpcMemMgr.h
  • IpcMemMgr_destroy() : IpcMemMgr.h
  • IpcMemMgr_enterGate() : IpcMemMgr.h
  • IpcMemMgr_free() : IpcMemMgr.h
  • IpcMemMgr_freeShmemHeap() : IpcMemMgr.h
  • IpcMemMgr_freeShmemHeapByName() : IpcMemMgr.h
  • IpcMemMgr_getConfig() : IpcMemMgr.h
  • IpcMemMgr_getOffset() : IpcMemMgr.h
  • IpcMemMgr_getPtr() : IpcMemMgr.h
  • IpcMemMgr_leaveGate() : IpcMemMgr.h
  • IpcMemMgr_release() : IpcMemMgr.h
  • IpcMemMgr_setup() : IpcMemMgr.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • c
  • d
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s

- l -

  • List_construct() : List.h
  • List_create() : List.h
  • List_delete() : List.h
  • List_dequeue() : List.h
  • List_destruct() : List.h
  • List_elemClear() : List.h
  • List_empty() : List.h
  • List_enqueue() : List.h
  • List_enqueueHead() : List.h
  • List_get() : List.h
  • List_insert() : List.h
  • List_next() : List.h
  • List_Params_init() : List.h
  • List_prev() : List.h
  • List_put() : List.h
  • List_putHead() : List.h
  • List_remove() : List.h
  • ListMP_close() : ListMP.h
  • ListMP_create() : ListMP.h
  • ListMP_delete() : ListMP.h
  • ListMP_empty() : ListMP.h
  • ListMP_getGate() : ListMP.h
  • ListMP_getHead() : ListMP.h
  • ListMP_getTail() : ListMP.h
  • ListMP_insert() : ListMP.h
  • ListMP_next() : ListMP.h
  • ListMP_open() : ListMP.h
  • ListMP_Params_init() : ListMP.h
  • ListMP_prev() : ListMP.h
  • ListMP_putHead() : ListMP.h
  • ListMP_putTail() : ListMP.h
  • ListMP_remove() : ListMP.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • c
  • d
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s

- m -

  • Memory_alloc() : Memory.h
  • Memory_calloc() : Memory.h
  • Memory_free() : Memory.h
  • Memory_getMaxDefaultTypeAlign() : Memory.h
  • Memory_getStats() : Memory.h
  • Memory_query() : Memory.h
  • Memory_valloc() : Memory.h
  • MemoryOS_alloc() : MemoryOS.h
  • MemoryOS_calloc() : MemoryOS.h
  • MemoryOS_copy() : MemoryOS.h
  • MemoryOS_destroy() : MemoryOS.h
  • MemoryOS_free() : MemoryOS.h
  • MemoryOS_set() : MemoryOS.h
  • MemoryOS_setup() : MemoryOS.h
  • MemoryOS_translate() : MemoryOS.h
  • MessageQ_alloc() : MessageQ.h
  • MessageQ_close() : MessageQ.h
  • MessageQ_count() : MessageQ.h
  • MessageQ_create() : MessageQ.h
  • MessageQ_delete() : MessageQ.h
  • MessageQ_free() : MessageQ.h
  • MessageQ_get() : MessageQ.h
  • MessageQ_getQueueId() : MessageQ.h
  • MessageQ_open() : MessageQ.h
  • MessageQ_Params_init() : MessageQ.h
  • MessageQ_put() : MessageQ.h
  • MessageQ_registerHeap() : MessageQ.h
  • MessageQ_setMsgTrace() : MessageQ.h
  • MessageQ_setReplyQueue() : MessageQ.h
  • MessageQ_staticMsgInit() : MessageQ.h
  • MessageQ_unblock() : MessageQ.h
  • MessageQ_unregisterHeap() : MessageQ.h
  • MultiProc_getBaseIdOfCluster() : MultiProc.h
  • MultiProc_getId() : MultiProc.h
  • MultiProc_getName() : MultiProc.h
  • MultiProc_getNumProcessors() : MultiProc.h
  • MultiProc_getNumProcsInCluster() : MultiProc.h
  • MultiProc_self() : MultiProc.h
  • MultiProc_setBaseIdOfCluster() : MultiProc.h
  • MultiProc_setLocalId() : MultiProc.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • c
  • d
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s

- n -

  • NameServer_add() : NameServer.h
  • NameServer_addUInt32() : NameServer.h
  • NameServer_create() : NameServer.h
  • NameServer_delete() : NameServer.h
  • NameServer_get() : NameServer.h
  • NameServer_getHandle() : NameServer.h
  • NameServer_getLocal() : NameServer.h
  • NameServer_getLocalUInt32() : NameServer.h
  • NameServer_getUInt32() : NameServer.h
  • NameServer_Params_init() : NameServer.h
  • NameServer_remove() : NameServer.h
  • NameServer_removeEntry() : NameServer.h
  • Notify_attach() : Notify.h
  • Notify_disable() : Notify.h
  • Notify_disableEvent() : Notify.h
  • Notify_enableEvent() : Notify.h
  • Notify_eventAvailable() : Notify.h
  • Notify_intLineRegistered() : Notify.h
  • Notify_numIntLines() : Notify.h
  • Notify_registerEvent() : Notify.h
  • Notify_registerEventSingle() : Notify.h
  • Notify_restore() : Notify.h
  • Notify_sendEvent() : Notify.h
  • Notify_unregisterEvent() : Notify.h
  • Notify_unregisterEventSingle() : Notify.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • c
  • d
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s

- o -

  • Osal_printf() : OsalPrint.h
  • OsalSemaphore_create() : OsalSemaphore.h
  • OsalSemaphore_delete() : OsalSemaphore.h
  • OsalSemaphore_pend() : OsalSemaphore.h
  • OsalSemaphore_post() : OsalSemaphore.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • c
  • d
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s

- p -

  • ProcMgr_attach() : ProcMgr.h
  • ProcMgr_close() : ProcMgr.h
  • ProcMgr_control() : ProcMgr.h
  • ProcMgr_detach() : ProcMgr.h
  • ProcMgr_getAttachParams() : ProcMgr.h
  • ProcMgr_getLoadedFileId() : ProcMgr.h
  • ProcMgr_getMaxMemoryRegions() : ProcMgr.h
  • ProcMgr_getProcInfo() : ProcMgr.h
  • ProcMgr_getSectionData() : ProcMgr.h
  • ProcMgr_getSectionInfo() : ProcMgr.h
  • ProcMgr_getStartParams() : ProcMgr.h
  • ProcMgr_getState() : ProcMgr.h
  • ProcMgr_getSymbolAddress() : ProcMgr.h
  • ProcMgr_load() : ProcMgr.h
  • ProcMgr_map() : ProcMgr.h
  • ProcMgr_open() : ProcMgr.h
  • ProcMgr_read() : ProcMgr.h
  • ProcMgr_start() : ProcMgr.h
  • ProcMgr_stop() : ProcMgr.h
  • ProcMgr_translateAddr() : ProcMgr.h
  • ProcMgr_unload() : ProcMgr.h
  • ProcMgr_unmap() : ProcMgr.h
  • ProcMgr_write() : ProcMgr.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • c
  • d
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s

- r -

  • ResTrack_create() : ResTrack.h
  • ResTrack_delete() : ResTrack.h
  • ResTrack_Params_init() : ResTrack.h
  • ResTrack_pop() : ResTrack.h
  • ResTrack_push() : ResTrack.h
  • ResTrack_register() : ResTrack.h
  • ResTrack_remove() : ResTrack.h
  • ResTrack_unregister() : ResTrack.h
  • RingIO_acquire() : RingIO.h
  • RingIO_cancel() : RingIO.h
  • RingIO_close() : RingIO.h
  • RingIO_create() : RingIO.h
  • RingIO_delete() : RingIO.h
  • RingIO_flush() : RingIO.h
  • RingIO_getAcquiredOffset() : RingIO.h
  • RingIO_getAcquiredSize() : RingIO.h
  • RingIO_getAttribute() : RingIO.h
  • RingIO_getEmptyAttrSize() : RingIO.h
  • RingIO_getEmptySize() : RingIO.h
  • RingIO_getValidAttrSize() : RingIO.h
  • RingIO_getValidSize() : RingIO.h
  • RingIO_getvAttribute() : RingIO.h
  • RingIO_getWaterMark() : RingIO.h
  • RingIO_open() : RingIO.h
  • RingIO_openByAddr() : RingIO.h
  • RingIO_Params_init() : RingIO.h
  • RingIO_registerNotifier() : RingIO.h
  • RingIO_release() : RingIO.h
  • RingIO_sendNotify() : RingIO.h
  • RingIO_setAttribute() : RingIO.h
  • RingIO_setNotifyType() : RingIO.h
  • RingIO_setvAttribute() : RingIO.h
  • RingIO_setWaterMark() : RingIO.h
  • RingIO_sharedMemReq() : RingIO.h
  • RingIO_unregisterNotifier() : RingIO.h
  • RingIOShm_Params_init() : RingIOShm.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • c
  • d
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s

- s -

  • SharedRegion_clearEntry() : SharedRegion.h
  • SharedRegion_entryInit() : SharedRegion.h
  • SharedRegion_getCacheLineSize() : SharedRegion.h
  • SharedRegion_getEntry() : SharedRegion.h
  • SharedRegion_getHeap() : SharedRegion.h
  • SharedRegion_getId() : SharedRegion.h
  • SharedRegion_getIdByName() : SharedRegion.h
  • SharedRegion_getNumRegions() : SharedRegion.h
  • SharedRegion_getPtr() : SharedRegion.h
  • SharedRegion_getSRPtr() : SharedRegion.h
  • SharedRegion_invalidSRPtr() : SharedRegion.h
  • SharedRegion_isCacheEnabled() : SharedRegion.h
  • SharedRegion_setEntry() : SharedRegion.h
  • SharedRegion_translateEnabled() : SharedRegion.h
  • String_cat() : String.h
  • String_cmp() : String.h
  • String_cpy() : String.h
  • String_hash() : String.h
  • String_hexToStr() : String.h
  • String_len() : String.h
  • String_ncmp() : String.h
  • String_ncpy() : String.h
  • SysLink_destroy() : SysLink.h
  • SysLink_setup() : SysLink.h
  • SyslinkMemMgr_alloc() : SyslinkMemMgr.h
  • SyslinkMemMgr_create() : SyslinkMemMgr.h
  • SyslinkMemMgr_delete() : SyslinkMemMgr.h
  • SyslinkMemMgr_destroy() : SyslinkMemMgr.h
  • SyslinkMemMgr_free() : SyslinkMemMgr.h
  • SyslinkMemMgr_getKnlHandle() : SyslinkMemMgr.h
  • SyslinkMemMgr_map() : SyslinkMemMgr.h
  • SyslinkMemMgr_setup() : SyslinkMemMgr.h
  • SyslinkMemMgr_translate() : SyslinkMemMgr.h
  • SyslinkMemMgr_unmap() : SyslinkMemMgr.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • Gate_systemHandle : Gate.h
  • SysLink_params : SysLink.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • u

- b -

  • Bits16 : Std.h
  • Bits32 : Std.h
  • Bits8 : Std.h
  • Bool : Std.h

- c -

  • Char : Std.h
  • CString : Std.h

- d -

  • Double : Std.h

- e -

  • Error_Block : Std.h

- f -

  • Float : Std.h
  • Frame : FrameQDefs.h
  • Frame_FrameBufInfo : FrameQDefs.h
  • Frame_FrameHeader : FrameQDefs.h
  • FrameQ_CommonOpenParams : FrameQ.h
  • FrameQ_Config : FrameQ.h
  • FrameQ_CpuAccessFlags : FrameQ.h
  • FrameQ_CreateParams : FrameQ.h
  • FrameQ_Frame : FrameQ.h
  • FrameQ_Handle : FrameQ.h
  • FrameQ_Interface : FrameQ.h
  • FrameQ_NotifyFunc : FrameQ.h
  • FrameQ_NotifyMsg : FrameQ.h
  • FrameQ_NotifyParams : FrameQ.h
  • FrameQ_NotifyType : FrameQ.h
  • FrameQ_OpenMode : FrameQ.h
  • FrameQ_Params : FrameQ.h
  • FrameQ_ShMem_Config : FrameQ_ShMem.h
  • FrameQ_ShMem_OpenParams : FrameQ_ShMem.h
  • FrameQ_ShMem_Params : FrameQ_ShMem.h
  • FrameQBufMgr_AddrType : FrameQBufMgr.h
  • FrameQBufMgr_BufType : FrameQBufMgr.h
  • FrameQBufMgr_CommonOpenParams : FrameQBufMgr.h
  • FrameQBufMgr_Config : FrameQBufMgr.h
  • FrameQBufMgr_CpuAccessFlags : FrameQBufMgr.h
  • FrameQBufMgr_CreateParams : FrameQBufMgr.h
  • FrameQBufMgr_Frame : FrameQBufMgr.h
  • FrameQBufMgr_FrameBufferInterface : FrameQBufMgr.h
  • FrameQBufMgr_FrameBufParams : FrameQBufMgr.h
  • FrameQBufMgr_FrameHeaderInterface : FrameQBufMgr.h
  • FrameQBufMgr_Handle : FrameQBufMgr.h
  • FrameQBufMgr_Interface : FrameQBufMgr.h
  • FrameQBufMgr_NotifyFunc : FrameQBufMgr.h
  • FrameQBufMgr_NotifyParams : FrameQBufMgr.h
  • FrameQBufMgr_Params : FrameQBufMgr.h
  • FrameQBufMgr_ShMem_Config : FrameQBufMgr_ShMem.h
  • FrameQBufMgr_ShMem_OpenParams : FrameQBufMgr_ShMem.h
  • FrameQBufMgr_ShMem_Params : FrameQBufMgr_ShMem.h

- g -

  • GateMonitor_Handle : GateMonitor.h
  • GateMonitor_Object : GateMonitor.h
  • GateMonitor_Params : GateMonitor.h
  • GateMP_Handle : GateMP.h
  • GateMP_LocalProtect : GateMP.h
  • GateMP_Params : GateMP.h
  • GateMP_RemoteProtect : GateMP.h
  • GateMutex_Handle : GateMutex.h
  • GateMutex_Object : GateMutex.h
  • GateMutex_Params : GateMutex.h
  • GateProcess_Handle : GateProcess.h
  • GateProcess_Object : GateProcess.h
  • GateSem_Handle : GateSem.h
  • GateSem_Object : GateSem.h
  • GateSem_Params : GateSem.h
  • GateSpinlock_Handle : GateSpinlock.h
  • GateSpinlock_Object : GateSpinlock.h
  • GateSpinlock_Params : GateSpinlock.h

- h -

  • HeapBufMP_ExtendedStats : HeapBufMP.h
  • HeapBufMP_Handle : HeapBufMP.h
  • HeapBufMP_Params : HeapBufMP.h
  • HeapMemMP_ExtendedStats : HeapMemMP.h
  • HeapMemMP_Handle : HeapMemMP.h
  • HeapMemMP_Params : HeapMemMP.h

- i -

  • IArg : Std.h
  • IGateProvider_ENTER : IGateProvider.h
  • IGateProvider_Handle : IGateProvider.h
  • IGateProvider_LEAVE : IGateProvider.h
  • IGateProvider_Object : IGateProvider.h
  • IHeap_allocFxn : IHeap.h
  • IHeap_freeFxn : IHeap.h
  • IHeap_getKnlHandleFxn : IHeap.h
  • IHeap_getStatsFxn : IHeap.h
  • IHeap_Handle : IHeap.h
  • IHeap_isBlockingFxn : IHeap.h
  • IHeap_Object : IHeap.h
  • Int : Std.h
  • Int16 : Std.h
  • Int32 : Std.h
  • Int8 : Std.h
  • IpcMemMgr_Config : IpcMemMgr.h
  • IpcMemMgr_SHPtr : IpcMemMgr.h

- l -

  • LDouble : Std.h
  • List_Elem : List.h
  • List_Handle : List.h
  • List_Object : List.h
  • List_Params : List.h
  • ListMP_Elem : ListMP.h
  • ListMP_Handle : ListMP.h
  • ListMP_Params : ListMP.h
  • Long : Std.h

- m -

  • Memory_Stats : MemoryDefs.h
  • MessageQ_Handle : MessageQ.h
  • MessageQ_Msg : MessageQ.h
  • MessageQ_QueueId : MessageQ.h
  • MessageQ_QueueIndex : MessageQ.h

- n -

  • NameServer_Handle : NameServer.h
  • NameServer_Params : NameServer.h
  • Notify_FnNotifyCbck : Notify.h

- o -

  • OsalSemaphore_Handle : OsalSemaphore.h

- p -

  • ProcMgr_AddrInfo : ProcMgr.h
  • ProcMgr_AttachParams : ProcMgr.h
  • ProcMgr_Handle : ProcMgr.h
  • ProcMgr_MapMask : ProcMgr.h
  • ProcMgr_MappedMemEntry : ProcMgr.h
  • ProcMgr_ProcInfo : ProcMgr.h
  • ProcMgr_SectionInfo : ProcMgr.h
  • ProcMgr_StartParams : ProcMgr.h
  • Ptr : Std.h

- r -

  • ResTrack_Fxn : ResTrack.h
  • ResTrack_Handle : ResTrack.h
  • RingIO_BufPtr : RingIO.h
  • RingIO_Flags : RingIO.h
  • RingIO_Handle : RingIO.h
  • RingIO_NotifyFxn : RingIO.h
  • RingIO_NotifyMsg : RingIO.h
  • RingIO_NotifyType : RingIO.h
  • RingIO_OpenMode : RingIO.h
  • RingIO_openParams : RingIO.h
  • RingIO_Params : RingIO.h
  • RingIO_sharedMemReqDetails : RingIO.h
  • RingIO_Type : RingIO.h
  • RingIOShm_Params : RingIOShm.h

- s -

  • SharedRegion_Entry : SharedRegion.h
  • SharedRegion_SRPtr : SharedRegion.h
  • Short : Std.h
  • SizeT : Std.h
  • String : Std.h
  • SyslinkMemMgr_AllocBlock : SyslinkMemMgr.h
  • SyslinkMemMgr_AllocParams : SyslinkMemMgr.h
  • SyslinkMemMgr_CreateParams : SyslinkMemMgr.h
  • SyslinkMemMgr_Handle : SyslinkMemMgr.h
  • SyslinkMemMgr_Object : SyslinkMemMgr.h
  • SyslinkMemMgr_Type : SyslinkMemMgr.h

- u -

  • UArg : Std.h
  • UChar : Std.h
  • UInt : Std.h
  • UInt16 : Std.h
  • UInt32 : Std.h
  • UInt8 : Std.h
  • ULong : Std.h
  • UShort : Std.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • c
  • f
  • g
  • i
  • m
  • o
  • p
  • r
  • s

- c -

  • Cache_Mode : Cache.h
  • Cache_Type : Cache.h

- f -

  • FrameQ_CpuAccessFlags_Tag : FrameQ.h
  • FrameQ_Interface_Tag : FrameQ.h
  • FrameQ_NotifyType_Tag : FrameQ.h
  • FrameQ_OpenMode_Tag : FrameQ.h
  • FrameQBufMgr_AddrType_Tag : FrameQBufMgr.h
  • FrameQBufMgr_BufType_Tag : FrameQBufMgr.h
  • FrameQBufMgr_CpuAccessFlags_Tag : FrameQBufMgr.h
  • FrameQBufMgr_FrameBufferInterface_Tag : FrameQBufMgr.h
  • FrameQBufMgr_FrameHeaderInterface_Tag : FrameQBufMgr.h
  • FrameQBufMgr_Interface_Tag : FrameQBufMgr.h

- g -

  • GateMP_LocalProtect : GateMP.h
  • GateMP_RemoteProtect : GateMP.h
  • GT_TraceClass : Trace.h
  • GT_TraceEnter : Trace.h
  • GT_TraceSetFailure : Trace.h
  • GT_TraceState : Trace.h
  • GT_TraceType : Trace.h

- i -

  • IpcMemMgr_MemType : IpcMemMgr.h

- m -

  • MemoryOS_CacheFlags : MemoryDefs.h
  • MemoryOS_MemTypeFlags : MemoryDefs.h
  • MessageQ_Priority : MessageQ.h

- o -

  • OsalSemaphore_IntType : OsalSemaphore.h
  • OsalSemaphore_Type : OsalSemaphore.h

- p -

  • ProcMgr_AddrType : ProcMgr.h
  • ProcMgr_BootMode : ProcMgr.h
  • ProcMgr_State : ProcMgr.h

- r -

  • RingIO_Flags_tag : RingIO.h
  • RingIO_NotifyType_Tag : RingIO.h
  • RingIO_OpenMode_Tag : RingIO.h
  • RingIO_Type_Tag : RingIO.h

- s -

  • SyslinkMemMgr_AddrType : SyslinkMemMgr.h
  • SyslinkMemMgr_Type_Type_tag : SyslinkMemMgr.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • c
  • f
  • g
  • i
  • m
  • o
  • p
  • r
  • s

- c -

  • Cache_Mode_BYPASS : Cache.h
  • Cache_Mode_FREEZE : Cache.h
  • Cache_Mode_NORMAL : Cache.h
  • Cache_Type_ALL : Cache.h
  • Cache_Type_L1 : Cache.h
  • Cache_Type_L1D : Cache.h
  • Cache_Type_L1P : Cache.h
  • Cache_Type_L2 : Cache.h
  • Cache_Type_L2D : Cache.h
  • Cache_Type_L2P : Cache.h

- f -

  • FrameQ_FRAMEBUF0_CPUACCESS : FrameQ.h
  • FrameQ_FRAMEBUF1_CPUACCESS : FrameQ.h
  • FrameQ_FRAMEBUF2_CPUACCESS : FrameQ.h
  • FrameQ_FRAMEBUF3_CPUACCESS : FrameQ.h
  • FrameQ_FRAMEBUF4_CPUACCESS : FrameQ.h
  • FrameQ_FRAMEBUF5_CPUACCESS : FrameQ.h
  • FrameQ_FRAMEBUF6_CPUACCESS : FrameQ.h
  • FrameQ_FRAMEBUF7_CPUACCESS : FrameQ.h
  • FrameQ_INTERFACE_NONE : FrameQ.h
  • FrameQ_INTERFACE_SHAREDMEM : FrameQ.h
  • FrameQ_MODE_NONE : FrameQ.h
  • FrameQ_MODE_READER : FrameQ.h
  • FrameQ_MODE_WRITER : FrameQ.h
  • FrameQ_NOTIFICATION_ALWAYS : FrameQ.h
  • FrameQ_NOTIFICATION_HDWRFIFO_ALWAYS : FrameQ.h
  • FrameQ_NOTIFICATION_HDWRFIFO_ONCE : FrameQ.h
  • FrameQ_NOTIFICATION_NONE : FrameQ.h
  • FrameQ_NOTIFICATION_ONCE : FrameQ.h
  • FrameQBufMgr_AddrType_EndValue : FrameQBufMgr.h
  • FrameQBufMgr_AddrType_Portable : FrameQBufMgr.h
  • FrameQBufMgr_AddrType_Virtual : FrameQBufMgr.h
  • FrameQBufMgr_BUF_ENDVALUE : FrameQBufMgr.h
  • FrameQBufMgr_BUF_FRAMEBUF : FrameQBufMgr.h
  • FrameQBufMgr_BUF_FRAMEHEADER : FrameQBufMgr.h
  • FrameQBufMgr_BUFINTERFACE_NONE : FrameQBufMgr.h
  • FrameQBufMgr_BUFINTERFACE_SHAREDMEM : FrameQBufMgr.h
  • FrameQBufMgr_BUFINTERFACE_TILERMEM : FrameQBufMgr.h
  • FrameQBufMgr_FRAMEBUF0_CPUACCESS : FrameQBufMgr.h
  • FrameQBufMgr_FRAMEBUF1_CPUACCESS : FrameQBufMgr.h
  • FrameQBufMgr_FRAMEBUF2_CPUACCESS : FrameQBufMgr.h
  • FrameQBufMgr_FRAMEBUF3_CPUACCESS : FrameQBufMgr.h
  • FrameQBufMgr_FRAMEBUF4_CPUACCESS : FrameQBufMgr.h
  • FrameQBufMgr_FRAMEBUF5_CPUACCESS : FrameQBufMgr.h
  • FrameQBufMgr_FRAMEBUF6_CPUACCESS : FrameQBufMgr.h
  • FrameQBufMgr_FRAMEBUF7_CPUACCESS : FrameQBufMgr.h
  • FrameQBufMgr_HDRINTERFACE_NONE : FrameQBufMgr.h
  • FrameQBufMgr_HDRINTERFACE_SHAREDMEM : FrameQBufMgr.h
  • FrameQBufMgr_INTERFACE_NONE : FrameQBufMgr.h
  • FrameQBufMgr_INTERFACE_SHAREDMEM : FrameQBufMgr.h

- g -

  • GateMP_LocalProtect_INTERRUPT : GateMP.h
  • GateMP_LocalProtect_NONE : GateMP.h
  • GateMP_LocalProtect_PROCESS : GateMP.h
  • GateMP_LocalProtect_TASKLET : GateMP.h
  • GateMP_LocalProtect_THREAD : GateMP.h
  • GateMP_RemoteProtect_CUSTOM1 : GateMP.h
  • GateMP_RemoteProtect_CUSTOM2 : GateMP.h
  • GateMP_RemoteProtect_NONE : GateMP.h
  • GateMP_RemoteProtect_SYSTEM : GateMP.h
  • GT_1CLASS : Trace.h
  • GT_2CLASS : Trace.h
  • GT_3CLASS : Trace.h
  • GT_4CLASS : Trace.h
  • GT_ENTER : Trace.h
  • GT_LEAVE : Trace.h
  • GT_TraceEnter_Disable : Trace.h
  • GT_TraceEnter_Enable : Trace.h
  • GT_TraceEnter_EndValue : Trace.h
  • GT_TraceSetFailure_Disable : Trace.h
  • GT_TraceSetFailure_Enable : Trace.h
  • GT_TraceSetFailure_EndValue : Trace.h
  • GT_TraceState_Disable : Trace.h
  • GT_TraceState_Enable : Trace.h
  • GT_TraceState_EndValue : Trace.h
  • GT_TraceType_EndValue : Trace.h
  • GT_TraceType_Kernel : Trace.h
  • GT_TraceType_User : Trace.h

- i -

  • IpcMemMgr_ALLOCTYPE_END : IpcMemMgr.h
  • IpcMemMgr_ALLOCTYPE_PHYS_CACHE : IpcMemMgr.h
  • IpcMemMgr_ALLOCTYPE_PHYS_NOCACHE : IpcMemMgr.h
  • IpcMemMgr_ALLOCTYPE_PSHMEM : IpcMemMgr.h

- m -

  • MemoryOS_CacheFlags_Cached : MemoryDefs.h
  • MemoryOS_CacheFlags_Default : MemoryDefs.h
  • MemoryOS_CacheFlags_EndValue : MemoryDefs.h
  • MemoryOS_CacheFlags_Uncached : MemoryDefs.h
  • MemoryOS_MemTypeFlags_Default : MemoryDefs.h
  • MemoryOS_MemTypeFlags_Dma : MemoryDefs.h
  • MemoryOS_MemTypeFlags_EndValue : MemoryDefs.h
  • MemoryOS_MemTypeFlags_Physical : MemoryDefs.h
  • MessageQ_HIGHPRI : MessageQ.h
  • MessageQ_NORMALPRI : MessageQ.h
  • MessageQ_RESERVEDPRI : MessageQ.h
  • MessageQ_URGENTPRI : MessageQ.h

- o -

  • OsalSemaphore_IntType_EndValue : OsalSemaphore.h
  • OsalSemaphore_IntType_Interruptible : OsalSemaphore.h
  • OsalSemaphore_IntType_Noninterruptible : OsalSemaphore.h
  • OsalSemaphore_Type_Binary : OsalSemaphore.h
  • OsalSemaphore_Type_Counting : OsalSemaphore.h
  • OsalSemaphore_Type_EndValue : OsalSemaphore.h

- p -

  • ProcMgr_AddrType_EndValue : ProcMgr.h
  • ProcMgr_AddrType_MasterKnlVirt : ProcMgr.h
  • ProcMgr_AddrType_MasterPhys : ProcMgr.h
  • ProcMgr_AddrType_MasterUsrVirt : ProcMgr.h
  • ProcMgr_AddrType_SlavePhys : ProcMgr.h
  • ProcMgr_AddrType_SlaveVirt : ProcMgr.h
  • ProcMgr_BootMode_Boot : ProcMgr.h
  • ProcMgr_BootMode_EndValue : ProcMgr.h
  • ProcMgr_BootMode_NoBoot : ProcMgr.h
  • ProcMgr_BootMode_NoLoad_NoPwr : ProcMgr.h
  • ProcMgr_BootMode_NoLoad_Pwr : ProcMgr.h
  • ProcMgr_State_EndValue : ProcMgr.h
  • ProcMgr_State_Loaded : ProcMgr.h
  • ProcMgr_State_Powered : ProcMgr.h
  • ProcMgr_State_Reset : ProcMgr.h
  • ProcMgr_State_Running : ProcMgr.h
  • ProcMgr_State_Unavailable : ProcMgr.h
  • ProcMgr_State_Unknown : ProcMgr.h

- r -

  • RingIO_DATABUF_MAINTAINCACHE : RingIO.h
  • RingIO_MODE_READER : RingIO.h
  • RingIO_MODE_WRITER : RingIO.h
  • RingIO_NEED_EXACT_SIZE : RingIO.h
  • RingIO_NOTIFICATION_ALWAYS : RingIO.h
  • RingIO_NOTIFICATION_HDWRFIFO_ALWAYS : RingIO.h
  • RingIO_NOTIFICATION_HDWRFIFO_ONCE : RingIO.h
  • RingIO_NOTIFICATION_NONE : RingIO.h
  • RingIO_NOTIFICATION_ONCE : RingIO.h
  • RingIO_Type_SHAREDMEM : RingIO.h

- s -

  • SyslinkMemMgr_AddrType_EndValue : SyslinkMemMgr.h
  • SyslinkMemMgr_AddrType_Portable : SyslinkMemMgr.h
  • SyslinkMemMgr_AddrType_Virtual : SyslinkMemMgr.h
  • SyslinkMemMgr_TYPE_SHAREDMEM : SyslinkMemMgr.h
  • SyslinkMemMgr_TYPE_TILERMEM : SyslinkMemMgr.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • c
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • v

- c -

  • Cache_E_FAIL : Cache.h
  • Cache_E_INVALIDARG : Cache.h
  • Cache_E_OSFAILURE : Cache.h
  • Cache_S_ALREADYSETUP : Cache.h
  • Cache_S_SUCCESS : Cache.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • c
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • v

- e -

  • Error_init : Std.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • c
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • v

- f -

  • FALSE : Std.h
  • FrameQ_E_ACCESSDENIED : FrameQ.h
  • FrameQ_E_ALLOC_FRAME : FrameQ.h
  • FrameQ_E_ALLOC_FRAMEBUF : FrameQ.h
  • FrameQ_E_ALLOC_MEMORY : FrameQ.h
  • FrameQ_E_ALREADYREGISTERED : FrameQ.h
  • FrameQ_E_CLIENTNOTIFYMGRREGCLIENT : FrameQ.h
  • FrameQ_E_CLIENTNOTIFYMGRUNREGCLIENT : FrameQ.h
  • FrameQ_E_CREATE_GATEMP : FrameQ.h
  • FrameQ_E_CREATE_NAMESERVER : FrameQ.h
  • FrameQ_E_EMPTY : FrameQ.h
  • FrameQ_E_FAIL : FrameQ.h
  • FrameQ_E_FAIL_CLIENTN0TIFYMGR_CREATE : FrameQ.h
  • FrameQ_E_FAIL_CLIENTN0TIFYMGR_OPEN : FrameQ.h
  • FrameQ_E_FAIL_NAMESERVERADD : FrameQ.h
  • FrameQ_E_FRAMEQBUFMGROPEN : FrameQ.h
  • FrameQ_E_FRAMEQBUFMGRREGCLIENT : FrameQ.h
  • FrameQ_E_FRAMEQBUFMGRUNREGCLIENT : FrameQ.h
  • FrameQ_E_INST_EXISTS : FrameQ.h
  • FrameQ_E_INSUFFICENT_FRAMES : FrameQ.h
  • FrameQ_E_INVALID_FRAMEQBUFMGRID : FrameQ.h
  • FrameQ_E_INVALID_INTERFACE : FrameQ.h
  • FrameQ_E_INVALIDARG : FrameQ.h
  • FrameQ_E_INVALIDSTATE : FrameQ.h
  • FrameQ_E_LISTMPOPEN : FrameQ.h
  • FrameQ_E_MAX_READERS : FrameQ.h
  • FrameQ_E_MEMORY : FrameQ.h
  • FrameQ_E_NAMESERVERADD : FrameQ.h
  • FrameQ_E_NOTFOUND : FrameQ.h
  • FrameQ_E_NOTIMPLEMENTED : FrameQ.h
  • FrameQ_E_OPEN_GATEMP : FrameQ.h
  • FrameQ_E_OPEN_NAMESERVER : FrameQ.h
  • FrameQ_E_OSFAILURE : FrameQ.h
  • FrameQ_E_WRITER_EXISTS : FrameQ.h
  • FrameQ_FrameBufInfo : FrameQ.h
  • FrameQ_FrameHeader : FrameQ.h
  • FrameQ_MAX_FRAMESINVAPI : FrameQDefs.h
  • FrameQ_MAX_INST_READERS : FrameQ.h
  • FrameQ_MAX_INSTANCES : FrameQ.h
  • FrameQ_MAX_NAMELEN : FrameQ.h
  • FrameQ_MAXFILLEDQUEUS_FOR_READER : FrameQ.h
  • FrameQ_NOTIFY_RESERVED_EVENTNO : FrameQ.h
  • FrameQ_S_ALREADYDESTROYED : FrameQ.h
  • FrameQ_S_ALREADYSETUP : FrameQ.h
  • FrameQ_S_SUCCESS : FrameQ.h
  • FRAMEQBUFMGR_CACHE_LINESIZE : FrameQBufMgrDefs.h
  • FrameQBufMgr_E_ACCESSDENIED : FrameQBufMgr.h
  • FrameQBufMgr_E_ALLOC_ALLFRAMES : FrameQBufMgr.h
  • FrameQBufMgr_E_ALLOC_BUF : FrameQBufMgr.h
  • FrameQBufMgr_E_ALLOC_FRAME : FrameQBufMgr.h
  • FrameQBufMgr_E_ALLOC_MEMORY : FrameQBufMgr.h
  • FrameQBufMgr_E_CLIENTN0TIFYMGR_OPEN : FrameQBufMgr.h
  • FrameQBufMgr_E_CREATE_GATEMP : FrameQBufMgr.h
  • FrameQBufMgr_E_CREATE_NAMESERVER : FrameQBufMgr.h
  • FrameQBufMgr_E_FAIL : FrameQBufMgr.h
  • FrameQBufMgr_E_FAIL_CLIENTN0TIFYMGR_CREATE : FrameQBufMgr.h
  • FrameQBufMgr_E_INST_EXISTS : FrameQBufMgr.h
  • FrameQBufMgr_E_INSUFFICIENT_HDRBUFS : FrameQBufMgr.h
  • FrameQBufMgr_E_INVALID_BUFINTERFACETYPE : FrameQBufMgr.h
  • FrameQBufMgr_E_INVALID_HDRINTERFACETYPE : FrameQBufMgr.h
  • FrameQBufMgr_E_INVALID_INTERFACE : FrameQBufMgr.h
  • FrameQBufMgr_E_INVALID_MEMMGRTYPE : FrameQBufMgr.h
  • FrameQBufMgr_E_INVALIDARG : FrameQBufMgr.h
  • FrameQBufMgr_E_INVALIDSTATE : FrameQBufMgr.h
  • FrameQBufMgr_E_MAX_CLIENTS : FrameQBufMgr.h
  • FrameQBufMgr_E_MAXINSTANCES : FrameQBufMgr.h
  • FrameQBufMgr_E_NAMESERVERADD : FrameQBufMgr.h
  • FrameQBufMgr_E_NOTFOUND : FrameQBufMgr.h
  • FrameQBufMgr_E_NOTIMPLEMENTED : FrameQBufMgr.h
  • FrameQBufMgr_E_OPEN_GATEMP : FrameQBufMgr.h
  • FrameQBufMgr_E_OPEN_NAMESERVER : FrameQBufMgr.h
  • FrameQBufMgr_E_OSFAILURE : FrameQBufMgr.h
  • FrameQBufMgr_FrameBufInfo : FrameQBufMgr.h
  • FrameQBufMgr_FrameHeader : FrameQBufMgr.h
  • FrameQBufMgr_MAX_FRAMEBUFS : FrameQBufMgr.h
  • FrameQBufMgr_MAX_FRAMESINVAPI : FrameQBufMgr.h
  • FrameQBufMgr_MAX_POOLS : FrameQBufMgr.h
  • FrameQBufMgr_MAXINSTANCES : FrameQBufMgr.h
  • FrameQBufMgr_MAXNAMELEN : FrameQBufMgr.h
  • FrameQBufMgr_NOTIFY_RESERVED_EVENTNO : FrameQBufMgr.h
  • FrameQBufMgr_POOL_DYNAMIC_MAXFRAMES : FrameQBufMgr.h
  • FrameQBufMgr_POOL_DYNAMIC_MAXHDRS : FrameQBufMgr.h
  • FrameQBufMgr_POOL_MAXFRAMES : FrameQBufMgr.h
  • FrameQBufMgr_POOL_MAXHDRS : FrameQBufMgr.h
  • FrameQBufMgr_S_ALREADYDESTROYED : FrameQBufMgr.h
  • FrameQBufMgr_S_ALREADYSETUP : FrameQBufMgr.h
  • FrameQBufMgr_S_SUCCESS : FrameQBufMgr.h
  • FrameQBufMgr_ShMem_BUFINTERFACE_SHAREDMEM : FrameQBufMgr_ShMem.h
  • FrameQBufMgr_ShMem_BUFINTERFACE_TILERMEM : FrameQBufMgr_ShMem.h
  • FrameQBufMgr_ShMem_FrameBufParams : FrameQBufMgr_ShMem.h
  • FrameQBufMgr_ShMem_HDRINTERFACE_SHAREDMEM : FrameQBufMgr_ShMem.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • c
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • v

- g -

  • GateMonitor_E_BUSY : GateMonitor.h
  • GateMonitor_E_FAIL : GateMonitor.h
  • GateMonitor_E_HANDLE : GateMonitor.h
  • GateMonitor_E_INUSE : GateMonitor.h
  • GateMonitor_E_INVALIDARG : GateMonitor.h
  • GateMonitor_E_INVALIDSTATE : GateMonitor.h
  • GateMonitor_E_MEMORY : GateMonitor.h
  • GateMonitor_E_NOTFOUND : GateMonitor.h
  • GateMonitor_S_SUCCESS : GateMonitor.h
  • GateMP_E_ALREADYEXISTS : GateMP.h
  • GateMP_E_FAIL : GateMP.h
  • GateMP_E_INVALIDARG : GateMP.h
  • GateMP_E_INVALIDSTATE : GateMP.h
  • GateMP_E_MEMORY : GateMP.h
  • GateMP_E_NOTFOUND : GateMP.h
  • GateMP_E_OSFAILURE : GateMP.h
  • GateMP_E_RESOURCE : GateMP.h
  • GateMP_E_RESTART : GateMP.h
  • GateMP_E_TIMEOUT : GateMP.h
  • GateMP_S_ALREADYSETUP : GateMP.h
  • GateMP_S_BUSY : GateMP.h
  • GateMP_S_SUCCESS : GateMP.h
  • GateMutex_E_BUSY : GateMutex.h
  • GateMutex_E_FAIL : GateMutex.h
  • GateMutex_E_INUSE : GateMutex.h
  • GateMutex_E_INVALIDARG : GateMutex.h
  • GateMutex_E_INVALIDSTATE : GateMutex.h
  • GateMutex_E_MEMORY : GateMutex.h
  • GateMutex_E_NOTFOUND : GateMutex.h
  • GateMutex_S_SUCCESS : GateMutex.h
  • GateProcess_E_BUSY : GateProcess.h
  • GateProcess_E_FAIL : GateProcess.h
  • GateProcess_E_INUSE : GateProcess.h
  • GateProcess_E_INVALIDARG : GateProcess.h
  • GateProcess_E_INVALIDSTATE : GateProcess.h
  • GateProcess_E_MEMORY : GateProcess.h
  • GateProcess_E_NOTFOUND : GateProcess.h
  • GateProcess_S_SUCCESS : GateProcess.h
  • GateSem_E_BUSY : GateSem.h
  • GateSem_E_FAIL : GateSem.h
  • GateSem_E_HANDLE : GateSem.h
  • GateSem_E_INUSE : GateSem.h
  • GateSem_E_INVALIDARG : GateSem.h
  • GateSem_E_INVALIDSTATE : GateSem.h
  • GateSem_E_MEMORY : GateSem.h
  • GateSem_E_NOTFOUND : GateSem.h
  • GateSem_S_SUCCESS : GateSem.h
  • GateSpinlock_E_BUSY : GateSpinlock.h
  • GateSpinlock_E_FAIL : GateSpinlock.h
  • GateSpinlock_E_HANDLE : GateSpinlock.h
  • GateSpinlock_E_INUSE : GateSpinlock.h
  • GateSpinlock_E_INVALIDARG : GateSpinlock.h
  • GateSpinlock_E_INVALIDSTATE : GateSpinlock.h
  • GateSpinlock_E_MEMORY : GateSpinlock.h
  • GateSpinlock_E_NOTFOUND : GateSpinlock.h
  • GateSpinlock_S_SUCCESS : GateSpinlock.h
  • GT_0trace : Trace.h
  • GT_1trace : Trace.h
  • GT_2trace : Trace.h
  • GT_3trace : Trace.h
  • GT_4trace : Trace.h
  • GT_5trace : Trace.h
  • GT_6trace : Trace.h
  • GT_assert : Trace.h
  • GT_setFailureReason : Trace.h
  • GT_setTrace : Trace.h
  • GT_TRACECLASS_MASK : Trace.h
  • GT_TRACECLASS_SHIFT : Trace.h
  • GT_TRACEENTER_MASK : Trace.h
  • GT_TRACEENTER_SHIFT : Trace.h
  • GT_TRACESETFAILURE_MASK : Trace.h
  • GT_TRACESETFAILURE_SHIFT : Trace.h
  • GT_TRACESTATE_MASK : Trace.h
  • GT_TRACESTATE_SHIFT : Trace.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • c
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • v

- h -

  • HeapBufMP_E_ALREADYEXISTS : HeapBufMP.h
  • HeapBufMP_E_FAIL : HeapBufMP.h
  • HeapBufMP_E_INVALIDARG : HeapBufMP.h
  • HeapBufMP_E_INVALIDSTATE : HeapBufMP.h
  • HeapBufMP_E_MEMORY : HeapBufMP.h
  • HeapBufMP_E_NOTFOUND : HeapBufMP.h
  • HeapBufMP_E_OSFAILURE : HeapBufMP.h
  • HeapBufMP_E_RESOURCE : HeapBufMP.h
  • HeapBufMP_E_RESTART : HeapBufMP.h
  • HeapBufMP_E_TIMEOUT : HeapBufMP.h
  • HeapBufMP_S_ALREADYSETUP : HeapBufMP.h
  • HeapBufMP_S_BUSY : HeapBufMP.h
  • HeapBufMP_S_SUCCESS : HeapBufMP.h
  • HeapMemMP_E_ALREADYEXISTS : HeapMemMP.h
  • HeapMemMP_E_FAIL : HeapMemMP.h
  • HeapMemMP_E_INVALIDARG : HeapMemMP.h
  • HeapMemMP_E_INVALIDSTATE : HeapMemMP.h
  • HeapMemMP_E_MEMORY : HeapMemMP.h
  • HeapMemMP_E_NOTFOUND : HeapMemMP.h
  • HeapMemMP_E_OSFAILURE : HeapMemMP.h
  • HeapMemMP_E_RESOURCE : HeapMemMP.h
  • HeapMemMP_E_RESTART : HeapMemMP.h
  • HeapMemMP_E_TIMEOUT : HeapMemMP.h
  • HeapMemMP_S_ALREADYSETUP : HeapMemMP.h
  • HeapMemMP_S_BUSY : HeapMemMP.h
  • HeapMemMP_S_SUCCESS : HeapMemMP.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • c
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • v

- i -

  • IGateProvider_NULL : IGateProvider.h
  • IGateProvider_ObjectInitializer : IGateProvider.h
  • IGateProvider_Q_BLOCKING : IGateProvider.h
  • IGateProvider_Q_PREEMPTING : IGateProvider.h
  • IGateProvider_SuperObject : IGateProvider.h
  • Ipc_CONTROLCMD_LOADCALLBACK : IpcHost.h
  • Ipc_CONTROLCMD_SETTERMINATEPOLICY : IpcHost.h
  • Ipc_CONTROLCMD_STARTCALLBACK : IpcHost.h
  • Ipc_CONTROLCMD_STOPCALLBACK : IpcHost.h
  • Ipc_E_ALREADYEXISTS : Ipc.h
  • Ipc_E_FAIL : Ipc.h
  • Ipc_E_INVALIDARG : Ipc.h
  • Ipc_E_INVALIDSTATE : Ipc.h
  • Ipc_E_MEMORY : Ipc.h
  • Ipc_E_NOTFOUND : Ipc.h
  • Ipc_E_NOTREADY : Ipc.h
  • Ipc_E_OSFAILURE : Ipc.h
  • Ipc_E_RESOURCE : Ipc.h
  • Ipc_E_RESTART : Ipc.h
  • Ipc_E_TIMEOUT : Ipc.h
  • Ipc_S_ALREADYSETUP : Ipc.h
  • Ipc_S_BUSY : Ipc.h
  • Ipc_S_SUCCESS : Ipc.h
  • Ipc_TERMINATEPOLICY_NOTIFY : IpcHost.h
  • Ipc_TERMINATEPOLICY_STOP : IpcHost.h
  • IpcMemMgr_E_FAIL : IpcMemMgr.h
  • IpcMemMgr_E_INVALIDARG : IpcMemMgr.h
  • IpcMemMgr_E_INVALIDSTATE : IpcMemMgr.h
  • IpcMemMgr_E_MEMORY : IpcMemMgr.h
  • IpcMemMgr_E_NOTFOUND : IpcMemMgr.h
  • IpcMemMgr_E_OSFAILURE : IpcMemMgr.h
  • IpcMemMgr_E_TOOMANYNAMEDALLOCS : IpcMemMgr.h
  • IpcMemMgr_E_WRONGSIZE : IpcMemMgr.h
  • IpcMemMgr_MAX_NAMELEN : IpcMemMgr.h
  • IpcMemMgr_MAXNAMEDBUFFERS : IpcMemMgr.h
  • IpcMemMgr_MODULEID : IpcMemMgr.h
  • IpcMemMgr_S_ALREADYSETUP : IpcMemMgr.h
  • IpcMemMgr_S_NOTLAST : IpcMemMgr.h
  • IpcMemMgr_S_SUCCESS : IpcMemMgr.h
  • IpcMemMgr_SHAREDMEMNAME : IpcMemMgr.h
  • IS_VALID_PROCID : ProcMgr.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • c
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • v

- l -

  • List_traverse : List.h
  • ListMP_E_ALREADYEXISTS : ListMP.h
  • ListMP_E_FAIL : ListMP.h
  • ListMP_E_INVALIDARG : ListMP.h
  • ListMP_E_INVALIDSTATE : ListMP.h
  • ListMP_E_MEMORY : ListMP.h
  • ListMP_E_NOTFOUND : ListMP.h
  • ListMP_E_OSFAILURE : ListMP.h
  • ListMP_E_RESOURCE : ListMP.h
  • ListMP_E_RESTART : ListMP.h
  • ListMP_E_TIMEOUT : ListMP.h
  • ListMP_S_ALREADYSETUP : ListMP.h
  • ListMP_S_BUSY : ListMP.h
  • ListMP_S_SUCCESS : ListMP.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • c
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • v

- m -

  • MEMMGR_MAX_NAME_LENGTH : SyslinkMemMgr.h
  • MEMMGR_MAX_TILER_BLOCKS : SyslinkMemMgr.h
  • Memory_copy : Memory.h
  • Memory_Q_BLOCKING : Memory.h
  • Memory_set : Memory.h
  • MessageQ_E_ALREADYEXISTS : MessageQ.h
  • MessageQ_E_CANNOTFREESTATICMSG : MessageQ.h
  • MessageQ_E_FAIL : MessageQ.h
  • MessageQ_E_INVALIDARG : MessageQ.h
  • MessageQ_E_INVALIDHEAPID : MessageQ.h
  • MessageQ_E_INVALIDMSG : MessageQ.h
  • MessageQ_E_INVALIDPROCID : MessageQ.h
  • MessageQ_E_INVALIDSTATE : MessageQ.h
  • MessageQ_E_MAXREACHED : MessageQ.h
  • MessageQ_E_MEMORY : MessageQ.h
  • MessageQ_E_NOTFOUND : MessageQ.h
  • MessageQ_E_NOTOWNER : MessageQ.h
  • MessageQ_E_OSFAILURE : MessageQ.h
  • MessageQ_E_REMOTEACTIVE : MessageQ.h
  • MessageQ_E_RESOURCE : MessageQ.h
  • MessageQ_E_RESTART : MessageQ.h
  • MessageQ_E_TIMEOUT : MessageQ.h
  • MessageQ_E_UNBLOCKED : MessageQ.h
  • MessageQ_E_UNREGISTEREDHEAPID : MessageQ.h
  • MessageQ_FOREVER : MessageQ.h
  • MessageQ_getDstQueue : MessageQ.h
  • MessageQ_getMsgId : MessageQ.h
  • MessageQ_getMsgPri : MessageQ.h
  • MessageQ_getMsgSize : MessageQ.h
  • MessageQ_getProcId : MessageQ.h
  • MessageQ_getReplyQueue : MessageQ.h
  • MessageQ_INVALIDMESSAGEQ : MessageQ.h
  • MessageQ_INVALIDMSGID : MessageQ.h
  • MessageQ_PRIORITYMASK : MessageQ.h
  • MessageQ_S_ALREADYSETUP : MessageQ.h
  • MessageQ_S_BUSY : MessageQ.h
  • MessageQ_S_SUCCESS : MessageQ.h
  • MessageQ_setMsgId : MessageQ.h
  • MessageQ_setMsgPri : MessageQ.h
  • MultiProc_E_ALREADYEXISTS : MultiProc.h
  • MultiProc_E_FAIL : MultiProc.h
  • MultiProc_E_INVALIDARG : MultiProc.h
  • MultiProc_E_INVALIDSTATE : MultiProc.h
  • MultiProc_E_MEMORY : MultiProc.h
  • MultiProc_E_NOTFOUND : MultiProc.h
  • MultiProc_E_OSFAILURE : MultiProc.h
  • MultiProc_E_RESOURCE : MultiProc.h
  • MultiProc_E_RESTART : MultiProc.h
  • MultiProc_E_TIMEOUT : MultiProc.h
  • MultiProc_INVALIDID : MultiProc.h
  • MultiProc_S_ALREADYSETUP : MultiProc.h
  • MultiProc_S_BUSY : MultiProc.h
  • MultiProc_S_SUCCESS : MultiProc.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • c
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • v

- n -

  • NameServer_ALLOWGROWTH : NameServer.h
  • NameServer_E_ALREADYEXISTS : NameServer.h
  • NameServer_E_FAIL : NameServer.h
  • NameServer_E_INVALIDARG : NameServer.h
  • NameServer_E_INVALIDSTATE : NameServer.h
  • NameServer_E_MEMORY : NameServer.h
  • NameServer_E_NOTFOUND : NameServer.h
  • NameServer_E_OSFAILURE : NameServer.h
  • NameServer_E_RESOURCE : NameServer.h
  • NameServer_E_RESTART : NameServer.h
  • NameServer_E_TIMEOUT : NameServer.h
  • NameServer_Params_MAXNAMELEN : NameServer.h
  • NameServer_S_ALREADYSETUP : NameServer.h
  • NameServer_S_BUSY : NameServer.h
  • NameServer_S_SUCCESS : NameServer.h
  • Notify_E_ALREADYEXISTS : Notify.h
  • Notify_E_ALREADYSETUP : Notify.h
  • Notify_E_BUSY : Notify.h
  • Notify_E_DRIVERNOTREGISTERED : Notify.h
  • Notify_E_EVTDISABLED : Notify.h
  • Notify_E_EVTNOTREGISTERED : Notify.h
  • Notify_E_EVTRESERVED : Notify.h
  • Notify_E_FAIL : Notify.h
  • Notify_E_INVALIDARG : Notify.h
  • Notify_E_INVALIDSTATE : Notify.h
  • Notify_E_MEMORY : Notify.h
  • Notify_E_NOTFOUND : Notify.h
  • Notify_E_NOTINITIALIZED : Notify.h
  • Notify_E_OSFAILURE : Notify.h
  • Notify_E_RESOURCE : Notify.h
  • Notify_E_RESTART : Notify.h
  • Notify_E_TIMEOUT : Notify.h
  • Notify_MAX_INTLINES : Notify.h
  • Notify_MAXEVENTS : Notify.h
  • Notify_S_ALREADYSETUP : Notify.h
  • Notify_S_BUSY : Notify.h
  • Notify_S_SUCCESS : Notify.h
  • Notify_SYSTEMKEY : Notify.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • c
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • v

- o -

  • OSALPRINT_MODULEID : OsalPrint.h
  • OSALSEMAPHORE_E_FAIL : OsalSemaphore.h
  • OSALSEMAPHORE_E_HANDLE : OsalSemaphore.h
  • OSALSEMAPHORE_E_INVALIDARG : OsalSemaphore.h
  • OSALSEMAPHORE_E_MEMORY : OsalSemaphore.h
  • OSALSEMAPHORE_E_RESOURCE : OsalSemaphore.h
  • OSALSEMAPHORE_E_TIMEOUT : OsalSemaphore.h
  • OSALSEMAPHORE_E_WAITNONE : OsalSemaphore.h
  • OSALSEMAPHORE_INTTYPE_VALUE : OsalSemaphore.h
  • OSALSEMAPHORE_MAKE_FAILURE : OsalSemaphore.h
  • OSALSEMAPHORE_MAKE_SUCCESS : OsalSemaphore.h
  • OSALSEMAPHORE_MODULEID : OsalSemaphore.h
  • OSALSEMAPHORE_STATUSCODEBASE : OsalSemaphore.h
  • OSALSEMAPHORE_SUCCESS : OsalSemaphore.h
  • OSALSEMAPHORE_TYPE_VALUE : OsalSemaphore.h
  • OSALSEMAPHORE_WAIT_FOREVER : OsalSemaphore.h
  • OSALSEMAPHORE_WAIT_NONE : OsalSemaphore.h
  • OSALTRACE_MODULEID : Trace.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • c
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • v

- p -

  • ProcMgr_E_ACCESSDENIED : ProcMgr.h
  • ProcMgr_E_ALREADYEXISTS : ProcMgr.h
  • ProcMgr_E_FAIL : ProcMgr.h
  • ProcMgr_E_HANDLE : ProcMgr.h
  • ProcMgr_E_INVALIDARG : ProcMgr.h
  • ProcMgr_E_INVALIDSTATE : ProcMgr.h
  • ProcMgr_E_MAP : ProcMgr.h
  • ProcMgr_E_MEMORY : ProcMgr.h
  • ProcMgr_E_NOTFOUND : ProcMgr.h
  • ProcMgr_E_OSFAILURE : ProcMgr.h
  • ProcMgr_E_RESOURCE : ProcMgr.h
  • ProcMgr_E_RESTART : ProcMgr.h
  • ProcMgr_E_SYMBOLNOTFOUND : ProcMgr.h
  • ProcMgr_E_TIMEOUT : ProcMgr.h
  • ProcMgr_E_TRANSLATE : ProcMgr.h
  • ProcMgr_MASTERKNLVIRT : ProcMgr.h
  • ProcMgr_MASTERUSRVIRT : ProcMgr.h
  • ProcMgr_S_ALREADYEXISTS : ProcMgr.h
  • ProcMgr_S_ALREADYSETUP : ProcMgr.h
  • ProcMgr_S_BUSY : ProcMgr.h
  • ProcMgr_S_OPENHANDLE : ProcMgr.h
  • ProcMgr_S_SETUP : ProcMgr.h
  • ProcMgr_S_SUCCESS : ProcMgr.h
  • ProcMgr_SLAVEVIRT : ProcMgr.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • c
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • v

- r -

  • ResTrack_E_FAIL : ResTrack.h
  • ResTrack_E_MEMORY : ResTrack.h
  • ResTrack_E_NOTFOUND : ResTrack.h
  • ResTrack_E_PID : ResTrack.h
  • ResTrack_S_SUCCESS : ResTrack.h
  • RingIO_E_ALREADYEXISTS : RingIO.h
  • RingIO_E_BADVERSION : RingIO.h
  • RingIO_E_BUFEMPTY : RingIO.h
  • RingIO_E_BUFFULL : RingIO.h
  • RingIO_E_BUFWRAP : RingIO.h
  • RingIO_E_FAIL : RingIO.h
  • RingIO_E_INUSE : RingIO.h
  • RingIO_E_INVALIDARG : RingIO.h
  • RingIO_E_INVALIDCONTEXT : RingIO.h
  • RingIO_E_INVALIDHEAPID : RingIO.h
  • RingIO_E_INVALIDMSG : RingIO.h
  • RingIO_E_INVALIDPROCID : RingIO.h
  • RingIO_E_INVALIDSTATE : RingIO.h
  • RingIO_E_MAXREACHED : RingIO.h
  • RingIO_E_MEMORY : RingIO.h
  • RingIO_E_NOTFOUND : RingIO.h
  • RingIO_E_NOTIFYFAIL : RingIO.h
  • RingIO_E_NOTOWNER : RingIO.h
  • RingIO_E_OSFAILURE : RingIO.h
  • RingIO_E_PENDINGATTRIBUTE : RingIO.h
  • RingIO_E_PENDINGDATA : RingIO.h
  • RingIO_E_REMOTEACTIVE : RingIO.h
  • RingIO_E_RESOURCE : RingIO.h
  • RingIO_E_RESTART : RingIO.h
  • RingIO_E_TIMEOUT : RingIO.h
  • RingIO_E_VARIABLEATTRIBUTE : RingIO.h
  • RingIO_E_WRONGSTATE : RingIO.h
  • RingIO_S_ALREADYSETUP : RingIO.h
  • RingIO_S_BUSY : RingIO.h
  • RingIO_S_NOTCONTIGUOUSDATA : RingIO.h
  • RingIO_S_PENDINGATTRIBUTE : RingIO.h
  • RingIO_S_SUCCESS : RingIO.h
  • RingIOShm_E_BADVERSION : RingIOShm.h
  • RingIOShm_E_BUFEMPTY : RingIOShm.h
  • RingIOShm_E_BUFFULL : RingIOShm.h
  • RingIOShm_E_BUFWRAP : RingIOShm.h
  • RingIOShm_E_FAIL : RingIOShm.h
  • RingIOShm_E_INVALIDARG : RingIOShm.h
  • RingIOShm_E_INVALIDCONTEXT : RingIOShm.h
  • RingIOShm_E_INVALIDPROCID : RingIOShm.h
  • RingIOShm_E_INVALIDSTATE : RingIOShm.h
  • RingIOShm_E_MEMORY : RingIOShm.h
  • RingIOShm_E_OSFAILURE : RingIOShm.h
  • RingIOShm_E_PENDINGDATA : RingIOShm.h
  • RingIOShm_E_VARIABLEATTRIBUTE : RingIOShm.h
  • RingIOShm_E_WRONGSTATE : RingIOShm.h
  • RingIOShm_MODULEID : RingIOShm.h
  • RingIOShm_S_ALREADYSETUP : RingIOShm.h
  • RingIOShm_S_PENDINGATTRIBUTE : RingIOShm.h
  • RingIOShm_S_SUCCESS : RingIOShm.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • c
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • v

- s -

  • SharedRegion_E_ALREADYEXISTS : SharedRegion.h
  • SharedRegion_E_FAIL : SharedRegion.h
  • SharedRegion_E_INVALIDARG : SharedRegion.h
  • SharedRegion_E_INVALIDSTATE : SharedRegion.h
  • SharedRegion_E_MEMORY : SharedRegion.h
  • SharedRegion_E_NOTFOUND : SharedRegion.h
  • SharedRegion_E_OSFAILURE : SharedRegion.h
  • SharedRegion_E_RESOURCE : SharedRegion.h
  • SharedRegion_E_RESTART : SharedRegion.h
  • SharedRegion_E_TIMEOUT : SharedRegion.h
  • SharedRegion_INVALIDREGIONID : SharedRegion.h
  • SharedRegion_S_ALREADYSETUP : SharedRegion.h
  • SharedRegion_S_BUSY : SharedRegion.h
  • SharedRegion_S_SUCCESS : SharedRegion.h
  • SyslinkMemMgr_Params : SyslinkMemMgr.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • c
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • v

- t -

  • TRUE : Std.h


SysLink API Reference: Globals

  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Macros
  • c
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • r
  • s
  • t
  • v

- v -

  • Void : Std.h


SysLink API Reference: $title

IMPORTANT NOTICE

Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, modifications, enhancements, improvements, and other changes to its products and services at any time and to discontinue any product or service without notice. Customers should obtain the latest relevant information before placing orders and should verify that such information is current and complete. All products are sold subject to TI's terms and conditions of sale supplied at the time of order acknowledgment.

TI warrants performance of its hardware products to the specifications applicable at the time of sale in accordance with TI's standard warranty. Testing and other quality control techniques are used to the extent TI deems necessary to support this warranty. Except where mandated by government requirements, testing of all parameters of each product is not necessarily performed.

TI assumes no liability for applications assistance or customer product design. Customers are responsible for their products and applications using TI components. To minimize the risks associated with customer products and applications, customers should provide adequate design and operating safeguards.

TI does not warrant or represent that any license, either express or implied, is granted under any TI patent right, copyright, mask work right, or other TI intellectual property right relating to any combination, machine, or process in which TI products or services are used. Information published by TI regarding third party products or services does not constitute a license from TI to use such products or services or a warranty or endorsement thereof. Use of such information may require a license from a third party under the patents or other intellectual property of that third party, or a license from TI under the patents or other intellectual property of TI.

Reproduction of information in TI data books or data sheets is permissible only if reproduction is without alteration and is accompanied by all associated warranties, conditions, limitations, and notices. Reproduction of this information with alteration is an unfair and deceptive business practice. TI is not responsible or liable for such altered documentation.

Resale of TI products or services with statements different from or beyond the parameters stated by TI for that product or service voids all express and any implied warranties for the associated TI product or service and is an unfair and deceptive business practice. TI is not responsible or liable for any such statements.

Mailing Address:

    Texas Instruments
    Post Office Box 655303
    Dallas, Texas 75265


SysLink API Reference: Deprecated List

Deprecated List
File FrameQ.h
The FrameQ APIs are deprecated as of SysLink 2.20. While supported in this release, they will be removed in a future release.
File FrameQ_ShMem.h
The FrameQ APIs are deprecated as of SysLink 2.20. While supported in this release, they will be removed in a future release.
File FrameQBufMgr.h
The FrameQ APIs are deprecated as of SysLink 2.20. While supported in this release, they will be removed in a future release.
File FrameQBufMgr_ShMem.h
The FrameQ APIs are deprecated as of SysLink 2.20. While supported in this release, they will be removed in a future release.
File FrameQDefs.h
The FrameQ APIs are deprecated as of SysLink 2.20. While supported in this release, they will be removed in a future release.


SysLink API Reference: ti/syslink/utils/Cache.h Source File

  • ti
  • syslink
  • utils
Cache.h
Go to the documentation of this file.
1
8 /*
9 * ============================================================================
10 *
11 * Copyright (c) 2008-2012, Texas Instruments Incorporated
12 *
13 * Redistribution and use in source and binary forms, with or without
14 * modification, are permitted provided that the following conditions
15 * are met:
16 *
17 * * Redistributions of source code must retain the above copyright
18 * notice, this list of conditions and the following disclaimer.
19 *
20 * * Redistributions in binary form must reproduce the above copyright
21 * notice, this list of conditions and the following disclaimer in the
22 * documentation and/or other materials provided with the distribution.
23 *
24 * * Neither the name of Texas Instruments Incorporated nor the names of
25 * its contributors may be used to endorse or promote products derived
26 * from this software without specific prior written permission.
27 *
28 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
29 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
30 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
31 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
32 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
35 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
36 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
37 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
38 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39 * Contact information for paper mail:
40 * Texas Instruments
41 * Post Office Box 655303
42 * Dallas, Texas 75265
43 * Contact information:
44 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
45 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
46 * ============================================================================
47 *
48 */
49
50
51
52 #ifndef CACHE_H
53 #define CACHE_H
54
55
56 #if defined (__cplusplus)
57 extern "C" {
58 #endif /* defined (__cplusplus) */
59
60 /* =============================================================================
61 * All success and failure codes for the module
62 * =============================================================================
63 */
64
69 #define Cache_S_ALREADYSETUP (1)
70
75 #define Cache_S_SUCCESS (0)
76
81 #define Cache_E_FAIL (-1)
82
87 #define Cache_E_INVALIDARG (-2)
88
93 #define Cache_E_OSFAILURE (-3)
94
95 /* ================================
96 * Enums for the module
97 * ================================
98 */
100 enum Cache_Type {
101 Cache_Type_L1P = 0x1,
102 Cache_Type_L1D = 0x2,
103 Cache_Type_L1 = 0x3,
104 Cache_Type_L2P = 0x4,
105 Cache_Type_L2D = 0x8,
106 Cache_Type_L2 = 0xC,
107 Cache_Type_ALL = 0xffff
108 };
109
111 enum Cache_Mode {
112 Cache_Mode_FREEZE,
113 Cache_Mode_BYPASS,
114 Cache_Mode_NORMAL
115 };
116
122 Void Cache_inv(Ptr blockPtr, UInt32 byteCnt, Bits16 type, Bool wait);
123
129 Void Cache_wb(Ptr blockPtr, UInt32 byteCnt, Bits16 type, Bool wait);
130
136 Void Cache_wbInv(Ptr blockPtr, UInt32 byteCnt, Bits16 type, Bool wait);
137
143 Void Cache_wait(Void);
144
150 enum Cache_Mode Cache_setMode(Bits16 type, enum Cache_Mode mode);
151
152 #if defined (__cplusplus)
153 }
154 #endif /* defined (__cplusplus) */
155
156
157 #endif /* CACHE_H */


SysLink API Reference: ti/syslink/utils/Cfg.h Source File

  • ti
  • syslink
  • utils
Cfg.h
Go to the documentation of this file.
1
8 /*
9 * ============================================================================
10 *
11 * Copyright (c) 2008-2012, Texas Instruments Incorporated
12 *
13 * Redistribution and use in source and binary forms, with or without
14 * modification, are permitted provided that the following conditions
15 * are met:
16 *
17 * * Redistributions of source code must retain the above copyright
18 * notice, this list of conditions and the following disclaimer.
19 *
20 * * Redistributions in binary form must reproduce the above copyright
21 * notice, this list of conditions and the following disclaimer in the
22 * documentation and/or other materials provided with the distribution.
23 *
24 * * Neither the name of Texas Instruments Incorporated nor the names of
25 * its contributors may be used to endorse or promote products derived
26 * from this software without specific prior written permission.
27 *
28 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
29 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
30 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
31 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
32 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
35 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
36 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
37 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
38 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39 * Contact information for paper mail:
40 * Texas Instruments
41 * Post Office Box 655303
42 * Dallas, Texas 75265
43 * Contact information:
44 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
45 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
46 * ============================================================================
47 *
48 */
49
50
51
52 #ifndef ti_syslink_utils_Cfg
53 #define ti_syslink_utils_Cfg
54
55 #include <ti/syslink/utils/String.h>
56
57
58 #if defined (__cplusplus)
59 extern "C" {
60 #endif
61
62
63 /* =============================================================================
64 * APIs
65 * =============================================================================
66 */
67
68 /* Find property in params, return value string */
69 Bool Cfg_prop(String prop, String params, Char *buf);
70
71 /* Set var with property value found in params string. */
72 Int Cfg_propBool(String prop, String params, Bool *var);
73
74
75 #if defined (__cplusplus)
76 }
77 #endif /* defined (__cplusplus) */
78
79 #endif /* ti_syslink_utils_Cfg */


SysLink API Reference: ti/syslink/utils/Dev.h Source File

  • ti
  • syslink
  • utils
Dev.h
Go to the documentation of this file.
1
8 /*
9 * ============================================================================
10 *
11 * Copyright (c) 2008-2012, Texas Instruments Incorporated
12 *
13 * Redistribution and use in source and binary forms, with or without
14 * modification, are permitted provided that the following conditions
15 * are met:
16 *
17 * * Redistributions of source code must retain the above copyright
18 * notice, this list of conditions and the following disclaimer.
19 *
20 * * Redistributions in binary form must reproduce the above copyright
21 * notice, this list of conditions and the following disclaimer in the
22 * documentation and/or other materials provided with the distribution.
23 *
24 * * Neither the name of Texas Instruments Incorporated nor the names of
25 * its contributors may be used to endorse or promote products derived
26 * from this software without specific prior written permission.
27 *
28 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
29 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
30 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
31 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
32 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
35 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
36 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
37 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
38 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39 * Contact information for paper mail:
40 * Texas Instruments
41 * Post Office Box 655303
42 * Dallas, Texas 75265
43 * Contact information:
44 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
45 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
46 * ============================================================================
47 *
48 */
49
50
51 #ifndef DEV_H
52 #define DEV_H
53
54
55 #if defined (__cplusplus)
56 extern "C" {
57 #endif /* defined (__cplusplus) */
58
59
60 #include <ti/syslink/Std.h>
61
62 Int32 Dev_pollOpen(String deviceFilename, Int flags);
63
64 #if defined (__cplusplus)
65 }
66 #endif /* defined (__cplusplus) */
67
68
69 #endif /* DEV_H */
70


SysLink API Reference: ti/syslink/FrameQ.h Source File

  • ti
  • syslink
FrameQ.h
Go to the documentation of this file.
1
10 /*
11 * ============================================================================
12 *
13 * Copyright (c) 2008-2012, Texas Instruments Incorporated
14 *
15 * Redistribution and use in source and binary forms, with or without
16 * modification, are permitted provided that the following conditions
17 * are met:
18 *
19 * * Redistributions of source code must retain the above copyright
20 * notice, this list of conditions and the following disclaimer.
21 *
22 * * Redistributions in binary form must reproduce the above copyright
23 * notice, this list of conditions and the following disclaimer in the
24 * documentation and/or other materials provided with the distribution.
25 *
26 * * Neither the name of Texas Instruments Incorporated nor the names of
27 * its contributors may be used to endorse or promote products derived
28 * from this software without specific prior written permission.
29 *
30 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
31 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
32 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
33 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
34 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
35 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
36 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
37 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
38 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
39 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
40 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
41 * Contact information for paper mail:
42 * Texas Instruments
43 * Post Office Box 655303
44 * Dallas, Texas 75265
45 * Contact information:
46 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
47 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
48 * ============================================================================
49 *
50 */
51
52
53 #ifndef FRAMEQ_H_0x6e6f
54 #define FRAMEQ_H_0x6e6f
55
56 #include <ti/syslink/FrameQDefs.h>
57 #include <ti/syslink/SysLink.h>
58 #include <ti/ipc/Notify.h>
59
60 #if defined (__cplusplus)
61 extern "C" {
62 #endif
63
64 /* =============================================================================
65 * All success and failure codes for the module
66 * =============================================================================
67 */
71 #define FrameQ_S_ALREADYDESTROYED 2
72
76 #define FrameQ_S_ALREADYSETUP 1
77
81 #define FrameQ_S_SUCCESS 0
82
86 #define FrameQ_E_FAIL -1
87
91 #define FrameQ_E_INVALIDARG -2
92
96 #define FrameQ_E_NOTFOUND -3
97
101 #define FrameQ_E_INST_EXISTS -4
102
106 #define FrameQ_E_WRITER_EXISTS -5
107
111 #define FrameQ_E_ALLOC_FRAME -6
112
116 #define FrameQ_E_ALLOC_FRAMEBUF -7
117
121 #define FrameQ_E_MEMORY -8
122
126 #define FrameQ_E_EMPTY -9
127
131 #define FrameQ_E_CREATE_NAMESERVER -10
132
136 #define FrameQ_E_CREATE_GATEMP -11
137
141 #define FrameQ_E_OPEN_GATEMP -12
142
146 #define FrameQ_E_FAIL_CLIENTN0TIFYMGR_CREATE -13
147
151 #define FrameQ_E_FAIL_CLIENTN0TIFYMGR_OPEN -14
152
156 #define FrameQ_E_MAX_READERS -15
157
161 #define FrameQ_E_ACCESSDENIED -16
162
166 #define FrameQ_E_INVALIDSTATE -17
167
171 #define FrameQ_E_OSFAILURE -18
172
176 #define FrameQ_E_FAIL_NAMESERVERADD -19
177
181 #define FrameQ_E_INVALID_INTERFACE -20
182
186 #define FrameQ_E_NOTIMPLEMENTED -21
187
191 #define FrameQ_E_OPEN_NAMESERVER -22
192
196 #define FrameQ_E_INVALID_FRAMEQBUFMGRID -23
197
202 #define FrameQ_E_INSUFFICENT_FRAMES -24
203
207 #define FrameQ_E_ALLOC_MEMORY -25
208
212 #define FrameQ_E_FRAMEQBUFMGROPEN -26
213
217 #define FrameQ_E_LISTMPOPEN -27
218
222 #define FrameQ_E_CLIENTNOTIFYMGRREGCLIENT -28
223
227 #define FrameQ_E_FRAMEQBUFMGRREGCLIENT -29
228
232 #define FrameQ_E_CLIENTNOTIFYMGRUNREGCLIENT -30
233
237 #define FrameQ_E_FRAMEQBUFMGRUNREGCLIENT -31
238
242 #define FrameQ_E_ALREADYREGISTERED -32
243
247 #define FrameQ_E_NAMESERVERADD -33
248
249 /* =============================================================================
250 * macros & defines
251 * =============================================================================
252 */
256 #define FrameQ_FrameBufInfo Frame_FrameBufInfo
257
261 #define FrameQ_FrameHeader Frame_FrameHeader
262
266 typedef Frame_FrameHeader * FrameQ_Frame;
267
271 #define FrameQ_MAX_NAMELEN (32u)
272
276 #define FrameQ_MAXFILLEDQUEUS_FOR_READER (16)
277
281 #define FrameQ_MAX_INST_READERS (2u)
282
283
287 #define FrameQ_MAX_INSTANCES (64u)
288
292 #define FrameQ_NOTIFY_RESERVED_EVENTNO (1u)
293
299 typedef UInt16 FrameQ_NotifyMsg;
300
301 /* =============================================================================
302 * Structures & Enums
303 * =============================================================================
304 */
305
309 typedef struct FrameQ_Object * FrameQ_Handle;
310
314 typedef void (* FrameQ_NotifyFunc) (FrameQ_Handle, Ptr arg, FrameQ_NotifyMsg);
315
319 typedef enum FrameQ_NotifyType_Tag {
320 FrameQ_NOTIFICATION_NONE = SysLink_NOTIFICATION_NONE,
322 FrameQ_NOTIFICATION_ALWAYS = SysLink_NOTIFICATION_ALWAYS,
324 FrameQ_NOTIFICATION_ONCE = SysLink_NOTIFICATION_ONCE,
329 FrameQ_NOTIFICATION_HDWRFIFO_ALWAYS = SysLink_NOTIFICATION_HDWRFIFO_ALWAYS,
333 FrameQ_NOTIFICATION_HDWRFIFO_ONCE = SysLink_NOTIFICATION_HDWRFIFO_ONCE
339 } FrameQ_NotifyType;
340
344 typedef enum FrameQ_OpenMode_Tag {
345 FrameQ_MODE_NONE,
347 FrameQ_MODE_WRITER,
349 FrameQ_MODE_READER
351 } FrameQ_OpenMode;
352
357 typedef enum FrameQ_CpuAccessFlags_Tag {
358 FrameQ_FRAMEBUF0_CPUACCESS = 0x10000,
362 FrameQ_FRAMEBUF1_CPUACCESS = 0x20000,
366 FrameQ_FRAMEBUF2_CPUACCESS = 0x40000,
370 FrameQ_FRAMEBUF3_CPUACCESS = 0x80000,
374 FrameQ_FRAMEBUF4_CPUACCESS = 0x100000,
378 FrameQ_FRAMEBUF5_CPUACCESS = 0x200000,
382 FrameQ_FRAMEBUF6_CPUACCESS = 0x400000,
386 FrameQ_FRAMEBUF7_CPUACCESS = 0x800000
390 } FrameQ_CpuAccessFlags;
391
395 typedef enum FrameQ_Interface_Tag {
396 FrameQ_INTERFACE_SHAREDMEM = 0x0,
400 FrameQ_INTERFACE_NONE = 0x1
401 } FrameQ_Interface;
402
406 typedef struct FrameQ_Config_Tag {
407 UInt32 eventNo;
410 UInt8 maxInstances;
413 UInt32 usedefaultgate;
421 } FrameQ_Config;
422
428 typedef struct FrameQ_CreateParams_Tag {
429 UInt32 size;
431 FrameQ_Interface ctrlInterfaceType;
433 String name;
435 Bool openFlag;
436 /* Open flag to indicate create/open. internal flag. Caller should not
437 * touch this flag during create
438 */
439 } FrameQ_CreateParams;
440
445 typedef struct FrameQ_CommonOpenParams_Tag {
446 String name;
448 Ptr sharedAddr;
450 UInt32 openMode;
452 UInt32 cpuAccessFlags;
456 } FrameQ_CommonOpenParams;
457
463 typedef struct FrameQ_Params {
464 FrameQ_CreateParams commonCreateParams;
465 Ptr impParams;
468 UInt32 impParamsSize;
470 } FrameQ_Params;
471
475 typedef struct FrameQ_NotifyParams_Tag {
476 FrameQ_NotifyType notifyType;
478 UInt32 watermark;
482 FrameQ_NotifyFunc cbFxnPtr;
484 Ptr cbContext;
486 Ptr cbClientHandle;
489 } FrameQ_NotifyParams;
490
491 /* =============================================================================
492 * APIs
493 * =============================================================================
494 */
508 Int32 FrameQ_isSupportedInterface(UInt32 type);
509
526 FrameQ_Handle FrameQ_create(Ptr params);
527
544 Int32 FrameQ_delete(FrameQ_Handle *pHandle);
545
571 Int32 FrameQ_open(Ptr openParams, FrameQ_Handle *handlePtr);
572
599 Int32 FrameQ_openByAddr(FrameQ_Handle *handlePtr, Ptr openParams);
600
616 Int32 FrameQ_close(FrameQ_Handle *pHandle);
617
641 Int32 FrameQ_alloc(FrameQ_Handle handle, FrameQ_Frame *framePtr);
642
674 Int32 FrameQ_allocv(FrameQ_Handle handle, FrameQ_Frame framePtr[],
675 UInt32 freeQId[], UInt8 *numFrames);
676
698 Int32 FrameQ_free(FrameQ_Handle handle, FrameQ_Frame frame);
699
724 Int32 FrameQ_freev(FrameQ_Handle handle, FrameQ_Frame framePtr[],
725 UInt32 numFrames);
726
750 Int32 FrameQ_put(FrameQ_Handle handle, FrameQ_Frame frame);
751
776 Int32 FrameQ_putv(FrameQ_Handle handle, FrameQ_Frame framePtr[],
777 UInt32 filledQueueId[], UInt8 numFrames);
778
797 Int32 FrameQ_get(FrameQ_Handle handle, FrameQ_Frame *framePtr);
798
831 Int32 FrameQ_getv(FrameQ_Handle handle, FrameQ_Frame pframe[],
832 UInt32 filledQueueId[], UInt8 *numFrames);
833
853 Int32 FrameQ_dup(FrameQ_Handle handle, FrameQ_Frame frame,
854 FrameQ_Frame *dupedFrame);
855
876 Int32 FrameQ_registerNotifier(FrameQ_Handle handle,
877 FrameQ_NotifyParams *notifyParams);
878
892 Int32 FrameQ_unregisterNotifier(FrameQ_Handle handle);
893
910 Int32 FrameQ_sendNotify(FrameQ_Handle handle, UInt16 msg);
911
929 Int32 FrameQ_getNumFrames(FrameQ_Handle handle, UInt32 *numFrames);
930
949 Int32 FrameQ_getvNumFrames(FrameQ_Handle handle, UInt32 numFrames[],
950 UInt8 filledQId[], UInt8 numFilledQids);
951
972 Int32 FrameQ_getNumFreeFrames(FrameQ_Handle handle, UInt32 *numFreeFrames);
973
996 Int32 FrameQ_getvNumFreeFrames(FrameQ_Handle handle, UInt32 numFreeFrames[],
997 UInt8 freeQId[], UInt8 numFreeQids);
998
1009 Int32 FrameQ_control(FrameQ_Handle handle, Int32 cmd, Ptr arg);
1010
1018 Ptr FrameQ_getExtendedHeaderPtr(FrameQ_Frame frame);
1019
1020
1021 /*=============================================================================
1022 * Helper APIs
1023 *=============================================================================
1024 */
1032 UInt32 FrameQ_getNumFrameBuffers(FrameQ_Frame frame);
1033
1042 Ptr FrameQ_getFrameBuffer(FrameQ_Frame frame, UInt32 frameBufNum);
1043
1052 UInt32 FrameQ_getFrameBufSize(FrameQ_Frame frame, UInt32 frameBufNum);
1053
1062 UInt32 FrameQ_getFrameBufValidSize(FrameQ_Frame frame, UInt32 frameBufNum);
1063
1073 UInt32 FrameQ_getFrameBufDataStartOffset(FrameQ_Frame frame,
1074 UInt32 frameBufNum);
1075
1087 Int32 FrameQ_setFrameBufValidSize(FrameQ_Frame frame, UInt32 frameBufNum,
1088 UInt32 validDataSize);
1089
1102 Int32 FrameQ_setFrameBufDataStartOffset(FrameQ_Frame frame,
1103 UInt32 frameBufNum, UInt32 dataStartOffset);
1104
1105
1121 Void FrameQ_getConfig(FrameQ_Config *cfg);
1122
1123
1145 Int32 FrameQ_setup(FrameQ_Config *cfg);
1146
1147
1153 Int32 FrameQ_destroy(Void);
1154
1155
1156 #if defined (__cplusplus)
1157 }
1158 #endif
1159
1160
1161 #endif /*FRAMEQ_H_0x6e6f*/


SysLink API Reference: ti/syslink/FrameQ_ShMem.h Source File

  • ti
  • syslink
FrameQ_ShMem.h
Go to the documentation of this file.
1
10 /*
11 * ============================================================================
12 *
13 * Copyright (c) 2008-2012, Texas Instruments Incorporated
14 *
15 * Redistribution and use in source and binary forms, with or without
16 * modification, are permitted provided that the following conditions
17 * are met:
18 *
19 * * Redistributions of source code must retain the above copyright
20 * notice, this list of conditions and the following disclaimer.
21 *
22 * * Redistributions in binary form must reproduce the above copyright
23 * notice, this list of conditions and the following disclaimer in the
24 * documentation and/or other materials provided with the distribution.
25 *
26 * * Neither the name of Texas Instruments Incorporated nor the names of
27 * its contributors may be used to endorse or promote products derived
28 * from this software without specific prior written permission.
29 *
30 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
31 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
32 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
33 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
34 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
35 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
36 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
37 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
38 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
39 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
40 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
41 * Contact information for paper mail:
42 * Texas Instruments
43 * Post Office Box 655303
44 * Dallas, Texas 75265
45 * Contact information:
46 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
47 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
48 * ============================================================================
49 *
50 */
51
52
53 #ifndef FRAMEQ_SHMEM_H
54 #define FRAMEQ_SHMEM_H
55
56 #include <ti/ipc/GateMP.h>
57
58 #if defined (__cplusplus)
59 extern "C" {
60 #endif
61
62 /* =============================================================================
63 * Macros & defines
64 * =============================================================================
65 */
66
67 typedef FrameQ_Config FrameQ_ShMem_Config ;
68
69 /* =============================================================================
70 * Structures & Enums
71 * =============================================================================
72 */
73
78 typedef struct FrameQ_ShMem_Params_tag {
79 FrameQ_CreateParams commonCreateParams;
82 GateMP_Handle gate;
95 GateMP_LocalProtect localProtect;
101 GateMP_RemoteProtect remoteProtect;
107 Ptr sharedAddr;
118 UInt32 sharedAddrSize;
128 UInt32 regionId;
136 UInt32 numReaders;
141 UInt32 numQueues;
145 UInt32 cpuAccessFlags;
152 String frameQBufMgrName;
160 Ptr frameQBufMgrSharedAddr;
165 } FrameQ_ShMem_Params;
166
167
172 typedef struct FrameQ_ShMem_OpenParams_tag {
173 FrameQ_CommonOpenParams commonOpenParams;
175 }FrameQ_ShMem_OpenParams;
176
177
178 /* =============================================================================
179 * APIs
180 * =============================================================================
181 */
182
192 void
193 FrameQ_ShMem_Params_init(FrameQ_ShMem_Params * params);
194
207 UInt32
208 FrameQ_ShMem_sharedMemReq (const FrameQ_ShMem_Params * params);
209
210 /*
211 * @brief Get the default configuration for the FrameQ_ShMem module.
212 *
213 * This function can be called by the application to get their
214 * configuration parameter to FrameQ_setup filled in by
215 * the FrameQ module with the default parameters. If the
216 * user does not wish to make any change in the default parameters,
217 * this API is not required to be called.
218 *
219 * @param cfg Pointer to the FrameQ module configuration
220 * structure in which the default config is to be
221 * returned.
222 *
223 * @sa FrameQ_setup
224 */
225 Void FrameQ_ShMem_getConfig(FrameQ_ShMem_Config *cfg);
226
227 /*
228 * @brief Setup the FrameQ module.
229 *
230 * This function sets up the FrameQ module. This function
231 * must be called before any other instance-level APIs can be
232 * invoked.
233 * Module-level configuration needs to be provided to this
234 * function. If the user wishes to change some specific config
235 * parameters, then FrameQ_getConfig can be called to get
236 * the configuration filled with the default values. After this,
237 * only the required configuration values can be changed. If the
238 * user does not wish to make any change in the default parameters,
239 * the application can simply call FrameQ_setup with NULL
240 * parameters. The default parameters would get automatically used.
241 *
242 * @param cfg Optional FrameQ module configuration. If provided
243 * as NULL, default configuration is used.
244 *
245 * @sa FrameQ_destroy, FrameQ_getConfig
246 */
247 Int32
248 FrameQ_ShMem_setup (FrameQ_ShMem_Config * cfg);
249
250 /*
251 * ======== FrameQ_ShMem_destroy ========
252 * API to finalize the module.
253 */
254 Int32
255 FrameQ_ShMem_destroy (void);
256
257 #if defined (__cplusplus)
258 }
259 #endif
260
261
262 #endif /* FRAMEQ_SHMEM_H */
263


SysLink API Reference: ti/syslink/FrameQBufMgr.h Source File

  • ti
  • syslink
FrameQBufMgr.h
Go to the documentation of this file.
1
10 /*
11 * ============================================================================
12 *
13 * Copyright (c) 2008-2012, Texas Instruments Incorporated
14 *
15 * Redistribution and use in source and binary forms, with or without
16 * modification, are permitted provided that the following conditions
17 * are met:
18 *
19 * * Redistributions of source code must retain the above copyright
20 * notice, this list of conditions and the following disclaimer.
21 *
22 * * Redistributions in binary form must reproduce the above copyright
23 * notice, this list of conditions and the following disclaimer in the
24 * documentation and/or other materials provided with the distribution.
25 *
26 * * Neither the name of Texas Instruments Incorporated nor the names of
27 * its contributors may be used to endorse or promote products derived
28 * from this software without specific prior written permission.
29 *
30 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
31 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
32 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
33 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
34 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
35 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
36 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
37 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
38 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
39 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
40 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
41 * Contact information for paper mail:
42 * Texas Instruments
43 * Post Office Box 655303
44 * Dallas, Texas 75265
45 * Contact information:
46 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
47 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
48 * ============================================================================
49 *
50 */
51
52
53
54 #ifndef FRAMEQBUFMGR_H
55 #define FRAMEQBUFMGR_H
56
57
58 /* Module headers */
59 #include <ti/syslink/FrameQDefs.h>
60 #include <ti/syslink/SysLink.h>
61 #include <ti/ipc/Notify.h>
62
63 #if defined (__cplusplus)
64 extern "C" {
65 #endif
66
70 #define FrameQBufMgr_S_ALREADYDESTROYED 2
71
75 #define FrameQBufMgr_S_ALREADYSETUP 1
76
80 #define FrameQBufMgr_S_SUCCESS 0
81
85 #define FrameQBufMgr_E_FAIL -1
86
90 #define FrameQBufMgr_E_INVALIDARG -2
91
95 #define FrameQBufMgr_E_NOTFOUND -3
96
100 #define FrameQBufMgr_E_INST_EXISTS -4
101
105 #define FrameQBufMgr_E_ALLOC_BUF -5
106
110 #define FrameQBufMgr_E_ALLOC_MEMORY -6
111
115 #define FrameQBufMgr_E_CREATE_NAMESERVER -7
116
120 #define FrameQBufMgr_E_FAIL_CLIENTN0TIFYMGR_CREATE -8
121
125 #define FrameQBufMgr_E_CLIENTN0TIFYMGR_OPEN -9
126
130 #define FrameQBufMgr_E_CREATE_GATEMP -10
131
135 #define FrameQBufMgr_E_OPEN_GATEMP -11
136
140 #define FrameQBufMgr_E_MAX_CLIENTS -12
141
145 #define FrameQBufMgr_E_ACCESSDENIED -13
146
150 #define FrameQBufMgr_E_NOTIMPLEMENTED -14
151
155 #define FrameQBufMgr_E_INVALIDSTATE -15
156
160 #define FrameQBufMgr_E_OSFAILURE -16
161
165 #define FrameQBufMgr_E_MAXINSTANCES -17
166
170 #define FrameQBufMgr_E_INVALID_INTERFACE -18
171
175 #define FrameQBufMgr_E_OPEN_NAMESERVER -19
176
180 #define FrameQBufMgr_E_INSUFFICIENT_HDRBUFS -20
181
185 #define FrameQBufMgr_E_ALLOC_FRAME -21
186
191 #define FrameQBufMgr_E_ALLOC_ALLFRAMES -22
192
196 #define FrameQBufMgr_E_INVALID_MEMMGRTYPE -23
197
202 #define FrameQBufMgr_E_INVALID_HDRINTERFACETYPE -24
203
208 #define FrameQBufMgr_E_INVALID_BUFINTERFACETYPE -25
209
213 #define FrameQBufMgr_E_NAMESERVERADD -33
214
218 typedef struct FrameQBufMgr_Object* FrameQBufMgr_Handle;
219
220
221 /* =============================================================================
222 * macros & defines
223 * =============================================================================
224 */
225 #define FrameQBufMgr_FrameBufInfo Frame_FrameBufInfo
226
230 #define FrameQBufMgr_FrameHeader Frame_FrameHeader
231
235 typedef Frame_FrameHeader * FrameQBufMgr_Frame;
236
240 #define FrameQBufMgr_MAXNAMELEN (32u)
241
245 #define FrameQBufMgr_MAXINSTANCES (64u)
246
250 #define FrameQBufMgr_MAX_POOLS (64u)
251
256 #define FrameQBufMgr_MAX_FRAMEBUFS (8)
257
262 #define FrameQBufMgr_POOL_MAXFRAMES (32)
263
268 #define FrameQBufMgr_POOL_MAXHDRS (64)
269
274 #define FrameQBufMgr_POOL_DYNAMIC_MAXFRAMES (1)
275
280 #define FrameQBufMgr_POOL_DYNAMIC_MAXHDRS (1)
281
285 #define FrameQBufMgr_NOTIFY_RESERVED_EVENTNO (0u)
286
287
293 #define FrameQBufMgr_MAX_FRAMESINVAPI (FrameQ_MAX_FRAMESINVAPI)
294
295 /* =============================================================================
296 * Structures & Enums
297 * =============================================================================
298 */
299
304 typedef enum FrameQBufMgr_CpuAccessFlags_Tag {
305 FrameQBufMgr_FRAMEBUF0_CPUACCESS = 0x10000,
309 FrameQBufMgr_FRAMEBUF1_CPUACCESS = 0x20000,
313 FrameQBufMgr_FRAMEBUF2_CPUACCESS = 0x40000,
317 FrameQBufMgr_FRAMEBUF3_CPUACCESS = 0x80000,
321 FrameQBufMgr_FRAMEBUF4_CPUACCESS = 0x100000,
325 FrameQBufMgr_FRAMEBUF5_CPUACCESS = 0x200000,
329 FrameQBufMgr_FRAMEBUF6_CPUACCESS = 0x400000,
333 FrameQBufMgr_FRAMEBUF7_CPUACCESS = 0x800000
337 } FrameQBufMgr_CpuAccessFlags;
338
342 typedef enum FrameQBufMgr_BufType_Tag {
343 FrameQBufMgr_BUF_FRAMEHEADER = 0u,
345 FrameQBufMgr_BUF_FRAMEBUF = 1u,
347 FrameQBufMgr_BUF_ENDVALUE = 2u
349 }FrameQBufMgr_BufType;
350
354 typedef enum FrameQBufMgr_AddrType_Tag{
355 FrameQBufMgr_AddrType_Virtual = 0u,
359 FrameQBufMgr_AddrType_Portable = 1u,
364 FrameQBufMgr_AddrType_EndValue = 2u
366 }FrameQBufMgr_AddrType;
367
372 typedef enum FrameQBufMgr_Interface_Tag {
373 FrameQBufMgr_INTERFACE_SHAREDMEM = 0x0,
377 FrameQBufMgr_INTERFACE_NONE = 0x1
378 } FrameQBufMgr_Interface;
379
384 typedef enum FrameQBufMgr_FrameHeaderInterface_Tag {
385 FrameQBufMgr_HDRINTERFACE_SHAREDMEM = 0x0,
389 FrameQBufMgr_HDRINTERFACE_NONE = 0x1
390 } FrameQBufMgr_FrameHeaderInterface;
391
396 typedef enum FrameQBufMgr_FrameBufferInterface_Tag {
397 FrameQBufMgr_BUFINTERFACE_SHAREDMEM = 0x0,
401 FrameQBufMgr_BUFINTERFACE_TILERMEM = 0x1,
404 FrameQBufMgr_BUFINTERFACE_NONE = 0x2
405 } FrameQBufMgr_FrameBufferInterface;
406
411 typedef struct FrameQBufMgr_Config_Tag {
412 UInt32 eventNo;
414 Bool maxInstances;
416 UInt32 usedefaultgate;
417 /* If set to true FrameQBufMgr instances will use dafault gate set in
418 * FrameQ.
419 * If default gate is not set in FrameQBufMgr, it uses GateMP's default
420 * gate. Set it to zero if FrameQ needs to create gate for a
421 * instance (remoteProtect and localProtect flags should be valid in
422 * params in this case).
423 */
424 } FrameQBufMgr_Config;
425
433 typedef struct FrameQBufMgr_CreateParams_Tag {
434 UInt32 size;
435 FrameQBufMgr_Interface ctrlInterfaceType;
436 String name;
437 UInt32 openFlag;
445 } FrameQBufMgr_CreateParams;
446
451 typedef struct FrameQBufMgr_CommonOpenParams_Tag {
452 String name;
455 UInt32 cpuAccessFlags;
458 Ptr sharedAddr;
460 } FrameQBufMgr_CommonOpenParams;
461
469 typedef struct FrameQBufMgr_Params {
470 FrameQBufMgr_CreateParams commonCreateParams;
471 Ptr impParams;
474 UInt32 impParamsSize;
477 } FrameQBufMgr_Params;
478
482 typedef struct FrameQBufMgr_FrameBufParams_Tag {
483 UInt32 size;
485 UInt32 pixelFormat;
487 UInt32 height;
489 UInt32 width;
491 UInt32 align;
493 }FrameQBufMgr_FrameBufParams;
494
498 typedef void (*FrameQBufMgr_NotifyFunc) (FrameQBufMgr_Handle, Ptr arg, UInt32);
499
503 typedef struct FrameQBufMgr_NotifyParams_Tag {
504 SysLink_NotifyType notifyType;
506 UInt32 watermark;
510 FrameQBufMgr_NotifyFunc cbFxnPtr;
512 Ptr cbContext;
514 Ptr cbClientHandle;
517 } FrameQBufMgr_NotifyParams;
518
519 /* =============================================================================
520 * APIs
521 * =============================================================================
522 */
523
543 Int32 FrameQBufMgr_setup(FrameQBufMgr_Config *cfg);
544
545
549 Int32 FrameQBufMgr_destroy(Void);
550
551
566 FrameQBufMgr_Handle FrameQBufMgr_create(Ptr params);
567
568
584 Int32 FrameQBufMgr_delete(FrameQBufMgr_Handle *pHandle);
585
586
626 Int32 FrameQBufMgr_open(FrameQBufMgr_Handle *handlePtr, Ptr openParams);
627
628
666 Int32
667 FrameQBufMgr_openByAddr (FrameQBufMgr_Handle * handlePtr,
668 Ptr openParams);
669
685 Int32
686 FrameQBufMgr_close (FrameQBufMgr_Handle *pHandle);
687
709 Int32
710 FrameQBufMgr_alloc (FrameQBufMgr_Handle handle,
711 FrameQBufMgr_Frame *frame);
712
739 Int32
740 FrameQBufMgr_allocv (FrameQBufMgr_Handle handle,
741 FrameQBufMgr_Frame framePtr[],
742 UInt32 freeQId[],
743 UInt8 * numFrames);
744
761 Int32
762 FrameQBufMgr_free (FrameQBufMgr_Handle handle,
763 FrameQBufMgr_Frame frame);
764
784 Int32
785 FrameQBufMgr_freev (FrameQBufMgr_Handle handle,
786 FrameQBufMgr_Frame framePtr[],
787 UInt32 numFrames);
788
789
798 Ptr
799 FrameQBufMgr_add (FrameQBufMgr_Handle handle,
800 UInt8 freeQId);
801
809 Int32
810 FrameQBufMgr_remove (FrameQBufMgr_Handle handle,
811 UInt8 freeQId,
812 FrameQBufMgr_Frame framePtr);
813
838 Int32
839 FrameQBufMgr_dup (FrameQBufMgr_Handle handle,
840 FrameQBufMgr_Frame framePtr,
841 FrameQBufMgr_Frame dupedFramePtr[],
842 UInt32 numDupedFrames);
843
870 Int32
871 FrameQBufMgr_dupv (FrameQBufMgr_Handle handle,
872 FrameQBufMgr_Frame framePtr[],
873 FrameQBufMgr_Frame **dupedFramePtr,
874 UInt32 numDupedFrames,
875 UInt32 numFrames);
876
897 Int32
898 FrameQBufMgr_registerNotifier (FrameQBufMgr_Handle handle,
899 FrameQBufMgr_NotifyParams *notifyParams);
900
919 Int32
920 FrameQBufMgr_unregisterNotifier (FrameQBufMgr_Handle handle);
921
937 Int32
938 FrameQBufMgr_writeBack(FrameQBufMgr_Handle handle, FrameQBufMgr_Frame framePtr);
939
958 Int32
959 FrameQBufMgr_writeBackBuf(FrameQBufMgr_Handle handle,
960 Ptr buf,
961 UInt32 flags);
962
978 Int32
979 FrameQBufMgr_invalidate(FrameQBufMgr_Handle handle,
980 FrameQBufMgr_Frame framePtr);
981
1000 Int32
1001 FrameQBufMgr_invalidateFrameBuf(FrameQBufMgr_Handle handle,
1002 Ptr frameBuf,
1003 UInt32 size,
1004 UInt8 bufIndexInFrame);
1005
1024 Int32
1025 FrameQBufMgr_writeBackFrameBuf(FrameQBufMgr_Handle handle,
1026 Ptr frameBuf,
1027 UInt32 size,
1028 UInt8 bufIndexInFrame);
1042 Int32
1043 FrameQBufMgr_invalidateHeaderBuf(FrameQBufMgr_Handle handle,
1044 Ptr headerBuf);
1045
1059 Int32
1060 FrameQBufMgr_writeBackHeaderBuf(FrameQBufMgr_Handle handle,
1061 Ptr headerBuf);
1062
1087 Int32
1088 FrameQBufMgr_translateAddr (FrameQBufMgr_Handle handle,
1089 Ptr * dstAddr,
1090 FrameQBufMgr_AddrType dstAddrType,
1091 Ptr srcAddr,
1092 FrameQBufMgr_AddrType srcAddrType,
1093 FrameQBufMgr_BufType bufType);
1094
1104 Int32 FrameQBufMgr_getConfig(FrameQBufMgr_Config *cfg);
1105
1114 UInt32
1115 FrameQBufMgr_getId (FrameQBufMgr_Handle handle);
1116
1126 Ptr
1127 FrameQBufMgr_getHandle (UInt32 Id);
1128
1138 Bool
1139 FrameQBufMgr_isCacheEnabledForHeaderBuf(FrameQBufMgr_Handle handle);
1140
1151 Bool
1152 FrameQBufMgr_isCacheEnabledForFrameBuf(FrameQBufMgr_Handle handle,
1153 UInt8 framebufIndex);
1154
1164 Int32
1165 FrameQBufMgr_getNumFreeFrames (FrameQBufMgr_Handle handle, UInt32* numFreeFrames);
1166
1177 Int32
1178 FrameQBufMgr_control (FrameQBufMgr_Handle handle,
1179 Int32 cmd,
1180 Ptr arg);
1181
1190 UInt32 FrameQBufMgr_getBaseHeaderSize(UInt8 numFrameBufs);
1191
1200 /* API that returns the kernel space handle of the instance */
1201 Ptr FrameQBufMgr_getKnlHandle(FrameQBufMgr_Handle handle);
1202
1203
1204 #if defined (__cplusplus)
1205 }
1206 #endif /* defined (__cplusplus) */
1207
1208
1209 #endif /*FRAMEQBUFMGR_H*/


SysLink API Reference: ti/syslink/FrameQBufMgr_ShMem.h Source File

  • ti
  • syslink
FrameQBufMgr_ShMem.h
Go to the documentation of this file.
1
10 /*
11 * ============================================================================
12 *
13 * Copyright (c) 2008-2012, Texas Instruments Incorporated
14 *
15 * Redistribution and use in source and binary forms, with or without
16 * modification, are permitted provided that the following conditions
17 * are met:
18 *
19 * * Redistributions of source code must retain the above copyright
20 * notice, this list of conditions and the following disclaimer.
21 *
22 * * Redistributions in binary form must reproduce the above copyright
23 * notice, this list of conditions and the following disclaimer in the
24 * documentation and/or other materials provided with the distribution.
25 *
26 * * Neither the name of Texas Instruments Incorporated nor the names of
27 * its contributors may be used to endorse or promote products derived
28 * from this software without specific prior written permission.
29 *
30 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
31 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
32 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
33 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
34 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
35 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
36 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
37 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
38 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
39 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
40 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
41 * Contact information for paper mail:
42 * Texas Instruments
43 * Post Office Box 655303
44 * Dallas, Texas 75265
45 * Contact information:
46 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
47 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
48 * ============================================================================
49 *
50 */
51
52
53 #ifndef FRAMEQBUFMGR_SHMEM_H
54 #define FRAMEQBUFMGR_SHMEM_H
55
56 #include <ti/ipc/GateMP.h>
57 #include <ti/syslink/FrameQBufMgr.h>
58
59
60 #if defined (__cplusplus)
61 extern "C" {
62 #endif
63
64 /* =============================================================================
65 * Macros & defines
66 * =============================================================================
67 */
68 #define FrameQBufMgr_ShMem_BUFINTERFACE_SHAREDMEM FrameQBufMgr_BUFINTERFACE_SHAREDMEM
69 #define FrameQBufMgr_ShMem_BUFINTERFACE_TILERMEM FrameQBufMgr_BUFINTERFACE_TILERMEM
70 #define FrameQBufMgr_ShMem_HDRINTERFACE_SHAREDMEM FrameQBufMgr_HDRINTERFACE_SHAREDMEM
71 #define FrameQBufMgr_ShMem_FrameBufParams FrameQBufMgr_FrameBufParams
72
73
74 /* TODO - are different _internal_ vs _external types necessary? */
75 typedef FrameQBufMgr_Config FrameQBufMgr_ShMem_Config ;
76 /* =============================================================================
77 * Structures & Enums
78 * =============================================================================
79 */
80
84 typedef struct FrameQBufMgr_ShMem_Params_tag {
85 FrameQBufMgr_CreateParams commonCreateParams;
88 GateMP_Handle gate;
102 GateMP_LocalProtect localProtect;
105 GateMP_RemoteProtect remoteProtect;
108 Ptr sharedAddr;
119 UInt32 sharedAddrSize;
129 UInt32 regionId;
137 UInt32 headerInterfaceType;
143 UInt32 bufInterfaceType;
150 Ptr sharedAddrHdrBuf;
162 UInt32 sharedAddrHdrBufSize;
165 UInt32 hdrBuf_regionId;
173 Ptr sharedAddrFrmBuf;
176 UInt32 sharedAddrFrmBufSize;
179 UInt32 frmBuf_regionId;
187 UInt32 numFreeFramePools;
190 UInt32 numFreeFramesInPool[FrameQBufMgr_MAX_POOLS];
193 UInt32 numFreeHeaderBufsInPool[FrameQBufMgr_MAX_POOLS];
196 UInt32 frameHeaderBufSize[FrameQBufMgr_MAX_POOLS];
199 UInt32 numFrameBufsInFrame[FrameQBufMgr_MAX_POOLS];
204 FrameQBufMgr_ShMem_FrameBufParams *frameBufParams[FrameQBufMgr_MAX_POOLS];
207 UInt32 cpuAccessFlags;
214 UInt32 numNotifyEntries;
219 } FrameQBufMgr_ShMem_Params;
220
225 typedef struct FrameQBufMgr_ShMem_OpenParams_tag {
226 FrameQBufMgr_CommonOpenParams commonOpenParams;
228 } FrameQBufMgr_ShMem_OpenParams;
229
230 /* =============================================================================
231 * APIs
232 * =============================================================================
233 */
234
235 /* Initialize the FrameQBufMgr module, there would be some default values for
236 * the parameters, but if any change is required, change the cfg before calling
237 * this API.
238 */
239 Int32 FrameQBufMgr_ShMem_setup(FrameQBufMgr_ShMem_Config * cfg);
240
241
242 /* Function to destroy(finalize) the FrameQBufMgr module.*/
243 Int32 FrameQBufMgr_ShMem_destroy(Void);
244
252 void FrameQBufMgr_ShMem_Params_init(FrameQBufMgr_ShMem_Params * params);
253
268 UInt32
269 FrameQBufMgr_ShMem_sharedMemReq (const FrameQBufMgr_ShMem_Params * params,
270 UInt32 * hdrBufChunkSize,
271 UInt32 * frmBufChunkSize);
272
273 Int32 FrameQBufMgr_ShMem_getConfig(FrameQBufMgr_ShMem_Config *cfg);
274
275
276 #if defined (__cplusplus)
277 }
278 #endif /* defined (__cplusplus) */
279
280
281 #endif /* HEAPBUF_H_0x4CD5 */


SysLink API Reference: ti/syslink/FrameQBufMgrDefs.h Source File

  • ti
  • syslink
FrameQBufMgrDefs.h
Go to the documentation of this file.
1
10 /*
11 * ============================================================================
12 *
13 * Copyright (c) 2008-2012, Texas Instruments Incorporated
14 *
15 * Redistribution and use in source and binary forms, with or without
16 * modification, are permitted provided that the following conditions
17 * are met:
18 *
19 * * Redistributions of source code must retain the above copyright
20 * notice, this list of conditions and the following disclaimer.
21 *
22 * * Redistributions in binary form must reproduce the above copyright
23 * notice, this list of conditions and the following disclaimer in the
24 * documentation and/or other materials provided with the distribution.
25 *
26 * * Neither the name of Texas Instruments Incorporated nor the names of
27 * its contributors may be used to endorse or promote products derived
28 * from this software without specific prior written permission.
29 *
30 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
31 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
32 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
33 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
34 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
35 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
36 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
37 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
38 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
39 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
40 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
41 * Contact information for paper mail:
42 * Texas Instruments
43 * Post Office Box 655303
44 * Dallas, Texas 75265
45 * Contact information:
46 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
47 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
48 * ============================================================================
49 *
50 */
51
52
53
54 #ifndef FRAMEQBUFMGR_CONFIG_H
55 #define FRAMEQBUFMGR_CONFIG_H
56
57
58 #if defined (__cplusplus)
59 extern "C" {
60 #endif
61
62 /* =============================================================================
63 * macros & defines
64 * =============================================================================
65 */
66
71 #define FRAMEQBUFMGR_CACHE_LINESIZE (128u)
72
73
74 #if defined (__cplusplus)
75 }
76 #endif /* defined (__cplusplus) */
77
78
79 #endif /*FRAMEQBUFMGR_CONFIG_H*/


SysLink API Reference: ti/syslink/FrameQDefs.h Source File

  • ti
  • syslink
FrameQDefs.h
Go to the documentation of this file.
1
10 /*
11 * ============================================================================
12 *
13 * Copyright (c) 2008-2012, Texas Instruments Incorporated
14 *
15 * Redistribution and use in source and binary forms, with or without
16 * modification, are permitted provided that the following conditions
17 * are met:
18 *
19 * * Redistributions of source code must retain the above copyright
20 * notice, this list of conditions and the following disclaimer.
21 *
22 * * Redistributions in binary form must reproduce the above copyright
23 * notice, this list of conditions and the following disclaimer in the
24 * documentation and/or other materials provided with the distribution.
25 *
26 * * Neither the name of Texas Instruments Incorporated nor the names of
27 * its contributors may be used to endorse or promote products derived
28 * from this software without specific prior written permission.
29 *
30 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
31 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
32 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
33 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
34 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
35 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
36 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
37 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
38 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
39 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
40 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
41 * Contact information for paper mail:
42 * Texas Instruments
43 * Post Office Box 655303
44 * Dallas, Texas 75265
45 * Contact information:
46 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
47 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
48 * ============================================================================
49 *
50 */
51
52
53
54 #ifndef FRAMEQDEFS_H_0x6e6f
55 #define FRAMEQDEFS_H_0x6e6f
56
57
58 #if defined (__cplusplus)
59 extern "C" {
60 #endif
61
62 /* =============================================================================
63 * macros & defines
64 * =============================================================================
65 */
66
76 #define FrameQ_MAX_FRAMESINVAPI (64u)
77
78 /* =============================================================================
79 * Structures & Enums
80 * =============================================================================
81 */
85 typedef struct Frame_FrameBufInfo_tag {
86 UInt32 bufPtr;
88 UInt32 bufSize;
90 UInt32 startOffset;
92 UInt32 validSize;
94 UInt32 pixelFormat;
95 UInt32 height;
96 UInt32 width;
97 UInt32 stride;
98
99 }Frame_FrameBufInfo;
100
106 typedef struct Frame_FrameHeader_Tag {
107 UInt32 reserved0;
109 UInt32 reserved1;
111 UInt16 baseHeaderSize;
113 UInt16 headerSize;
117 UInt32 frmAllocaterId;
119 UInt32 frameBufType;
120 /* Denotes the buffer type i.e Tiler buffer or shared region 1D buffer*/
121 UInt8 freeFrmQueueNo;
123 UInt8 numFrameBuffers;
125 Frame_FrameBufInfo frameBufInfo[1];
127 } Frame_FrameHeader;
128
132 typedef Frame_FrameHeader * Frame;
133
134
135 #if defined (__cplusplus)
136 }
137 #endif /* defined (__cplusplus) */
138
139
140 #endif /*FRAMEQDEFS_H_0x6e6f*/


SysLink API Reference: ti/syslink/utils/Gate.h Source File

  • ti
  • syslink
  • utils
Gate.h
Go to the documentation of this file.
1
22 /*
23 * ============================================================================
24 *
25 * Copyright (c) 2008-2012, Texas Instruments Incorporated
26 *
27 * Redistribution and use in source and binary forms, with or without
28 * modification, are permitted provided that the following conditions
29 * are met:
30 *
31 * * Redistributions of source code must retain the above copyright
32 * notice, this list of conditions and the following disclaimer.
33 *
34 * * Redistributions in binary form must reproduce the above copyright
35 * notice, this list of conditions and the following disclaimer in the
36 * documentation and/or other materials provided with the distribution.
37 *
38 * * Neither the name of Texas Instruments Incorporated nor the names of
39 * its contributors may be used to endorse or promote products derived
40 * from this software without specific prior written permission.
41 *
42 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
43 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
44 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
45 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
46 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
47 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
48 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
49 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
50 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
51 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
52 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
53 * Contact information for paper mail:
54 * Texas Instruments
55 * Post Office Box 655303
56 * Dallas, Texas 75265
57 * Contact information:
58 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
59 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
60 * ============================================================================
61 *
62 */
63
64
65
66 #ifndef GATE_H_0xAF6F
67 #define GATE_H_0xAF6F
68
69 #include <ti/syslink/utils/IGateProvider.h>
70
71 #if defined (__cplusplus)
72 extern "C" {
73 #endif
74
75 extern IGateProvider_Handle Gate_systemHandle;
76
77 /* =============================================================================
78 * APIs
79 * =============================================================================
80 */
81 /* Function to enter a Gate */
82 IArg Gate_enterSystem (void);
83
84 /* Function to leave a Gate */
85 Void Gate_leaveSystem (IArg key);
86
87 #if defined (__cplusplus)
88 }
89 #endif /* defined (__cplusplus) */
90
91 #endif /* GATE_H_0xAF6F */


SysLink API Reference: ti/ipc/GateMP.h Source File

  • ti
  • ipc
GateMP.h
Go to the documentation of this file.
1 /*
2 * Copyright (c) 2012, Texas Instruments Incorporated
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 *
12 * * Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 *
16 * * Neither the name of Texas Instruments Incorporated nor the names of
17 * its contributors may be used to endorse or promote products derived
18 * from this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 * */
83 #ifndef ti_ipc_GateMP__include
84 #define ti_ipc_GateMP__include
85
86 #if defined (__cplusplus)
87 extern "C" {
88 #endif
89
90 /* =============================================================================
91 * All success and failure codes for the module
92 * =============================================================================
93 */
94
98 #define GateMP_S_BUSY 2
99
103 #define GateMP_S_ALREADYSETUP 1
104
108 #define GateMP_S_SUCCESS 0
109
113 #define GateMP_E_FAIL -1
114
118 #define GateMP_E_INVALIDARG -2
119
123 #define GateMP_E_MEMORY -3
124
128 #define GateMP_E_ALREADYEXISTS -4
129
133 #define GateMP_E_NOTFOUND -5
134
138 #define GateMP_E_TIMEOUT -6
139
143 #define GateMP_E_INVALIDSTATE -7
144
147 #define GateMP_E_OSFAILURE -8
148
151 #define GateMP_E_RESOURCE -9
152
155 #define GateMP_E_RESTART -10
156
157 /* =============================================================================
158 * Structures & Enums
159 * =============================================================================
160 */
161
186 typedef enum GateMP_LocalProtect {
187 GateMP_LocalProtect_NONE = 0,
190 GateMP_LocalProtect_INTERRUPT = 1,
193 GateMP_LocalProtect_TASKLET = 2,
196 GateMP_LocalProtect_THREAD = 3,
199 GateMP_LocalProtect_PROCESS = 4
202 } GateMP_LocalProtect;
203
204
218 typedef enum GateMP_RemoteProtect {
219 GateMP_RemoteProtect_NONE = 0,
224 GateMP_RemoteProtect_SYSTEM = 1,
227 GateMP_RemoteProtect_CUSTOM1 = 2,
230 GateMP_RemoteProtect_CUSTOM2 = 3
233 } GateMP_RemoteProtect;
234
238 typedef struct GateMP_Object *GateMP_Handle;
239
243 typedef struct GateMP_Params {
244 String name;
255 UInt16 regionId;
266 Ptr sharedAddr;
280 GateMP_LocalProtect localProtect;
286 GateMP_RemoteProtect remoteProtect;
291 } GateMP_Params;
292
293 /* =============================================================================
294 * GateMP Module-wide Functions
295 * =============================================================================
296 */
297
305 Int GateMP_close(GateMP_Handle *handlePtr);
306
316 GateMP_Handle GateMP_create(const GateMP_Params *params);
317
325 Int GateMP_delete(GateMP_Handle *handlePtr);
326
332 GateMP_Handle GateMP_getDefaultRemote(Void);
333
339 GateMP_LocalProtect GateMP_getLocalProtect(GateMP_Handle handle);
340
346 GateMP_RemoteProtect GateMP_getRemoteProtect(GateMP_Handle handle);
347
360 Int GateMP_open(String name, GateMP_Handle *handlePtr);
361
363 Int GateMP_openByAddr(Ptr sharedAddr, GateMP_Handle *handlePtr);
364
373 Void GateMP_Params_init(GateMP_Params *params);
374
384 SizeT GateMP_sharedMemReq(const GateMP_Params *params);
385
388 /* =============================================================================
389 * GateMP Per-instance Functions
390 * =============================================================================
391 */
392
400 IArg GateMP_enter(GateMP_Handle handle);
401
408 Void GateMP_leave(GateMP_Handle handle, IArg key);
409
410 #if defined (__cplusplus)
411 }
412 #endif /* defined (__cplusplus) */
413 #endif /* ti_ipc_GateMP__include */
414
415 /*
416 */
417
418 /*
419 * @(#) ti.ipc; 1, 0, 0, 0,; 11-7-2012 13:07:52; /db/vtree/library/trees/ipc/ipc-i09/src/ xlibrary
420
421 */
422


SysLink API Reference: ti/syslink/utils/GateMonitor.h Source File

  • ti
  • syslink
  • utils
GateMonitor.h
Go to the documentation of this file.
1
8 /*
9 * ============================================================================
10 *
11 * Copyright (c) 2008-2012, Texas Instruments Incorporated
12 *
13 * Redistribution and use in source and binary forms, with or without
14 * modification, are permitted provided that the following conditions
15 * are met:
16 *
17 * * Redistributions of source code must retain the above copyright
18 * notice, this list of conditions and the following disclaimer.
19 *
20 * * Redistributions in binary form must reproduce the above copyright
21 * notice, this list of conditions and the following disclaimer in the
22 * documentation and/or other materials provided with the distribution.
23 *
24 * * Neither the name of Texas Instruments Incorporated nor the names of
25 * its contributors may be used to endorse or promote products derived
26 * from this software without specific prior written permission.
27 *
28 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
29 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
30 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
31 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
32 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
35 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
36 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
37 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
38 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39 * Contact information for paper mail:
40 * Texas Instruments
41 * Post Office Box 655303
42 * Dallas, Texas 75265
43 * Contact information:
44 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
45 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
46 * ============================================================================
47 *
48 */
49
50
51 #ifndef GATEMONITOR_H_0x189E
52 #define GATEMONITOR_H_0x189E
53
54
55 #if defined (__cplusplus)
56 extern "C" {
57 #endif
58
59
60 /* =============================================================================
61 * Status codes
62 * =============================================================================
63 */
68 #define GateMonitor_E_INVALIDARG -1
69
74 #define GateMonitor_E_MEMORY -2
75
80 #define GateMonitor_E_BUSY -3
81
86 #define GateMonitor_E_FAIL -4
87
92 #define GateMonitor_E_NOTFOUND -5
93
98 #define GateMonitor_E_INVALIDSTATE -6
99
104 #define GateMonitor_E_INUSE -7
105
110 #define GateMonitor_E_HANDLE -8
111
116 #define GateMonitor_S_SUCCESS 0
117
118
119 /* =============================================================================
120 * Macros and types
121 * =============================================================================
122 */
124 typedef struct GateMonitor_Object GateMonitor_Object;
125
127 typedef GateMonitor_Object * GateMonitor_Handle;
128
130 typedef Void GateMonitor_Params;
131
132
133 /* =============================================================================
134 * APIs
135 * =============================================================================
136 */
137 /* Function to create a GateMonitor */
138 GateMonitor_Handle GateMonitor_create (const GateMonitor_Params * params);
139
140 /* Function to delete a GateMonitor */
141 Int GateMonitor_delete (GateMonitor_Handle * handle);
142
143
144 #if defined (__cplusplus)
145 }
146 #endif /* defined (__cplusplus) */
147
148
149 #endif /* GATEMONITOR_H_0x188E */


SysLink API Reference: ti/syslink/utils/GateMutex.h Source File

  • ti
  • syslink
  • utils
GateMutex.h
Go to the documentation of this file.
1
8 /*
9 * ============================================================================
10 *
11 * Copyright (c) 2008-2012, Texas Instruments Incorporated
12 *
13 * Redistribution and use in source and binary forms, with or without
14 * modification, are permitted provided that the following conditions
15 * are met:
16 *
17 * * Redistributions of source code must retain the above copyright
18 * notice, this list of conditions and the following disclaimer.
19 *
20 * * Redistributions in binary form must reproduce the above copyright
21 * notice, this list of conditions and the following disclaimer in the
22 * documentation and/or other materials provided with the distribution.
23 *
24 * * Neither the name of Texas Instruments Incorporated nor the names of
25 * its contributors may be used to endorse or promote products derived
26 * from this software without specific prior written permission.
27 *
28 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
29 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
30 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
31 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
32 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
35 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
36 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
37 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
38 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39 * Contact information for paper mail:
40 * Texas Instruments
41 * Post Office Box 655303
42 * Dallas, Texas 75265
43 * Contact information:
44 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
45 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
46 * ============================================================================
47 *
48 */
49
50
51
52 #ifndef GATEMUTEX_H_0x72D0
53 #define GATEMUTEX_H_0x72D0
54
55
56 #if defined (__cplusplus)
57 extern "C" {
58 #endif
59
60
61 /* =============================================================================
62 * Status codes
63 * =============================================================================
64 */
69 #define GateMutex_E_INVALIDARG -1
70
75 #define GateMutex_E_MEMORY -2
76
81 #define GateMutex_E_BUSY -3
82
87 #define GateMutex_E_FAIL -4
88
93 #define GateMutex_E_NOTFOUND -5
94
99 #define GateMutex_E_INVALIDSTATE -6
100
105 #define GateMutex_E_INUSE -7
106
111 #define GateMutex_S_SUCCESS 0
112
113
114 /* =============================================================================
115 * Macros and types
116 * =============================================================================
117 */
119 typedef struct GateMutex_Object GateMutex_Object;
120
122 typedef GateMutex_Object * GateMutex_Handle;
123
125 typedef Void GateMutex_Params;
126
127 /* =============================================================================
128 * APIs
129 * =============================================================================
130 */
131 /* Function to create a GateMutex */
132 GateMutex_Handle
133 GateMutex_create (const GateMutex_Params * params, Error_Block *eb);
134
135 /* Function to delete a Gate Mutex */
136 Int GateMutex_delete (GateMutex_Handle * gmHandle);
137
138
139 #if defined (__cplusplus)
140 }
141 #endif /* defined (__cplusplus) */
142
143 #endif /* GATEMUTEX_H_0x72D0 */


SysLink API Reference: ti/syslink/utils/GateProcess.h Source File

  • ti
  • syslink
  • utils
GateProcess.h
Go to the documentation of this file.
1
8 /*
9 * ============================================================================
10 *
11 * Copyright (c) 2008-2012, Texas Instruments Incorporated
12 *
13 * Redistribution and use in source and binary forms, with or without
14 * modification, are permitted provided that the following conditions
15 * are met:
16 *
17 * * Redistributions of source code must retain the above copyright
18 * notice, this list of conditions and the following disclaimer.
19 *
20 * * Redistributions in binary form must reproduce the above copyright
21 * notice, this list of conditions and the following disclaimer in the
22 * documentation and/or other materials provided with the distribution.
23 *
24 * * Neither the name of Texas Instruments Incorporated nor the names of
25 * its contributors may be used to endorse or promote products derived
26 * from this software without specific prior written permission.
27 *
28 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
29 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
30 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
31 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
32 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
35 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
36 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
37 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
38 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39 * Contact information for paper mail:
40 * Texas Instruments
41 * Post Office Box 655303
42 * Dallas, Texas 75265
43 * Contact information:
44 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
45 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
46 * ============================================================================
47 *
48 */
49
50
51
52 #ifndef ti_syslink_utils_GateProcess
53 #define ti_syslink_utils_GateProcess
54
55
56 #if defined (__cplusplus)
57 extern "C" {
58 #endif
59
60
61 /* =============================================================================
62 * Status codes
63 * =============================================================================
64 */
65
70 #define GateProcess_E_INVALIDARG (-1)
71
76 #define GateProcess_E_MEMORY (-2)
77
82 #define GateProcess_E_BUSY (-3)
83
88 #define GateProcess_E_FAIL (-4)
89
94 #define GateProcess_E_NOTFOUND (-5)
95
100 #define GateProcess_E_INVALIDSTATE (-6)
101
106 #define GateProcess_E_INUSE (-7)
107
112 #define GateProcess_S_SUCCESS (0)
113
114
115 /* =============================================================================
116 * Macros and types
117 * =============================================================================
118 */
120 typedef struct GateProcess_Object GateProcess_Object;
121
125 typedef GateProcess_Object * GateProcess_Handle;
126
130 typedef struct {
131 UInt reserved;
132 } GateProcess_Params;
133
134
138 typedef struct {
139 Char _f1[16];
140 } GateProcess_ShMem;
141
142
143 /* =============================================================================
144 * APIs
145 * =============================================================================
146 */
147
148 /*
149 * ======== GateProcess_enter ========
150 */
151 IArg GateProcess_enter(GateProcess_Handle handle);
152
153 /*
154 * ======== GateProcess_leave ========
155 */
156 Void GateProcess_leave(GateProcess_Handle handle, IArg key);
157
158 /*
159 * ======== GateProcess_Params_init ========
160 */
161 Void GateProcess_Params_init(GateProcess_Params *params);
162
163 /*
164 * ======== GateProcess_create ========
165 */
166 GateProcess_Handle GateProcess_create(
167 Ptr sharedAddr,
168 const GateProcess_Params * params);
169
170 /*
171 * ======== GateProcess_delete ========
172 */
173 Int GateProcess_delete(GateProcess_Handle *pHandle);
174
175 /*
176 * ======== GateProcess_open ========
177 */
178 GateProcess_Handle GateProcess_open(Ptr sharedAddr);
179
180 /*
181 * ======== GateProcess_close ========
182 */
183 Int GateProcess_close(GateProcess_Handle *pHandle);
184
185 /*
186 * ======== GateProcess_shMemSize ========
187 */
188 SizeT GateProcess_shMemSize(Void);
189
190
191 #if defined (__cplusplus)
192 }
193 #endif
194
195 #endif /* ti_syslink_utils_GateProcess */


SysLink API Reference: ti/syslink/utils/GateSem.h Source File

  • ti
  • syslink
  • utils
GateSem.h
Go to the documentation of this file.
1
8 /*
9 * ============================================================================
10 *
11 * Copyright (c) 2008-2012, Texas Instruments Incorporated
12 *
13 * Redistribution and use in source and binary forms, with or without
14 * modification, are permitted provided that the following conditions
15 * are met:
16 *
17 * * Redistributions of source code must retain the above copyright
18 * notice, this list of conditions and the following disclaimer.
19 *
20 * * Redistributions in binary form must reproduce the above copyright
21 * notice, this list of conditions and the following disclaimer in the
22 * documentation and/or other materials provided with the distribution.
23 *
24 * * Neither the name of Texas Instruments Incorporated nor the names of
25 * its contributors may be used to endorse or promote products derived
26 * from this software without specific prior written permission.
27 *
28 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
29 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
30 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
31 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
32 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
35 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
36 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
37 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
38 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39 * Contact information for paper mail:
40 * Texas Instruments
41 * Post Office Box 655303
42 * Dallas, Texas 75265
43 * Contact information:
44 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
45 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
46 * ============================================================================
47 *
48 */
49
50
51 #ifndef GATESEM_H_0x189E
52 #define GATESEM_H_0x189E
53
54
55 #if defined (__cplusplus)
56 extern "C" {
57 #endif
58
59
60 /* =============================================================================
61 * Status codes
62 * =============================================================================
63 */
68 #define GateSem_E_INVALIDARG -1
69
74 #define GateSem_E_MEMORY -2
75
80 #define GateSem_E_BUSY -3
81
86 #define GateSem_E_FAIL -4
87
92 #define GateSem_E_NOTFOUND -5
93
98 #define GateSem_E_INVALIDSTATE -6
99
104 #define GateSem_E_INUSE -7
105
110 #define GateSem_E_HANDLE -8
111
116 #define GateSem_S_SUCCESS 0
117
118
119 /* =============================================================================
120 * Macros and types
121 * =============================================================================
122 */
124 typedef struct GateSem_Object GateSem_Object;
125
127 typedef GateSem_Object * GateSem_Handle;
128
130 typedef Void GateSem_Params;
131
132
133 /* =============================================================================
134 * APIs
135 * =============================================================================
136 */
137 /* Function to create a GateSem */
138 GateSem_Handle GateSem_create (const GateSem_Params * params);
139
140 /* Function to delete a GateSem */
141 Int GateSem_delete (GateSem_Handle * handle);
142
143
144 #if defined (__cplusplus)
145 }
146 #endif /* defined (__cplusplus) */
147
148
149 #endif /* GATESEM_H_0x189E */


SysLink API Reference: ti/syslink/utils/GateSpinlock.h Source File

  • ti
  • syslink
  • utils
GateSpinlock.h
Go to the documentation of this file.
1
8 /*
9 * ============================================================================
10 *
11 * Copyright (c) 2008-2012, Texas Instruments Incorporated
12 *
13 * Redistribution and use in source and binary forms, with or without
14 * modification, are permitted provided that the following conditions
15 * are met:
16 *
17 * * Redistributions of source code must retain the above copyright
18 * notice, this list of conditions and the following disclaimer.
19 *
20 * * Redistributions in binary form must reproduce the above copyright
21 * notice, this list of conditions and the following disclaimer in the
22 * documentation and/or other materials provided with the distribution.
23 *
24 * * Neither the name of Texas Instruments Incorporated nor the names of
25 * its contributors may be used to endorse or promote products derived
26 * from this software without specific prior written permission.
27 *
28 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
29 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
30 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
31 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
32 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
35 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
36 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
37 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
38 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39 * Contact information for paper mail:
40 * Texas Instruments
41 * Post Office Box 655303
42 * Dallas, Texas 75265
43 * Contact information:
44 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
45 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
46 * ============================================================================
47 *
48 */
49
50
51
52 #ifndef GATESPINLOCK_H_0x188E
53 #define GATESPINLOCK_H_0x188E
54
55
56 #if defined (__cplusplus)
57 extern "C" {
58 #endif
59
60
61 /* =============================================================================
62 * Status codes
63 * =============================================================================
64 */
69 #define GateSpinlock_E_INVALIDARG -1
70
75 #define GateSpinlock_E_MEMORY -2
76
81 #define GateSpinlock_E_BUSY -3
82
87 #define GateSpinlock_E_FAIL -4
88
93 #define GateSpinlock_E_NOTFOUND -5
94
99 #define GateSpinlock_E_INVALIDSTATE -6
100
105 #define GateSpinlock_E_INUSE -7
106
111 #define GateSpinlock_E_HANDLE -8
112
117 #define GateSpinlock_S_SUCCESS 0
118
119
120 /* =============================================================================
121 * Macros and types
122 * =============================================================================
123 */
125 typedef struct GateSpinlock_Object GateSpinlock_Object;
126
128 typedef GateSpinlock_Object * GateSpinlock_Handle;
129
131 typedef Void GateSpinlock_Params;
132
133
134 /* =============================================================================
135 * APIs
136 * =============================================================================
137 */
138 /* Function to create a GateSpinlock */
139 GateSpinlock_Handle
140 GateSpinlock_create (const GateSpinlock_Params * params, Error_Block *eb);
141
142 /* Function to delete a GateSpinlock */
143 Int GateSpinlock_delete (GateSpinlock_Handle * handle);
144
145
146 #if defined (__cplusplus)
147 }
148 #endif /* defined (__cplusplus) */
149
150
151 #endif /* GATESPINLOCK_H_0x188E */


SysLink API Reference: ti/ipc/HeapBufMP.h Source File

  • ti
  • ipc
HeapBufMP.h
Go to the documentation of this file.
1 /*
2 * Copyright (c) 2012, Texas Instruments Incorporated
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 *
12 * * Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 *
16 * * Neither the name of Texas Instruments Incorporated nor the names of
17 * its contributors may be used to endorse or promote products derived
18 * from this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 * */
71 #ifndef ti_ipc_HeapBufMP__include
72 #define ti_ipc_HeapBufMP__include
73
74 #if defined (__cplusplus)
75 extern "C" {
76 #endif
77
78 #include <ti/ipc/GateMP.h>
79
80 /* =============================================================================
81 * All success and failure codes for the module
82 * =============================================================================
83 */
84
89 #define HeapBufMP_S_BUSY 2
90
95 #define HeapBufMP_S_ALREADYSETUP 1
96
101 #define HeapBufMP_S_SUCCESS 0
102
107 #define HeapBufMP_E_FAIL -1
108
113 #define HeapBufMP_E_INVALIDARG -2
114
119 #define HeapBufMP_E_MEMORY -3
120
125 #define HeapBufMP_E_ALREADYEXISTS -4
126
131 #define HeapBufMP_E_NOTFOUND -5
132
137 #define HeapBufMP_E_TIMEOUT -6
138
143 #define HeapBufMP_E_INVALIDSTATE -7
144
148 #define HeapBufMP_E_OSFAILURE -8
149
153 #define HeapBufMP_E_RESOURCE -9
154
158 #define HeapBufMP_E_RESTART -10
159
160 /* =============================================================================
161 * Structures & Enums
162 * =============================================================================
163 */
164
168 typedef struct HeapBufMP_Object *HeapBufMP_Handle;
169
173 typedef struct HeapBufMP_Params {
174 String name;
185 UInt16 regionId;
193 Ptr sharedAddr;
203 SizeT blockSize;
216 UInt numBlocks;
222 SizeT align;
233 Bool exact;
241 GateMP_Handle gate;
248 } HeapBufMP_Params;
249
253 typedef struct HeapBufMP_ExtendedStats {
254 UInt maxAllocatedBlocks;
259 UInt numAllocatedBlocks;
263 } HeapBufMP_ExtendedStats;
264
265 /* =============================================================================
266 * HeapBufMP Module-wide Functions
267 * =============================================================================
268 */
269
285 Int HeapBufMP_close(HeapBufMP_Handle *handlePtr);
286
294 HeapBufMP_Handle HeapBufMP_create(const HeapBufMP_Params *params);
295
304 Int HeapBufMP_delete(HeapBufMP_Handle *handlePtr);
305
330 Int HeapBufMP_open(String name, HeapBufMP_Handle *handlePtr);
331
333 Int HeapBufMP_openByAddr(Ptr sharedAddr, HeapBufMP_Handle *handlePtr);
334
343 Void HeapBufMP_Params_init(HeapBufMP_Params *params);
344
354 SizeT HeapBufMP_sharedMemReq(const HeapBufMP_Params *params);
355
358 /* =============================================================================
359 * HeapBufMP Per-instance Functions
360 * =============================================================================
361 */
362
388 Void *HeapBufMP_alloc(HeapBufMP_Handle handle, SizeT size, SizeT align);
389
407 Void HeapBufMP_free(HeapBufMP_Handle handle, Ptr block, SizeT size);
408
425 Void HeapBufMP_getExtendedStats(HeapBufMP_Handle handle,
426 HeapBufMP_ExtendedStats *stats);
427
436 Void HeapBufMP_getStats(HeapBufMP_Handle handle, Ptr stats);
437
438 #if defined (__cplusplus)
439 }
440 #endif /* defined (__cplusplus) */
441 #endif /* ti_ipc_HeapBufMP__include */
442
443 /*
444 */
445
446 /*
447 * @(#) ti.ipc; 1, 0, 0, 0,; 11-7-2012 13:07:52; /db/vtree/library/trees/ipc/ipc-i09/src/ xlibrary
448
449 */
450


SysLink API Reference: ti/ipc/HeapMemMP.h Source File

  • ti
  • ipc
HeapMemMP.h
Go to the documentation of this file.
1 /*
2 * Copyright (c) 2012, Texas Instruments Incorporated
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 *
12 * * Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 *
16 * * Neither the name of Texas Instruments Incorporated nor the names of
17 * its contributors may be used to endorse or promote products derived
18 * from this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 * */
72 #ifndef ti_ipc_HeapMemMP__include
73 #define ti_ipc_HeapMemMP__include
74
75 #if defined (__cplusplus)
76 extern "C" {
77 #endif
78
79 #include <ti/ipc/GateMP.h>
80
81 /* =============================================================================
82 * All success and failure codes for the module
83 * =============================================================================
84 */
85
90 #define HeapMemMP_S_BUSY 2
91
96 #define HeapMemMP_S_ALREADYSETUP 1
97
102 #define HeapMemMP_S_SUCCESS 0
103
108 #define HeapMemMP_E_FAIL -1
109
114 #define HeapMemMP_E_INVALIDARG -2
115
120 #define HeapMemMP_E_MEMORY -3
121
126 #define HeapMemMP_E_ALREADYEXISTS -4
127
132 #define HeapMemMP_E_NOTFOUND -5
133
138 #define HeapMemMP_E_TIMEOUT -6
139
144 #define HeapMemMP_E_INVALIDSTATE -7
145
149 #define HeapMemMP_E_OSFAILURE -8
150
154 #define HeapMemMP_E_RESOURCE -9
155
159 #define HeapMemMP_E_RESTART -10
160
161 /* =============================================================================
162 * Structures & Enums
163 * =============================================================================
164 */
165
169 typedef struct HeapMemMP_Object *HeapMemMP_Handle;
170
174 typedef struct HeapMemMP_Params {
175 String name;
186 UInt16 regionId;
194 Ptr sharedAddr;
205 SizeT sharedBufSize;
219 GateMP_Handle gate;
226 } HeapMemMP_Params;
227
231 typedef struct HeapMemMP_ExtendedStats {
232 Ptr buf;
235 SizeT size;
237 } HeapMemMP_ExtendedStats;
238
239 /* =============================================================================
240 * HeapMemMP Module-wide Functions
241 * =============================================================================
242 */
243
256 Int HeapMemMP_close(HeapMemMP_Handle *handlePtr);
257
265 HeapMemMP_Handle HeapMemMP_create(const HeapMemMP_Params *params);
266
275 Int HeapMemMP_delete(HeapMemMP_Handle *handlePtr);
276
301 Int HeapMemMP_open(String name, HeapMemMP_Handle *handlePtr);
302
304 Int HeapMemMP_openByAddr(Ptr sharedAddr, HeapMemMP_Handle *handlePtr);
305
314 Void HeapMemMP_Params_init(HeapMemMP_Params *params);
315
325 SizeT HeapMemMP_sharedMemReq(const HeapMemMP_Params *params);
326
329 /* =============================================================================
330 * HeapMemMP Per-instance Functions
331 * =============================================================================
332 */
333
359 Void *HeapMemMP_alloc(HeapMemMP_Handle handle, SizeT size, SizeT align);
360
378 Void HeapMemMP_free(HeapMemMP_Handle handle, Ptr block, SizeT size);
379
392 Void HeapMemMP_getExtendedStats(HeapMemMP_Handle handle,
393 HeapMemMP_ExtendedStats *stats);
394
403 Void HeapMemMP_getStats(HeapMemMP_Handle handle, Ptr stats);
404
415 Void HeapMemMP_restore(HeapMemMP_Handle handle);
416
417 #if defined (__cplusplus)
418 }
419 #endif /* defined (__cplusplus) */
420 #endif /* ti_ipc_HeapMemMP__include */
421
422 /*
423 */
424
425 /*
426 * @(#) ti.ipc; 1, 0, 0, 0,; 11-7-2012 13:07:52; /db/vtree/library/trees/ipc/ipc-i09/src/ xlibrary
427
428 */
429


SysLink API Reference: ti/syslink/utils/IGateProvider.h Source File

  • ti
  • syslink
  • utils
IGateProvider.h
Go to the documentation of this file.
1
37 /*
38 * ============================================================================
39 *
40 * Copyright (c) 2008-2012, Texas Instruments Incorporated
41 *
42 * Redistribution and use in source and binary forms, with or without
43 * modification, are permitted provided that the following conditions
44 * are met:
45 *
46 * * Redistributions of source code must retain the above copyright
47 * notice, this list of conditions and the following disclaimer.
48 *
49 * * Redistributions in binary form must reproduce the above copyright
50 * notice, this list of conditions and the following disclaimer in the
51 * documentation and/or other materials provided with the distribution.
52 *
53 * * Neither the name of Texas Instruments Incorporated nor the names of
54 * its contributors may be used to endorse or promote products derived
55 * from this software without specific prior written permission.
56 *
57 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
58 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
59 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
60 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
61 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
62 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
63 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
64 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
65 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
66 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
67 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
68 * Contact information for paper mail:
69 * Texas Instruments
70 * Post Office Box 655303
71 * Dallas, Texas 75265
72 * Contact information:
73 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
74 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
75 * ============================================================================
76 *
77 */
78
79
80
81 #ifndef __IGATEPROVIDER_H__
82 #define __IGATEPROVIDER_H__
83
84 #include <ti/syslink/utils/Trace.h>
85
86 #if defined (__cplusplus)
87 extern "C" {
88 #endif
89
90
91 /* -----------------------------------------------------------------------------
92 * Macros
93 * -----------------------------------------------------------------------------
94 */
96 #define IGateProvider_NULL (IGateProvider_Handle)0xFFFFFFFF
97
105 #define IGateProvider_Q_BLOCKING 1
106
114 #define IGateProvider_Q_PREEMPTING 2
115
120 #define IGateProvider_SuperObject \
121 IGateProvider_ENTER enter; \
122 IGateProvider_LEAVE leave
123
124
128 #define IGateProvider_ObjectInitializer(x,y) \
129 ((IGateProvider_Handle)(x))->enter = (IGateProvider_ENTER)y##_enter; \
130 ((IGateProvider_Handle)(x))->leave = (IGateProvider_LEAVE)y##_leave;
131
132 /* -----------------------------------------------------------------------------
133 * Defines
134 * -----------------------------------------------------------------------------
135 */
137 typedef IArg (*IGateProvider_ENTER) (Void *);
138
140 typedef Void (*IGateProvider_LEAVE) (Void *, IArg);
141
142
143 /* -----------------------------------------------------------------------------
144 * Structs & Enums
145 * -----------------------------------------------------------------------------
146 */
150 typedef struct IGateProvider_Object {
151 IGateProvider_SuperObject;
152 } IGateProvider_Object, *IGateProvider_Handle;
153
154
155 /* -----------------------------------------------------------------------------
156 * APIs
157 * -----------------------------------------------------------------------------
158 */
179 static inline IArg IGateProvider_enter (IGateProvider_Handle handle)
180 {
181 IArg key = 0;
182
183 GT_assert (curTrace, ((IGateProvider_Object *) handle != NULL));
184 if (handle != 0x0 && handle != IGateProvider_NULL) { //fix
185 key = (handle->enter) ((void *)handle);
186 }
187 return key;
188 }
189
190
207 static inline Void IGateProvider_leave (IGateProvider_Handle handle, IArg key)
208 {
209 GT_assert (curTrace, ((IGateProvider_Object *) handle != NULL));
210 if (handle != 0x0 && handle != IGateProvider_NULL) //fix
211 (handle->leave) ((void *)handle, key);
212 }
213
214
215 #if defined (__cplusplus)
216 }
217 #endif /* defined (__cplusplus) */
218
219
220 #endif /* ifndef __IGATEPROVIDER_H__ */
221


SysLink API Reference: ti/syslink/utils/IHeap.h Source File

  • ti
  • syslink
  • utils
IHeap.h
Go to the documentation of this file.
1
61 /*
62 * ============================================================================
63 *
64 * Copyright (c) 2008-2012, Texas Instruments Incorporated
65 *
66 * Redistribution and use in source and binary forms, with or without
67 * modification, are permitted provided that the following conditions
68 * are met:
69 *
70 * * Redistributions of source code must retain the above copyright
71 * notice, this list of conditions and the following disclaimer.
72 *
73 * * Redistributions in binary form must reproduce the above copyright
74 * notice, this list of conditions and the following disclaimer in the
75 * documentation and/or other materials provided with the distribution.
76 *
77 * * Neither the name of Texas Instruments Incorporated nor the names of
78 * its contributors may be used to endorse or promote products derived
79 * from this software without specific prior written permission.
80 *
81 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
82 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
83 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
84 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
85 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
86 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
87 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
88 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
89 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
90 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
91 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
92 * Contact information for paper mail:
93 * Texas Instruments
94 * Post Office Box 655303
95 * Dallas, Texas 75265
96 * Contact information:
97 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
98 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
99 * ============================================================================
100 *
101 */
102
103
104
105 #ifndef HEAP_H_0x7033
106 #define HEAP_H_0x7033
107
108
109 /* OSAL and utils */
110 #include <ti/syslink/utils/MemoryDefs.h>
111 #include <ti/syslink/utils/Trace.h>
112
113
114 #if defined (__cplusplus)
115 extern "C" {
116 #endif
117
118
119 /* =============================================================================
120 * Forward declarations
121 * =============================================================================
122 */
126 typedef struct IHeap_Object_tag IHeap_Object;
127
131 typedef IHeap_Object * IHeap_Handle;
132
133
134 /* =============================================================================
135 * Function pointer types for heap operations
136 * =============================================================================
137 */
139 typedef Ptr (*IHeap_allocFxn) (IHeap_Handle handle,
140 SizeT size,
141 SizeT align);
142
144 typedef Void (*IHeap_freeFxn) (IHeap_Handle handle,
145 Ptr block,
146 SizeT size);
147
149 typedef Void (*IHeap_getStatsFxn) (IHeap_Handle handle,
150 Memory_Stats * stats);
151
152 /*
153 * ! @brief Type for function pointer to indicate whether the heap may block
154 * during an alloc or free call
155 */
156 typedef Bool (*IHeap_isBlockingFxn) (IHeap_Handle handle);
157
159 typedef Ptr (*IHeap_getKnlHandleFxn) (IHeap_Handle handle);
160
161
162 /* =============================================================================
163 * Structures & Enums
164 * =============================================================================
165 */
169 struct IHeap_Object_tag {
170 IHeap_allocFxn alloc;
172 IHeap_freeFxn free;
174 IHeap_getStatsFxn getStats;
176 IHeap_isBlockingFxn isBlocking;
178 IHeap_getKnlHandleFxn getKnlHandle;
180 Ptr obj;
182 };
183
184
185 /* =============================================================================
186 * APIs
187 * =============================================================================
188 */
200 static inline Ptr IHeap_alloc (IHeap_Handle handle,
201 SizeT size,
202 SizeT align)
203 {
204 Ptr buffer;
205
206 GT_assert (curTrace, (((IHeap_Object *) handle)->alloc != NULL));
207 buffer = ((IHeap_Object *) handle)->alloc (handle, size, align);
208 return (buffer);
209 }
210
211
221 static inline Void IHeap_free (IHeap_Handle handle,
222 Ptr block,
223 SizeT size)
224 {
225 GT_assert (curTrace, (((IHeap_Object *) handle)->free != NULL));
226 ((IHeap_Object *) handle)->free (handle, block, size);
227 }
228
229
238 static inline Void IHeap_getStats (IHeap_Handle handle,
239 Memory_Stats * stats)
240 {
241 GT_assert (curTrace, (((IHeap_Object *) handle)->getStats != NULL));
242 ((IHeap_Object *) handle)->getStats (handle, stats);
243 }
244
245
256 static inline Bool IHeap_isBlocking (IHeap_Handle handle)
257 {
258 Bool isBlocking;
259 GT_assert (curTrace, (((IHeap_Object *) handle)->isBlocking != NULL));
260 isBlocking = ((IHeap_Object *) handle)->isBlocking (handle);
261 return (isBlocking);
262 }
263
264
276 static inline Ptr IHeap_getKnlHandle (IHeap_Handle handle)
277 {
278 Ptr knlHandle;
279 GT_assert (curTrace, (((IHeap_Object *) handle)->getKnlHandle != NULL));
280 knlHandle = ((IHeap_Object *) handle)->getKnlHandle (handle);
281 return (knlHandle);
282 }
283
284
285 #if defined (__cplusplus)
286 }
287 #endif /* defined (__cplusplus) */
288
289
290 #endif /* HEAP_H_0x7033 */
291


SysLink API Reference: ti/ipc/Ipc.h Source File

  • ti
  • ipc
Ipc.h
Go to the documentation of this file.
1 /*
2 * Copyright (c) 2012, Texas Instruments Incorporated
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 *
12 * * Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 *
16 * * Neither the name of Texas Instruments Incorporated nor the names of
17 * its contributors may be used to endorse or promote products derived
18 * from this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 * */
50 #ifndef ti_ipc_Ipc__include
51 #define ti_ipc_Ipc__include
52
53 #if defined (__cplusplus)
54 extern "C" {
55 #endif
56
57 /* =============================================================================
58 * All success and failure codes for the module
59 * =============================================================================
60 */
61
66 #define Ipc_S_BUSY 2
67
72 #define Ipc_S_ALREADYSETUP 1
73
78 #define Ipc_S_SUCCESS 0
79
84 #define Ipc_E_FAIL -1
85
90 #define Ipc_E_INVALIDARG -2
91
96 #define Ipc_E_MEMORY -3
97
102 #define Ipc_E_ALREADYEXISTS -4
103
108 #define Ipc_E_NOTFOUND -5
109
114 #define Ipc_E_TIMEOUT -6
115
120 #define Ipc_E_INVALIDSTATE -7
121
126 #define Ipc_E_OSFAILURE -8
127
132 #define Ipc_E_RESOURCE -9
133
138 #define Ipc_E_RESTART -10
139
144 #define Ipc_E_NOTREADY -11
145
146
147 /* =============================================================================
148 * Ipc Module-wide Functions
149 * =============================================================================
150 */
151
195 Int Ipc_attach(UInt16 remoteProcId);
196
252 Int Ipc_detach(UInt16 remoteProcId);
253
266 Bool Ipc_isAttached(UInt16 remoteProcId);
267
285 Int Ipc_readConfig(UInt16 remoteProcId, UInt32 tag, Ptr cfg, SizeT size);
286
312 Int Ipc_start(Void);
313
324 Int Ipc_stop(Void);
325
357 Int Ipc_writeConfig(UInt16 remoteProcId, UInt32 tag, Ptr cfg, SizeT size);
358
359 #if defined (__cplusplus)
360 }
361 #endif /* defined (__cplusplus) */
362
363 #endif /* ti_ipc_Ipc__include */
364
365 /*
366 */
367
368 /*
369 * @(#) ti.ipc; 1, 0, 0, 0,; 11-7-2012 13:07:52; /db/vtree/library/trees/ipc/ipc-i09/src/ xlibrary
370
371 */
372


SysLink API Reference: ti/syslink/IpcHost.h Source File

  • ti
  • syslink
IpcHost.h
Go to the documentation of this file.
1
9 /*
10 * ============================================================================
11 *
12 * Copyright (c) 2008-2012, Texas Instruments Incorporated
13 *
14 * Redistribution and use in source and binary forms, with or without
15 * modification, are permitted provided that the following conditions
16 * are met:
17 *
18 * * Redistributions of source code must retain the above copyright
19 * notice, this list of conditions and the following disclaimer.
20 *
21 * * Redistributions in binary form must reproduce the above copyright
22 * notice, this list of conditions and the following disclaimer in the
23 * documentation and/or other materials provided with the distribution.
24 *
25 * * Neither the name of Texas Instruments Incorporated nor the names of
26 * its contributors may be used to endorse or promote products derived
27 * from this software without specific prior written permission.
28 *
29 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
30 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
31 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
32 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
33 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
34 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
35 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
36 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
37 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
38 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
39 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
40 * Contact information for paper mail:
41 * Texas Instruments
42 * Post Office Box 655303
43 * Dallas, Texas 75265
44 * Contact information:
45 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
46 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
47 * ============================================================================
48 *
49 */
50
51
52
53 #ifndef _IPCHOST_H__
54 #define _IPCHOST_H__
55
56
57 #if defined (__cplusplus)
58 extern "C" {
59 #endif
60
94 #define Ipc_TERMINATEPOLICY_STOP 1
95
96
105 #define Ipc_TERMINATEPOLICY_NOTIFY 2
106
107
133 typedef struct {
134 Int policy;
135 } Ipc_Terminate;
136
137
160 #define Ipc_CONTROLCMD_LOADCALLBACK (0xBABE0000)
161
162
179 #define Ipc_CONTROLCMD_STARTCALLBACK (0xBABE0001)
180
181
205 #define Ipc_CONTROLCMD_STOPCALLBACK (0xBABE0002)
206
207
222 #define Ipc_CONTROLCMD_SETTERMINATEPOLICY (0xBABE0003)
223
224
240 Int Ipc_control (UInt16 procId, Int32 cmdId, Ptr arg);
241
261 Int Ipc_runtimeId(UInt8 *rtid);
262
263 #if defined (__cplusplus)
264 }
265 #endif /* defined (__cplusplus) */
266
267
268 #endif /* _IPCHOST_H__ */


SysLink API Reference: ti/syslink/utils/IpcMemMgr.h Source File

  • ti
  • syslink
  • utils
IpcMemMgr.h
Go to the documentation of this file.
1
16 /*
17 * ============================================================================
18 *
19 * Copyright (c) 2008-2012, Texas Instruments Incorporated
20 *
21 * Redistribution and use in source and binary forms, with or without
22 * modification, are permitted provided that the following conditions
23 * are met:
24 *
25 * * Redistributions of source code must retain the above copyright
26 * notice, this list of conditions and the following disclaimer.
27 *
28 * * Redistributions in binary form must reproduce the above copyright
29 * notice, this list of conditions and the following disclaimer in the
30 * documentation and/or other materials provided with the distribution.
31 *
32 * * Neither the name of Texas Instruments Incorporated nor the names of
33 * its contributors may be used to endorse or promote products derived
34 * from this software without specific prior written permission.
35 *
36 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
37 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
38 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
39 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
40 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
41 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
42 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
43 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
44 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
45 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
46 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
47 * Contact information for paper mail:
48 * Texas Instruments
49 * Post Office Box 655303
50 * Dallas, Texas 75265
51 * Contact information:
52 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
53 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
54 * ============================================================================
55 *
56 */
57
58
59 #ifndef ti_syslink_utils_IpcMemMgr__include
60 #define ti_syslink_utils_IpcMemMgr__include
61
62 #include <ti/syslink/osal/OsalTypes.h>
63
64 #if defined (__cplusplus)
65 extern "C" {
66 #endif
67
68
69 /* =============================================================================
70 * Macros
71 * =============================================================================
72 */
76 #define IpcMemMgr_MODULEID (0x434D)
77
78 #define IpcMemMgr_S_NOTLAST 2
79 #define IpcMemMgr_S_ALREADYSETUP 1
80 #define IpcMemMgr_S_SUCCESS 0
81 #define IpcMemMgr_E_FAIL -1
82 #define IpcMemMgr_E_INVALIDSTATE -2
83 #define IpcMemMgr_E_INVALIDARG -3
84 #define IpcMemMgr_E_MEMORY -4
85 #define IpcMemMgr_E_OSFAILURE -5
86 #define IpcMemMgr_E_TOOMANYNAMEDALLOCS -6
87 #define IpcMemMgr_E_NOTFOUND -7
88 #define IpcMemMgr_E_WRONGSIZE -8
89
90 #define IpcMemMgr_SHAREDMEMNAME "/syslink_shm"
91 #define IpcMemMgr_MAXNAMEDBUFFERS 256 /* max named buffers */
92 #define IpcMemMgr_MAX_NAMELEN 63 /* max name length */
93
94
95 /* =============================================================================
96 * Struct & Enums
97 * =============================================================================
98 */
99 /* Memory type */
100 typedef enum {
101 IpcMemMgr_ALLOCTYPE_PSHMEM = 0x00000,
102 IpcMemMgr_ALLOCTYPE_PHYS_CACHE = 0x00001,
103 IpcMemMgr_ALLOCTYPE_PHYS_NOCACHE = 0x00002,
104 IpcMemMgr_ALLOCTYPE_END = 0x00003,
105 } IpcMemMgr_MemType;
106
110 typedef struct IpcMemMgr_Config_t {
111 UInt32 size;
113 UInt32 minAlign;
114 /* minimum alignement for the buffer allocations */
115 UInt32 gateOffset;
116 /* shared memory offset for the process gate */
117 } IpcMemMgr_Config;
118
122 typedef UInt32 IpcMemMgr_SHPtr;
123
124 /* =============================================================================
125 * APIs
126 * =============================================================================
127 */
128 /* Function to setup the system memory maanger */
129 Void IpcMemMgr_getConfig(IpcMemMgr_Config * config);
130
131 /* setup the ipc memory manager module */
132 Int IpcMemMgr_setup(IpcMemMgr_Config *cfg);
133
134 /* destroy the ipc memory manager module */
135 Int IpcMemMgr_destroy(Void);
136
137 /* allocate anonymous shared memory */
138 // Ptr IpcMemMgr_alloc(UInt32 size, UInt32 reqAlign, IpcMemMgr_MemType memType);
139 Ptr IpcMemMgr_alloc(SizeT size);
140
141 /* allocate memory by name */
142 //Int IpcMemMgr_allocByName(String name, SizeT size, Ptr *addr, Bool *newAlloc);
143 Int IpcMemMgr_acquire(String name, SizeT size, Ptr *addr, Bool *newAlloc);
144
145 /* free memory anonymous memory */
146 Void IpcMemMgr_free(Ptr adr, SizeT size);
147
148 /* free memory by name */
149 // Int IpcMemMgr_freeByName(String name);
150 Int IpcMemMgr_release(String name);
151
152 /* map memory based on kernel virtual address */
153 /* Ptr IpcMemMgr_map(Ptr hint, Ptr buf, UInt32 size); */
154
155 /* unmap memory */
156 /* Int IpcMemMgr_unmap(Ptr buf, UInt32 size); */
157
158 /*
159 * ======== IpcMemMgr_getPtr ========
160 * Convert the given shared memory offset into a local address pointer.
161 */
162 Ptr IpcMemMgr_getPtr(UInt32 offset);
163
164 /*
165 * ======== IpcMemMgr_getOffset ========
166 * Convert the given local address pointer into an offset from the
167 * shared memory base address.
168 */
169 UInt32 IpcMemMgr_getOffset(Ptr vaddr);
170
171 /* allocate inter-process shared memory */
172 Ptr IpcMemMgr_allocShmemHeap(String name, UInt32 size, UInt32 align);
173
174 /* free inter-process shared memory */
175 Int IpcMemMgr_freeShmemHeap(Ptr buf, UInt32 size);
176
177 /* free inter-process shared memory by name */
178 Int IpcMemMgr_freeShmemHeapByName(String name);
179
180 IArg IpcMemMgr_enterGate(Void);
181
182 Void IpcMemMgr_leaveGate(IArg key);
183
184
185 #if defined (__cplusplus)
186 }
187 #endif
188
189 #endif /* ti_syslink_utils_IpcMemMgr__include */


SysLink API Reference: ti/syslink/utils/List.h Source File

  • ti
  • syslink
  • utils
List.h
Go to the documentation of this file.
1
9 /*
10 * ============================================================================
11 *
12 * Copyright (c) 2008-2012, Texas Instruments Incorporated
13 *
14 * Redistribution and use in source and binary forms, with or without
15 * modification, are permitted provided that the following conditions
16 * are met:
17 *
18 * * Redistributions of source code must retain the above copyright
19 * notice, this list of conditions and the following disclaimer.
20 *
21 * * Redistributions in binary form must reproduce the above copyright
22 * notice, this list of conditions and the following disclaimer in the
23 * documentation and/or other materials provided with the distribution.
24 *
25 * * Neither the name of Texas Instruments Incorporated nor the names of
26 * its contributors may be used to endorse or promote products derived
27 * from this software without specific prior written permission.
28 *
29 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
30 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
31 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
32 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
33 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
34 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
35 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
36 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
37 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
38 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
39 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
40 * Contact information for paper mail:
41 * Texas Instruments
42 * Post Office Box 655303
43 * Dallas, Texas 75265
44 * Contact information:
45 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
46 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
47 * ============================================================================
48 *
49 */
50
51
52
53 #ifndef LIST_H_0XB734
54 #define LIST_H_0XB734
55
56
57
58 #if defined (__cplusplus)
59 extern "C" {
60 #endif
61
62
63 /* =============================================================================
64 * Macros and types
65 * =============================================================================
66 */
71 #define List_traverse(x,y) for(x = (List_Elem *)((List_Object *)y)->elem.next; \
72 (UInt32) x != (UInt32)&((List_Object *)y)->elem;\
73 x = x->next)
74
78 typedef struct List_Elem_tag {
79 struct List_Elem_tag * next;
80 struct List_Elem_tag * prev;
81 } List_Elem;
82
86 typedef struct List_Object_tag {
87 List_Elem elem;
89 } List_Object;
90
92 typedef List_Object * List_Handle;
93
97 typedef struct List_Params_tag {
98 UInt32 temp;
99 } List_Params;
100
101
102 /* =============================================================================
103 * APIs
104 * =============================================================================
105 */
114 Void List_Params_init (List_Params * params);
115
127 List_Handle List_create (List_Params * params, Error_Block *eb);
128
136 Void List_delete (List_Handle * handlePtr);
137
149 Void List_construct (List_Object * obj, List_Params * params);
150
158 Void List_destruct (List_Object * obj);
159
167 Void List_elemClear (List_Elem * elem);
168
179 Bool List_empty (List_Handle handle);
180
191 Ptr List_get (List_Handle handle);
192
201 Void List_put (List_Handle handle, List_Elem * elem);
202
215 Ptr List_next (List_Handle handle, List_Elem * elem);
216
229 Ptr List_prev (List_Handle handle, List_Elem * elem);
230
241 Void List_insert (List_Handle handle, List_Elem * newElem, List_Elem * curElem);
242
251 Void List_remove (List_Handle handle, List_Elem * elem);
252
261 Void List_putHead (List_Handle handle, List_Elem * elem);
262
273 Ptr List_dequeue (List_Handle handle);
274
283 Void List_enqueue (List_Handle handle, List_Elem * elem);
284
293 Void List_enqueueHead (List_Handle handle, List_Elem * elem);
294
295
296 #if defined (__cplusplus)
297 }
298 #endif /* defined (__cplusplus) */
299
300
301 #endif /* LIST_H_0XB734 */


SysLink API Reference: ti/ipc/ListMP.h Source File

  • ti
  • ipc
ListMP.h
Go to the documentation of this file.
1 /*
2 * Copyright (c) 2012, Texas Instruments Incorporated
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 *
12 * * Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 *
16 * * Neither the name of Texas Instruments Incorporated nor the names of
17 * its contributors may be used to endorse or promote products derived
18 * from this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 * */
68 #ifndef ti_ipc_ListMP__include
69 #define ti_ipc_ListMP__include
70
71 #include <ti/ipc/SharedRegion.h>
72 #include <ti/ipc/GateMP.h>
73
74 #if defined (__cplusplus)
75 extern "C" {
76 #endif
77
78 /* =============================================================================
79 * All success and failure codes for the module
80 * =============================================================================
81 */
82
87 #define ListMP_S_BUSY 2
88
93 #define ListMP_S_ALREADYSETUP 1
94
99 #define ListMP_S_SUCCESS 0
100
105 #define ListMP_E_FAIL -1
106
111 #define ListMP_E_INVALIDARG -2
112
117 #define ListMP_E_MEMORY -3
118
123 #define ListMP_E_ALREADYEXISTS -4
124
129 #define ListMP_E_NOTFOUND -5
130
135 #define ListMP_E_TIMEOUT -6
136
141 #define ListMP_E_INVALIDSTATE -7
142
147 #define ListMP_E_OSFAILURE -8
148
153 #define ListMP_E_RESOURCE -9
154
159 #define ListMP_E_RESTART -10
160
161 /* =============================================================================
162 * Structures & Enums
163 * =============================================================================
164 */
165
169 typedef struct ListMP_Object *ListMP_Handle;
170
174 typedef struct ListMP_Elem {
175 volatile SharedRegion_SRPtr next;
178 volatile SharedRegion_SRPtr prev;
181 } ListMP_Elem;
182
186 typedef struct ListMP_Params {
187 GateMP_Handle gate;
195 Ptr sharedAddr;
205 String name;
216 UInt16 regionId;
224 } ListMP_Params;
225
226 /* =============================================================================
227 * ListMP Module-wide Functions
228 * =============================================================================
229 */
230
236 Void ListMP_Params_init(ListMP_Params *params);
237
247 ListMP_Handle ListMP_create(const ListMP_Params *params);
248
265 Int ListMP_close(ListMP_Handle *handlePtr);
266
278 Int ListMP_delete(ListMP_Handle *handlePtr);
279
312 Int ListMP_open(String name, ListMP_Handle *handlePtr);
313
342 Int ListMP_openByAddr(Ptr sharedAddr, ListMP_Handle *handlePtr);
343
358 SizeT ListMP_sharedMemReq(const ListMP_Params *params);
359
362 /* =============================================================================
363 * ListMP Per-instance Functions
364 * =============================================================================
365 */
366
374 Bool ListMP_empty(ListMP_Handle handle);
375
383 GateMP_Handle ListMP_getGate(ListMP_Handle handle);
384
397 Ptr ListMP_getHead(ListMP_Handle handle);
398
411 Ptr ListMP_getTail(ListMP_Handle handle);
412
437 Int ListMP_insert(ListMP_Handle handle,
438 ListMP_Elem *newElem,
439 ListMP_Elem *curElem);
440
480 Ptr ListMP_next(ListMP_Handle handle, ListMP_Elem *elem);
481
520 Ptr ListMP_prev(ListMP_Handle handle, ListMP_Elem *elem);
521
535 Int ListMP_putHead(ListMP_Handle handle, ListMP_Elem *elem);
536
550 Int ListMP_putTail(ListMP_Handle handle, ListMP_Elem *elem);
551
567 Int ListMP_remove(ListMP_Handle handle, ListMP_Elem *elem);
568
569 #if defined (__cplusplus)
570 }
571 #endif /* defined (__cplusplus) */
572
573 #endif /* ti_ipc_ListMP__include */
574
575 /*
576 */
577
578 /*
579 * @(#) ti.ipc; 1, 0, 0, 0,; 11-7-2012 13:07:52; /db/vtree/library/trees/ipc/ipc-i09/src/ xlibrary
580
581 */
582


SysLink API Reference: ti/syslink/utils/Memory.h Source File

  • ti
  • syslink
  • utils
Memory.h
Go to the documentation of this file.
1
12 /*
13 * ============================================================================
14 *
15 * Copyright (c) 2008-2012, Texas Instruments Incorporated
16 *
17 * Redistribution and use in source and binary forms, with or without
18 * modification, are permitted provided that the following conditions
19 * are met:
20 *
21 * * Redistributions of source code must retain the above copyright
22 * notice, this list of conditions and the following disclaimer.
23 *
24 * * Redistributions in binary form must reproduce the above copyright
25 * notice, this list of conditions and the following disclaimer in the
26 * documentation and/or other materials provided with the distribution.
27 *
28 * * Neither the name of Texas Instruments Incorporated nor the names of
29 * its contributors may be used to endorse or promote products derived
30 * from this software without specific prior written permission.
31 *
32 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
33 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
34 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
35 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
36 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
37 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
38 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
39 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
40 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
41 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
42 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
43 * Contact information for paper mail:
44 * Texas Instruments
45 * Post Office Box 655303
46 * Dallas, Texas 75265
47 * Contact information:
48 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
49 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
50 * ============================================================================
51 *
52 */
53
54
55
56 #ifndef MEMORY_H_0xC97E
57 #define MEMORY_H_0xC97E
58
59
60 /*------------------------- OSAL and utils ----------------------------- */
61 #include <ti/syslink/utils/MemoryDefs.h>
62 #include <ti/syslink/utils/MemoryOS.h>
63 #include <ti/syslink/utils/_Memory.h>
64
65 /* Module headers */
66 #include <ti/syslink/utils/IHeap.h>
67
68
69 #if defined (__cplusplus)
70 extern "C" {
71 #endif
72
73
74 /* =============================================================================
75 * Macros
76 * =============================================================================
77 */
83 #define Memory_Q_BLOCKING 1
84
85 /* =============================================================================
86 * Structures & Enums. See MemoryDefs.h
87 * =============================================================================
88 */
89
90 /* =============================================================================
91 * APIs
92 * =============================================================================
93 */
108 Ptr Memory_alloc (IHeap_Handle heap, SizeT size, SizeT align, Ptr eb);
109
125 Ptr Memory_calloc (IHeap_Handle heap, SizeT size, SizeT align, Ptr eb);
126
136 Void Memory_free (IHeap_Handle heap, Ptr block, SizeT size);
137
146 Void Memory_getStats (IHeap_Handle heap, Memory_Stats * stats);
147
156 Bool Memory_query (IHeap_Handle heap, Int qual);
157
163 SizeT Memory_getMaxDefaultTypeAlign (Void);
164
181 Ptr Memory_valloc (IHeap_Handle heap,
182 SizeT size,
183 SizeT align,
184 Char value,
185 Ptr eb);
186
187
188 /* =============================================================================
189 * APIs that are added for MemoryOS
190 * =============================================================================
191 */
192
196 #define Memory_copy MemoryOS_copy
197
201 #define Memory_set MemoryOS_set
202
203
204 #if defined (__cplusplus)
205 }
206 #endif /* defined (__cplusplus) */
207
208 #endif /* ifndef MEMORY_H_0xC97E */


SysLink API Reference: ti/syslink/utils/MemoryDefs.h Source File

  • ti
  • syslink
  • utils
MemoryDefs.h
Go to the documentation of this file.
1
10 /*
11 * ============================================================================
12 *
13 * Copyright (c) 2008-2012, Texas Instruments Incorporated
14 *
15 * Redistribution and use in source and binary forms, with or without
16 * modification, are permitted provided that the following conditions
17 * are met:
18 *
19 * * Redistributions of source code must retain the above copyright
20 * notice, this list of conditions and the following disclaimer.
21 *
22 * * Redistributions in binary form must reproduce the above copyright
23 * notice, this list of conditions and the following disclaimer in the
24 * documentation and/or other materials provided with the distribution.
25 *
26 * * Neither the name of Texas Instruments Incorporated nor the names of
27 * its contributors may be used to endorse or promote products derived
28 * from this software without specific prior written permission.
29 *
30 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
31 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
32 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
33 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
34 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
35 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
36 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
37 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
38 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
39 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
40 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
41 * Contact information for paper mail:
42 * Texas Instruments
43 * Post Office Box 655303
44 * Dallas, Texas 75265
45 * Contact information:
46 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
47 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
48 * ============================================================================
49 *
50 */
51
52
53
54 #ifndef MEMORYDEFS_H_0x73E4
55 #define MEMORYDEFS_H_0x73E4
56
57 #include <ti/syslink/utils/_MemoryDefs.h>
58
59 #if defined (__cplusplus)
60 extern "C" {
61 #endif
62
63
64 /* =============================================================================
65 * Macros and types
66 * =============================================================================
67 */
71 typedef struct Memory_Stats_tag {
72 UInt32 totalSize;
74 UInt32 totalFreeSize;
76 UInt32 largestFreeSize;
78 } Memory_Stats;
79
83 typedef enum {
84 MemoryOS_CacheFlags_Default = 0x00000000,
86 MemoryOS_CacheFlags_Cached = 0x00010000,
88 MemoryOS_CacheFlags_Uncached = 0x00020000,
90 MemoryOS_CacheFlags_EndValue = 0x00030000
92 } MemoryOS_CacheFlags;
93
97 typedef enum {
98 MemoryOS_MemTypeFlags_Default = 0x00000000,
100 MemoryOS_MemTypeFlags_Physical = 0x00000001,
102 MemoryOS_MemTypeFlags_Dma = 0x00000002,
104 MemoryOS_MemTypeFlags_EndValue = 0x00000003
106 } MemoryOS_MemTypeFlags;
107
108
109 #if defined (__cplusplus)
110 }
111 #endif /* defined (__cplusplus) */
112
113 #endif /* ifndef MEMORYDEFS_H_0x73E4 */


SysLink API Reference: ti/syslink/utils/MemoryOS.h Source File

  • ti
  • syslink
  • utils
MemoryOS.h
Go to the documentation of this file.
1
11 /*
12 * ============================================================================
13 *
14 * Copyright (c) 2008-2012, Texas Instruments Incorporated
15 *
16 * Redistribution and use in source and binary forms, with or without
17 * modification, are permitted provided that the following conditions
18 * are met:
19 *
20 * * Redistributions of source code must retain the above copyright
21 * notice, this list of conditions and the following disclaimer.
22 *
23 * * Redistributions in binary form must reproduce the above copyright
24 * notice, this list of conditions and the following disclaimer in the
25 * documentation and/or other materials provided with the distribution.
26 *
27 * * Neither the name of Texas Instruments Incorporated nor the names of
28 * its contributors may be used to endorse or promote products derived
29 * from this software without specific prior written permission.
30 *
31 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
32 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
33 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
34 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
35 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
36 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
37 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
38 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
39 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
40 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
41 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
42 * Contact information for paper mail:
43 * Texas Instruments
44 * Post Office Box 655303
45 * Dallas, Texas 75265
46 * Contact information:
47 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
48 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
49 * ============================================================================
50 *
51 */
52
53
54
55 #ifndef MEMORYOS_H_0x97D2
56 #define MEMORYOS_H_0x97D2
57
58 #include <ti/syslink/utils/MemoryDefs.h>
59 /* OSAL and utils */
60 #include <ti/syslink/utils/_MemoryOS.h>
61
62 #if defined (__cplusplus)
63 extern "C" {
64 #endif
65
66
67 /* =============================================================================
68 * Macros and types
69 * See MemoryDefs.h
70 * =============================================================================
71 */
72 /* =============================================================================
73 * APIs
74 * =============================================================================
75 */
76 /* Initialize the memory os module. */
77 Int32 MemoryOS_setup (void);
78
79 /* Finalize the memory os module. */
80 Int32 MemoryOS_destroy (void);
81
82 /* Allocates the specified number of bytes of type specified through flags. */
83 Ptr MemoryOS_alloc (UInt32 size, UInt32 align, UInt32 flags);
84
85 /* Allocates the specified number of bytes and memory is set to zero. */
86 Ptr MemoryOS_calloc (UInt32 size, UInt32 align, UInt32 flags);
87
88 /* Frees local memory */
89 Void MemoryOS_free (Ptr ptr, UInt32 size, UInt32 flags);
90
91 /* Copies the data between memory areas. Returns the number of bytes copied. */
92 Ptr MemoryOS_copy (Ptr dst, Ptr src, UInt32 len);
93
94 /* Set the specified values to the allocated memory area */
95 Ptr MemoryOS_set (Ptr buf, Int value, UInt32 len);
96
97 /* Translate API */
98 Ptr MemoryOS_translate (Ptr srcAddr, Memory_XltFlags flags);
99
100 /* TBD: Add APIs for Memory_move, Scatter-Gather & translateAddr. */
101
102
103 #if defined (__cplusplus)
104 }
105 #endif /* defined (__cplusplus) */
106
107 #endif /* ifndef MEMORYOS_H_0x97D2 */


SysLink API Reference: ti/ipc/MessageQ.h Source File

  • ti
  • ipc
MessageQ.h
Go to the documentation of this file.
1 /*
2 * Copyright (c) 2012, Texas Instruments Incorporated
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 *
12 * * Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 *
16 * * Neither the name of Texas Instruments Incorporated nor the names of
17 * its contributors may be used to endorse or promote products derived
18 * from this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 * */
32
136 #ifndef ti_ipc_MessageQ__include
137 #define ti_ipc_MessageQ__include
138
139 #include <ti/ipc/MultiProc.h>
140
141 #if defined (__cplusplus)
142 extern "C" {
143 #endif
144
145 /* =============================================================================
146 * All success and failure codes for the module
147 * =============================================================================
148 */
149
153 #define MessageQ_S_BUSY 2
154
158 #define MessageQ_S_ALREADYSETUP 1
159
163 #define MessageQ_S_SUCCESS 0
164
168 #define MessageQ_E_FAIL -1
169
173 #define MessageQ_E_INVALIDARG -2
174
178 #define MessageQ_E_MEMORY -3
179
183 #define MessageQ_E_ALREADYEXISTS -4
184
188 #define MessageQ_E_NOTFOUND -5
189
193 #define MessageQ_E_TIMEOUT -6
194
198 #define MessageQ_E_INVALIDSTATE -7
199
203 #define MessageQ_E_OSFAILURE -8
204
208 #define MessageQ_E_RESOURCE -9
209
213 #define MessageQ_E_RESTART -10
214
218 #define MessageQ_E_INVALIDMSG -11
219
223 #define MessageQ_E_NOTOWNER -12
224
228 #define MessageQ_E_REMOTEACTIVE -13
229
233 #define MessageQ_E_INVALIDHEAPID -14
234
238 #define MessageQ_E_INVALIDPROCID -15
239
243 #define MessageQ_E_MAXREACHED -16
244
248 #define MessageQ_E_UNREGISTEREDHEAPID -17
249
253 #define MessageQ_E_CANNOTFREESTATICMSG -18
254
258 #define MessageQ_E_UNBLOCKED -19
259
260 /* =============================================================================
261 * Macros
262 * =============================================================================
263 */
264
268 #define MessageQ_FOREVER ~(0)
269
273 #define MessageQ_INVALIDMSGID 0xffff
274
278 #define MessageQ_INVALIDMESSAGEQ 0xffff
279
283 #define MessageQ_PRIORITYMASK 0x3
284
295 #define MessageQ_getDstQueue(msg) \
296 ((msg)->dstId == (MessageQ_QueueIndex)MessageQ_INVALIDMESSAGEQ) ? \
297 (MessageQ_QueueId)MessageQ_INVALIDMESSAGEQ : \
298 (MessageQ_QueueId)(((MessageQ_QueueId)MultiProc_self() << 16u) \
299 | (((MessageQ_Msg)(msg))->dstId))
300
301
316 #define MessageQ_getMsgId(msg) (((MessageQ_Msg) (msg))->msgId)
317
326 #define MessageQ_getMsgSize(msg) (((MessageQ_Msg) (msg))->msgSize)
327
335 #define MessageQ_getMsgPri(msg) \
336 ((((MessageQ_Msg) (msg))->flags & MessageQ_PRIORITYMASK))
337
348 #define MessageQ_getProcId(queueId) \
349 ((UInt16)((queueId) >> 16))
350
368 #define MessageQ_getReplyQueue(msg) \
369 (MessageQ_QueueId)((((MessageQ_Msg) (msg))->replyProc << 16u) \
370 | ((MessageQ_Msg)(msg))->replyId)
371
384 #define MessageQ_setMsgId(msg, id) ((MessageQ_Msg) (msg))->msgId = (id)
385
392 #define MessageQ_setMsgPri(msg, priority) \
393 (((MessageQ_Msg) (msg))->flags = ((priority) & MessageQ_PRIORITYMASK))
394
395 /* =============================================================================
396 * Structures & Enums
397 * =============================================================================
398 */
399
403 typedef UInt32 MessageQ_QueueId;
404
408 typedef UInt16 MessageQ_QueueIndex;
409
413 typedef struct MessageQ_Object *MessageQ_Handle;
414
418 typedef struct {
419 Void *synchronizer;
428 } MessageQ_Params;
429
433 typedef struct {
434 Bits32 reserved0;
435 Bits32 reserved1;
436 Bits32 msgSize;
437 Bits16 flags;
438 Bits16 msgId;
439 Bits16 dstId;
440 Bits16 dstProc;
441 Bits16 replyId;
442 Bits16 replyProc;
443 Bits16 srcProc;
444 Bits16 heapId;
445 Bits16 seqNum;
446 Bits16 reserved;
447 } MessageQ_MsgHeader;
448
452 typedef MessageQ_MsgHeader *MessageQ_Msg;
453
457 typedef enum {
458 MessageQ_NORMALPRI = 0,
459 MessageQ_HIGHPRI = 1,
460 MessageQ_RESERVEDPRI = 2,
461 MessageQ_URGENTPRI = 3
462 } MessageQ_Priority;
463
464
465 /* =============================================================================
466 * MessageQ Module-wide Functions
467 * =============================================================================
468 */
469
475 Void MessageQ_Params_init(MessageQ_Params *params);
476
493 MessageQ_Handle MessageQ_create(String name, const MessageQ_Params *params);
494
508 Int MessageQ_delete(MessageQ_Handle *handlePtr);
509
527 Int MessageQ_open(String name, MessageQ_QueueId *queueId);
528
540 Int MessageQ_close(MessageQ_QueueId *queueId);
541
564 MessageQ_Msg MessageQ_alloc(UInt16 heapId, UInt32 size);
565
577 Int MessageQ_free(MessageQ_Msg msg);
578
606 Int MessageQ_registerHeap(Ptr heap, UInt16 heapId);
607
621 Int MessageQ_unregisterHeap(UInt16 heapId);
622
633 Void MessageQ_setMsgTrace(MessageQ_Msg msg, Bool traceFlag);
634
659 Void MessageQ_staticMsgInit(MessageQ_Msg msg, UInt32 size);
660
661 /* =============================================================================
662 * MessageQ Per-instance Functions
663 * =============================================================================
664 */
665
695 Int MessageQ_get(MessageQ_Handle handle, MessageQ_Msg *msg, UInt timeout);
696
725 Int MessageQ_put(MessageQ_QueueId queueId, MessageQ_Msg msg);
726
736 Int MessageQ_count(MessageQ_Handle handle);
737
750 UInt32 MessageQ_getQueueId(MessageQ_Handle handle);
751
769 Void MessageQ_setReplyQueue(MessageQ_Handle handle, MessageQ_Msg msg);
770
797 Void MessageQ_unblock(MessageQ_Handle handle);
798
799 #if defined (__cplusplus)
800 }
801 #endif /* defined (__cplusplus) */
802 #endif /* ti_ipc_MessageQ__include */
803
804 /*
805 */
806
807 /*
808 * @(#) ti.ipc; 1, 0, 0, 0,; 11-7-2012 13:07:52; /db/vtree/library/trees/ipc/ipc-i09/src/ xlibrary
809
810 */
811


SysLink API Reference: ti/ipc/MultiProc.h Source File

  • ti
  • ipc
MultiProc.h
Go to the documentation of this file.
1 /*
2 * Copyright (c) 2012, Texas Instruments Incorporated
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 *
12 * * Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 *
16 * * Neither the name of Texas Instruments Incorporated nor the names of
17 * its contributors may be used to endorse or promote products derived
18 * from this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 * */
55 #ifndef ti_ipc_MultiProc__include
56 #define ti_ipc_MultiProc__include
57
58 #if defined (__cplusplus)
59 extern "C" {
60 #endif
61
62 /* =============================================================================
63 * All success and failure codes for the module
64 * =============================================================================
65 */
66
71 #define MultiProc_S_BUSY 2
72
77 #define MultiProc_S_ALREADYSETUP 1
78
83 #define MultiProc_S_SUCCESS 0
84
89 #define MultiProc_E_FAIL -1
90
95 #define MultiProc_E_INVALIDARG -2
96
101 #define MultiProc_E_MEMORY -3
102
107 #define MultiProc_E_ALREADYEXISTS -4
108
113 #define MultiProc_E_NOTFOUND -5
114
119 #define MultiProc_E_TIMEOUT -6
120
125 #define MultiProc_E_INVALIDSTATE -7
126
131 #define MultiProc_E_OSFAILURE -8
132
137 #define MultiProc_E_RESOURCE -9
138
143 #define MultiProc_E_RESTART -10
144
145 /* =============================================================================
146 * Macros
147 * =============================================================================
148 */
149
154 #define MultiProc_INVALIDID (0xFFFF)
155
156 /* =============================================================================
157 * MultiProc Module-wide Functions
158 * =============================================================================
159 */
160
170 UInt16 MultiProc_getBaseIdOfCluster(Void);
171
184 UInt16 MultiProc_getId(String name);
185
197 String MultiProc_getName(UInt16 id);
198
204 UInt16 MultiProc_getNumProcessors(Void);
205
211 UInt16 MultiProc_getNumProcsInCluster(Void);
212
220 UInt16 MultiProc_self(Void);
221
231 Int MultiProc_setBaseIdOfCluster(UInt16 baseId);
232
242 Int MultiProc_setLocalId(UInt16 id);
243
244 #if defined (__cplusplus)
245 }
246 #endif /* defined (__cplusplus) */
247
248 #endif /* ti_ipc_MultiProc__include */
249
250 /*
251 */
252 /*
253 * @(#) ti.ipc; 1, 0, 0, 0,; 11-7-2012 13:07:52; /db/vtree/library/trees/ipc/ipc-i09/src/ xlibrary
254
255 */
256


SysLink API Reference: ti/ipc/NameServer.h Source File

  • ti
  • ipc
NameServer.h
Go to the documentation of this file.
1 /*
2 * Copyright (c) 2012, Texas Instruments Incorporated
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 *
12 * * Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 *
16 * * Neither the name of Texas Instruments Incorporated nor the names of
17 * its contributors may be used to endorse or promote products derived
18 * from this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 * */
82 #ifndef ti_ipc_NameServer__include
83 #define ti_ipc_NameServer__include
84
85 #if defined (__cplusplus)
86 extern "C" {
87 #endif
88
89 /* =============================================================================
90 * All success and failure codes for the module
91 * =============================================================================
92 */
93
98 #define NameServer_S_BUSY 2
99
104 #define NameServer_S_ALREADYSETUP 1
105
110 #define NameServer_S_SUCCESS 0
111
116 #define NameServer_E_FAIL -1
117
122 #define NameServer_E_INVALIDARG -2
123
128 #define NameServer_E_MEMORY -3
129
134 #define NameServer_E_ALREADYEXISTS -4
135
140 #define NameServer_E_NOTFOUND -5
141
146 #define NameServer_E_TIMEOUT -6
147
152 #define NameServer_E_INVALIDSTATE -7
153
158 #define NameServer_E_OSFAILURE -8
159
164 #define NameServer_E_RESOURCE -9
165
170 #define NameServer_E_RESTART -10
171
172 /* =============================================================================
173 * Macros
174 * =============================================================================
175 */
176
181 #define NameServer_ALLOWGROWTH (~0)
182
187 #define NameServer_Params_MAXNAMELEN 16
188
189 /* =============================================================================
190 * Structures & Enums
191 * =============================================================================
192 */
193
197 typedef struct NameServer_Object *NameServer_Handle;
198
202 typedef struct NameServer_Params {
203 UInt maxRuntimeEntries;
218 Ptr tableHeap;
231 Bool checkExisting;
248 UInt maxValueLen;
254 UInt maxNameLen;
261 } NameServer_Params;
262
263
264 /* =============================================================================
265 * NameServer Module-wide Functions
266 * =============================================================================
267 */
268
276 Void NameServer_Params_init(NameServer_Params *params);
277
288 NameServer_Handle NameServer_create(String name,
289 const NameServer_Params *params);
290
305 Int NameServer_delete(NameServer_Handle *handlePtr);
306
327 NameServer_Handle NameServer_getHandle(String name);
328
329 /* =============================================================================
330 * NameServer Per-instance Functions
331 * =============================================================================
332 */
333
363 Ptr NameServer_add(NameServer_Handle handle, String name, Ptr buf, UInt32 len);
364
396 Ptr NameServer_addUInt32(NameServer_Handle handle, String name, UInt32 value);
397
449 Int NameServer_get(NameServer_Handle handle,
450 String name,
451 Ptr buf,
452 UInt32 *len,
453 UInt16 procId[]);
454
502 Int NameServer_getUInt32(NameServer_Handle handle,
503 String name,
504 Ptr buf,
505 UInt16 procId[]);
506
534 Int NameServer_getLocal(NameServer_Handle handle,
535 String name,
536 Ptr buf,
537 UInt32 *len);
538
561 Int NameServer_getLocalUInt32(NameServer_Handle handle,
562 String name,
563 Ptr buf);
564
581 Int NameServer_match(NameServer_Handle handle, String name, UInt32 *value);
582
608 Int NameServer_remove(NameServer_Handle handle, String name);
609
639 Int NameServer_removeEntry(NameServer_Handle handle, Ptr entry);
640
641 #if defined (__cplusplus)
642 }
643 #endif /* defined (__cplusplus) */
644
645 #endif /* ti_ipc_NameServer__include */
646
647 /*
648 */
649 /*
650 * @(#) ti.ipc; 1, 0, 0, 0,; 11-7-2012 13:07:52; /db/vtree/library/trees/ipc/ipc-i09/src/ xlibrary
651
652 */
653


SysLink API Reference: ti/ipc/Notify.h Source File

  • ti
  • ipc
Notify.h
Go to the documentation of this file.
1 /*
2 * Copyright (c) 2012, Texas Instruments Incorporated
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 *
12 * * Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 *
16 * * Neither the name of Texas Instruments Incorporated nor the names of
17 * its contributors may be used to endorse or promote products derived
18 * from this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 * */
104 #ifndef ti_ipc_Notify__include
105 #define ti_ipc_Notify__include
106
107 #if defined (__cplusplus)
108 extern "C" {
109 #endif
110
111 /* =============================================================================
112 * All success and failure codes for the module
113 * =============================================================================
114 */
115
119 #define Notify_S_BUSY 2
120
124 #define Notify_S_ALREADYSETUP 1
125
129 #define Notify_S_SUCCESS 0
130
134 #define Notify_E_FAIL -1
135
139 #define Notify_E_INVALIDARG -2
140
144 #define Notify_E_MEMORY -3
145
149 #define Notify_E_ALREADYEXISTS -4
150
154 #define Notify_E_NOTFOUND -5
155
159 #define Notify_E_TIMEOUT -6
160
164 #define Notify_E_INVALIDSTATE -7
165
169 #define Notify_E_OSFAILURE -8
170
174 #define Notify_E_ALREADYSETUP -9
175
179 #define Notify_E_RESOURCE -10
180
184 #define Notify_E_RESTART -11
185
189 #define Notify_E_BUSY -12
190
194 #define Notify_E_DRIVERNOTREGISTERED -13
195
199 #define Notify_E_EVTNOTREGISTERED -14
200
204 #define Notify_E_EVTDISABLED -15
205
209 #define Notify_E_NOTINITIALIZED -16
210
214 #define Notify_E_EVTRESERVED -17
215
216 /* =============================================================================
217 * Macros
218 * =============================================================================
219 */
220
224 #define Notify_MAXEVENTS (UInt16)32
225
229 #define Notify_MAX_INTLINES 4u
230
236 #define Notify_SYSTEMKEY ((UInt16)0xC1D2)
237
238 /* =============================================================================
239 * Structures & Enums
240 * =============================================================================
241 */
242
254 typedef Void (*Notify_FnNotifyCbck)(UInt16 , UInt16, UInt32, UArg, UInt32);
255
256 /* =============================================================================
257 * Notify Module-wide Functions
258 * =============================================================================
259 */
260
286 Int Notify_attach(UInt16 remoteProcId, Ptr sharedAddr);
287
311 UInt Notify_disable(UInt16 procId, UInt16 lineId);
312
336 Void Notify_disableEvent(UInt16 procId, UInt16 lineId, UInt32 eventId);
337
356 Void Notify_enableEvent(UInt16 procId, UInt16 lineId, UInt32 eventId);
357
384 Bool Notify_eventAvailable(UInt16 procId, UInt16 lineId, UInt32 eventId);
385
401 Bool Notify_intLineRegistered(UInt16 procId, UInt16 lineId);
402
413 UInt16 Notify_numIntLines(UInt16 procId);
414
428 SizeT Notify_sharedMemReq(UInt16 procId, Ptr sharedAddr);
429
462 Int Notify_registerEvent(UInt16 procId,
463 UInt16 lineId,
464 UInt32 eventId,
465 Notify_FnNotifyCbck fnNotifyCbck,
466 UArg cbckArg);
467
494 Int Notify_registerEventSingle(UInt16 procId,
495 UInt16 lineId,
496 UInt32 eventId,
497 Notify_FnNotifyCbck fnNotifyCbck,
498 UArg cbckArg);
499
515 Void Notify_restore(UInt16 procId, UInt16 lineId, UInt key);
516
563 Int Notify_sendEvent(UInt16 procId, UInt16 lineId, UInt32 eventId,
564 UInt32 payload, Bool waitClear);
565
589 Int Notify_unregisterEvent(UInt16 procId, UInt16 lineId, UInt32 eventId,
590 Notify_FnNotifyCbck fnNotifyCbck, UArg cbckArg);
591
609 Int Notify_unregisterEventSingle(UInt16 procId, UInt16 lineId, UInt32 eventId);
610
611 #if defined (__cplusplus)
612 }
613 #endif /* defined (__cplusplus) */
614 #endif /* ti_ipc_Notify__include */
615
616 /*
617 */
618
619 /*
620 * @(#) ti.ipc; 1, 0, 0, 0,; 11-7-2012 13:07:52; /db/vtree/library/trees/ipc/ipc-i09/src/ xlibrary
621
622 */
623


SysLink API Reference: ti/syslink/utils/OsalPrint.h Source File

  • ti
  • syslink
  • utils
OsalPrint.h
Go to the documentation of this file.
1
12 /*
13 * ============================================================================
14 *
15 * Copyright (c) 2008-2012, Texas Instruments Incorporated
16 *
17 * Redistribution and use in source and binary forms, with or without
18 * modification, are permitted provided that the following conditions
19 * are met:
20 *
21 * * Redistributions of source code must retain the above copyright
22 * notice, this list of conditions and the following disclaimer.
23 *
24 * * Redistributions in binary form must reproduce the above copyright
25 * notice, this list of conditions and the following disclaimer in the
26 * documentation and/or other materials provided with the distribution.
27 *
28 * * Neither the name of Texas Instruments Incorporated nor the names of
29 * its contributors may be used to endorse or promote products derived
30 * from this software without specific prior written permission.
31 *
32 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
33 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
34 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
35 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
36 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
37 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
38 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
39 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
40 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
41 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
42 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
43 * Contact information for paper mail:
44 * Texas Instruments
45 * Post Office Box 655303
46 * Dallas, Texas 75265
47 * Contact information:
48 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
49 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
50 * ============================================================================
51 *
52 */
53
54
55
56 #ifndef OSALPRINT_H_0xC431
57 #define OSALPRINT_H_0xC431
58
59
60 /* OSAL and utils */
61
62
63 #if defined (__cplusplus)
64 extern "C" {
65 #endif
66
67
72 #define OSALPRINT_MODULEID (UInt16) 0xC431
73
74
75 /* =============================================================================
76 * APIs
77 * =============================================================================
78 */
79 /* printf abstraction at the kernel level. */
80 Void Osal_printf(char* format, ...);
81
82
83 #if defined (__cplusplus)
84 }
85 #endif /* defined (__cplusplus) */
86
87 #endif /* ifndef OSALPRINT_H_0xC431 */


SysLink API Reference: ti/syslink/utils/OsalSemaphore.h Source File

  • ti
  • syslink
  • utils
OsalSemaphore.h
Go to the documentation of this file.
1
12 /*
13 * ============================================================================
14 *
15 * Copyright (c) 2008-2012, Texas Instruments Incorporated
16 *
17 * Redistribution and use in source and binary forms, with or without
18 * modification, are permitted provided that the following conditions
19 * are met:
20 *
21 * * Redistributions of source code must retain the above copyright
22 * notice, this list of conditions and the following disclaimer.
23 *
24 * * Redistributions in binary form must reproduce the above copyright
25 * notice, this list of conditions and the following disclaimer in the
26 * documentation and/or other materials provided with the distribution.
27 *
28 * * Neither the name of Texas Instruments Incorporated nor the names of
29 * its contributors may be used to endorse or promote products derived
30 * from this software without specific prior written permission.
31 *
32 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
33 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
34 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
35 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
36 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
37 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
38 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
39 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
40 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
41 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
42 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
43 * Contact information for paper mail:
44 * Texas Instruments
45 * Post Office Box 655303
46 * Dallas, Texas 75265
47 * Contact information:
48 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
49 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
50 * ============================================================================
51 *
52 */
53
54
55
56 #ifndef OSALSEMAPHORE_H_0xF6D6
57 #define OSALSEMAPHORE_H_0xF6D6
58
59
60 /* OSAL and utils */
61
62
63 #if defined (__cplusplus)
64 extern "C" {
65 #endif
66
67
72 #define OSALSEMAPHORE_MODULEID (UInt16) 0xF6D6
73
74 /* =============================================================================
75 * All success and failure codes for the module
76 * =============================================================================
77 */
82 #define OSALSEMAPHORE_STATUSCODEBASE (OSALSEMAPHORE_MODULEID << 12u)
83
88 #define OSALSEMAPHORE_MAKE_FAILURE(x) ((Int) (0x80000000 \
89 + (OSALSEMAPHORE_STATUSCODEBASE +(x))))
90
94 #define OSALSEMAPHORE_MAKE_SUCCESS(x) (OSALSEMAPHORE_STATUSCODEBASE + (x))
95
100 #define OSALSEMAPHORE_E_MEMORY OSALSEMAPHORE_MAKE_FAILURE(1)
101
106 #define OSALSEMAPHORE_E_INVALIDARG OSALSEMAPHORE_MAKE_FAILURE(2)
107
112 #define OSALSEMAPHORE_E_FAIL OSALSEMAPHORE_MAKE_FAILURE(3)
113
118 #define OSALSEMAPHORE_E_TIMEOUT OSALSEMAPHORE_MAKE_FAILURE(4)
119
124 #define OSALSEMAPHORE_E_HANDLE OSALSEMAPHORE_MAKE_FAILURE(5)
125
131 #define OSALSEMAPHORE_E_WAITNONE OSALSEMAPHORE_MAKE_FAILURE(6)
132
137 #define OSALSEMAPHORE_E_RESOURCE OSALSEMAPHORE_MAKE_FAILURE(7)
138
143 #define OSALSEMAPHORE_SUCCESS OSALSEMAPHORE_MAKE_SUCCESS(0)
144
145
146 /* =============================================================================
147 * Macros and types
148 * =============================================================================
149 */
154 #define OSALSEMAPHORE_WAIT_FOREVER (~((UInt32) 0u))
155
160 #define OSALSEMAPHORE_WAIT_NONE ((UInt32) 0u)
161
166 #define OSALSEMAPHORE_TYPE_VALUE(type) (type & 0x0000FFFF)
167
172 #define OSALSEMAPHORE_INTTYPE_VALUE(type) (type & 0xFFFF0000)
173
178 typedef struct OsalSemaphore_Object * OsalSemaphore_Handle;
179
183 typedef enum {
184 OsalSemaphore_Type_Binary = 0x00000000,
186 OsalSemaphore_Type_Counting = 0x00000001,
188 OsalSemaphore_Type_EndValue = 0x00000002
190 } OsalSemaphore_Type;
191
195 typedef enum {
196 OsalSemaphore_IntType_Interruptible = 0x00000000,
198 OsalSemaphore_IntType_Noninterruptible = 0x00010000,
200 OsalSemaphore_IntType_EndValue = 0x00020000
202 } OsalSemaphore_IntType;
203
204
205 /* =============================================================================
206 * APIs
207 * =============================================================================
208 */
209 /* Creates the semaphore object. */
210 OsalSemaphore_Handle OsalSemaphore_create (UInt32 semType);
211
212 /* Deletes the semaphore object */
213 Int OsalSemaphore_delete (OsalSemaphore_Handle * semHandle);
214
215 /* Wait on the said Semaphore in the kernel thread context */
216 Int OsalSemaphore_pend (OsalSemaphore_Handle semHandle, UInt32 timeout);
217
218 /* Signal the semaphore and make it available for other threads. */
219 Int OsalSemaphore_post (OsalSemaphore_Handle semHandle);
220
221
222 #if defined (__cplusplus)
223 }
224 #endif /* defined (__cplusplus) */
225
226 #endif /* ifndef OSALSEMAPHORE_H_0xF6D6 */


SysLink API Reference: ti/syslink/ProcMgr.h Source File

  • ti
  • syslink
ProcMgr.h
Go to the documentation of this file.
1
36 /*
37 * ============================================================================
38 *
39 * Copyright (c) 2008-2012, Texas Instruments Incorporated
40 *
41 * Redistribution and use in source and binary forms, with or without
42 * modification, are permitted provided that the following conditions
43 * are met:
44 *
45 * * Redistributions of source code must retain the above copyright
46 * notice, this list of conditions and the following disclaimer.
47 *
48 * * Redistributions in binary form must reproduce the above copyright
49 * notice, this list of conditions and the following disclaimer in the
50 * documentation and/or other materials provided with the distribution.
51 *
52 * * Neither the name of Texas Instruments Incorporated nor the names of
53 * its contributors may be used to endorse or promote products derived
54 * from this software without specific prior written permission.
55 *
56 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
57 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
58 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
59 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
60 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
61 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
62 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
63 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
64 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
65 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
66 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
67 * Contact information for paper mail:
68 * Texas Instruments
69 * Post Office Box 655303
70 * Dallas, Texas 75265
71 * Contact information:
72 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
73 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
74 * ============================================================================
75 *
76 */
77
78
79 #ifndef ProcMgr_H_0xf2ba
80 #define ProcMgr_H_0xf2ba
81
82 #if defined (__cplusplus)
83 extern "C" {
84 #endif
85
86
87 /* =============================================================================
88 * All success and failure codes for the module
89 * =============================================================================
90 */
94 #define ProcMgr_S_SETUP 5
95
99 #define ProcMgr_S_OPENHANDLE 4
100
104 #define ProcMgr_S_ALREADYEXISTS 3
105
108 #define ProcMgr_S_BUSY 2
109
113 #define ProcMgr_S_ALREADYSETUP 1
114
118 #define ProcMgr_S_SUCCESS 0
119
123 #define ProcMgr_E_FAIL -1
124
128 #define ProcMgr_E_INVALIDARG -2
129
133 #define ProcMgr_E_MEMORY -3
134
138 #define ProcMgr_E_ALREADYEXISTS -4
139
143 #define ProcMgr_E_NOTFOUND -5
144
148 #define ProcMgr_E_TIMEOUT -6
149
153 #define ProcMgr_E_INVALIDSTATE -7
154
158 #define ProcMgr_E_OSFAILURE -8
159
163 #define ProcMgr_E_RESOURCE -9
164
168 #define ProcMgr_E_RESTART -10
169
173 #define ProcMgr_E_HANDLE -11
174
178 #define ProcMgr_E_ACCESSDENIED -12
179
183 #define ProcMgr_E_TRANSLATE -13
184
188 #define ProcMgr_E_SYMBOLNOTFOUND -14
189
193 #define ProcMgr_E_MAP -15
194
195
196 /* =============================================================================
197 * Macros and types
198 * =============================================================================
199 */
203 #define IS_VALID_PROCID(id) (id < MultiProc_MAXPROCESSORS)
204
208 typedef struct ProcMgr_Object * ProcMgr_Handle;
209
210
214 typedef enum {
215 ProcMgr_State_Unknown = 0u,
217 ProcMgr_State_Powered = 1u,
219 ProcMgr_State_Reset = 2u,
221 ProcMgr_State_Loaded = 3u,
223 ProcMgr_State_Running = 4u,
225 ProcMgr_State_Unavailable = 5u,
227 ProcMgr_State_EndValue = 6u
229 } ProcMgr_State ;
230
234 typedef enum {
235 ProcMgr_BootMode_Boot = 0u,
237 ProcMgr_BootMode_NoLoad_Pwr = 1u,
239 ProcMgr_BootMode_NoLoad_NoPwr = 2u,
241 ProcMgr_BootMode_NoBoot = 3u,
247 ProcMgr_BootMode_EndValue = 4u
249 } ProcMgr_BootMode ;
250
254 typedef enum {
255 ProcMgr_AddrType_MasterKnlVirt = 0u,
257 ProcMgr_AddrType_MasterUsrVirt = 1u,
259 ProcMgr_AddrType_MasterPhys = 2u,
261 ProcMgr_AddrType_SlaveVirt = 3u,
263 ProcMgr_AddrType_SlavePhys = 4u,
265 ProcMgr_AddrType_EndValue = 5u
267 } ProcMgr_AddrType;
268
272 typedef UInt32 ProcMgr_MapMask;
273
277 #define ProcMgr_MASTERKNLVIRT (ProcMgr_MapMask)(1 << 0)
278
282 #define ProcMgr_MASTERUSRVIRT (ProcMgr_MapMask)(1 << 1)
283
287 #define ProcMgr_SLAVEVIRT (ProcMgr_MapMask)(1 << 2)
288
292 typedef struct ProcMgr_AttachParams_tag {
293 ProcMgr_BootMode bootMode;
295 Ptr bootParams;
297 } ProcMgr_AttachParams ;
298
303 typedef struct ProcMgr_StartParams_tag {
304 UInt32 reserved;
306 } ProcMgr_StartParams ;
307
308
313 typedef struct ProcMgr_AddrInfo_tag {
314 UInt32 addr [ProcMgr_AddrType_EndValue];
316 UInt32 size;
318 Bool isCached;
320 Bool isMapped;
322 ProcMgr_MapMask mapMask;
324 UInt16 refCount;
327 } ProcMgr_AddrInfo;
328
332 typedef struct ProcMgr_MappedMemEntry {
333 ProcMgr_AddrInfo info;
335 ProcMgr_AddrType srcAddrType;
337 ProcMgr_MapMask mapMask;
339 Bool inUse;
341 } ProcMgr_MappedMemEntry;
342
346 typedef struct ProcMgr_ProcInfo_tag {
347 ProcMgr_BootMode bootMode;
349 UInt16 maxMemoryRegions;
351 UInt16 numMemEntries;
353 ProcMgr_MappedMemEntry memEntries [0];
355 } ProcMgr_ProcInfo;
356
357
361 typedef struct ProcMgr_SectionInfo_tag {
362 UInt32 physicalAddress;
364 UInt32 virtualAddress;
366 UInt16 sectId;
368 UInt32 size;
370 } ProcMgr_SectionInfo;
371
372
373 /* =============================================================================
374 * APIs
375 * =============================================================================
376 */
399 Int ProcMgr_open (ProcMgr_Handle * handlePtr, UInt16 procId);
400
422 Int ProcMgr_close (ProcMgr_Handle * handlePtr);
423
441 Void ProcMgr_getAttachParams (ProcMgr_Handle handle,
442 ProcMgr_AttachParams * params);
443
489 Int ProcMgr_attach (ProcMgr_Handle handle, ProcMgr_AttachParams * params);
490
514 Int ProcMgr_detach (ProcMgr_Handle handle);
515
549 Int ProcMgr_load (ProcMgr_Handle handle,
550 String imagePath,
551 UInt32 argc,
552 String * argv,
553 Ptr params,
554 UInt32 * fileId);
555
578 Int ProcMgr_unload (ProcMgr_Handle handle, UInt32 fileId);
579
598 Void ProcMgr_getStartParams (ProcMgr_Handle handle,
599 ProcMgr_StartParams * params);
600
625 Int ProcMgr_start (ProcMgr_Handle handle, ProcMgr_StartParams * params);
626
644 Int ProcMgr_stop (ProcMgr_Handle handle);
645
658 ProcMgr_State ProcMgr_getState (ProcMgr_Handle handle);
659
691 Int ProcMgr_read (ProcMgr_Handle handle,
692 UInt32 procAddr,
693 UInt32 * numBytes,
694 Ptr buffer);
695
724 Int ProcMgr_write (ProcMgr_Handle handle,
725 UInt32 procAddr,
726 UInt32 * numBytes,
727 Ptr buffer);
728
747 Int ProcMgr_control (ProcMgr_Handle handle, Int32 cmd, Ptr arg);
748
772 Int ProcMgr_translateAddr (ProcMgr_Handle handle,
773 Ptr * dstAddr,
774 ProcMgr_AddrType dstAddrType,
775 Ptr srcAddr,
776 ProcMgr_AddrType srcAddrType);
777
794 Int ProcMgr_getSymbolAddress (ProcMgr_Handle handle,
795 UInt32 fileId,
796 String symbolName,
797 UInt32 * symValue);
798
826 Int ProcMgr_map (ProcMgr_Handle handle,
827 ProcMgr_MapMask mapMask,
828 ProcMgr_AddrInfo * addrInfo,
829 ProcMgr_AddrType srcAddrType);
830
863 Int ProcMgr_unmap (ProcMgr_Handle handle,
864 ProcMgr_MapMask mapMask,
865 ProcMgr_AddrInfo * addrInfo,
866 ProcMgr_AddrType srcAddrType);
867
879 UInt32 ProcMgr_getMaxMemoryRegions(ProcMgr_Handle handle);
880
881
894 Int ProcMgr_getProcInfo (ProcMgr_Handle handle,
895 ProcMgr_ProcInfo * procInfo);
896
897
913 Int ProcMgr_getSectionInfo (ProcMgr_Handle handle,
914 UInt32 fileId,
915 String sectionName,
916 ProcMgr_SectionInfo * sectionInfo);
917
935 Int ProcMgr_getSectionData (ProcMgr_Handle handle,
936 UInt32 fileId,
937 ProcMgr_SectionInfo * sectionInfo,
938 Ptr buffer);
939
940
951 UInt32 ProcMgr_getLoadedFileId (ProcMgr_Handle handle);
952
953
954 #if defined (__cplusplus)
955 }
956 #endif /* defined (__cplusplus) */
957
958 #endif /* ProcMgr_H_0xf2ba */


SysLink API Reference: ti/syslink/utils/ResTrack.h Source File

  • ti
  • syslink
  • utils
ResTrack.h
Go to the documentation of this file.
1
8 /*
9 * ============================================================================
10 *
11 * Copyright (c) 2008-2012, Texas Instruments Incorporated
12 *
13 * Redistribution and use in source and binary forms, with or without
14 * modification, are permitted provided that the following conditions
15 * are met:
16 *
17 * * Redistributions of source code must retain the above copyright
18 * notice, this list of conditions and the following disclaimer.
19 *
20 * * Redistributions in binary form must reproduce the above copyright
21 * notice, this list of conditions and the following disclaimer in the
22 * documentation and/or other materials provided with the distribution.
23 *
24 * * Neither the name of Texas Instruments Incorporated nor the names of
25 * its contributors may be used to endorse or promote products derived
26 * from this software without specific prior written permission.
27 *
28 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
29 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
30 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
31 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
32 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
35 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
36 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
37 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
38 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39 * Contact information for paper mail:
40 * Texas Instruments
41 * Post Office Box 655303
42 * Dallas, Texas 75265
43 * Contact information:
44 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
45 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
46 * ============================================================================
47 *
48 */
49
50
51 #ifndef ti_syslink_utils_ResTrack__include
52 #define ti_syslink_utils_ResTrack__include
53
54 #include <ti/syslink/osal/OsalTypes.h>
55 #include <ti/syslink/utils/List.h>
56
57
58 #if defined (__cplusplus)
59 extern "C" {
60 #endif
61
62
63 /* =============================================================================
64 * Macros and types
65 * =============================================================================
66 */
67
68 #define ResTrack_S_SUCCESS 0
69 #define ResTrack_E_FAIL (-1)
70 #define ResTrack_E_MEMORY (-2)
71 #define ResTrack_E_PID (-3)
72 #define ResTrack_E_NOTFOUND (-4)
73
74
78 typedef Bool (*ResTrack_Fxn)(Void *ptrA, Void *ptrB);
79
83 typedef struct ResTrack_Object *ResTrack_Handle;
84
88 typedef struct {
89 Int temp;
90 } ResTrack_Params;
91
92
93 /* =============================================================================
94 * APIs
95 * =============================================================================
96 */
105 Void ResTrack_Params_init(ResTrack_Params *params);
106
117 ResTrack_Handle ResTrack_create(ResTrack_Params *params);
118
126 Void ResTrack_delete(ResTrack_Handle *handlePtr);
127
140 Int ResTrack_pop(ResTrack_Handle handle, Osal_Pid pid, List_Elem **resPtr);
141
154 Int ResTrack_push(ResTrack_Handle handle, Osal_Pid pid, List_Elem *res);
155
167 Int ResTrack_register(ResTrack_Handle handle, Osal_Pid pid);
168
185 Int ResTrack_remove(ResTrack_Handle handle, Osal_Pid pid, List_Elem *ref,
186 ResTrack_Fxn cmpFxn, List_Elem **resPtr);
187
199 Int ResTrack_unregister(ResTrack_Handle handle, Osal_Pid pid);
200
201
202 #if defined (__cplusplus)
203 }
204 #endif
205
206 #endif /* ti_syslink_utils_ResTrack__include */


SysLink API Reference: ti/syslink/RingIO.h Source File

  • ti
  • syslink
RingIO.h
Go to the documentation of this file.
1
124 /*
125 * ============================================================================
126 *
127 * Copyright (c) 2008-2012, Texas Instruments Incorporated
128 *
129 * Redistribution and use in source and binary forms, with or without
130 * modification, are permitted provided that the following conditions
131 * are met:
132 *
133 * * Redistributions of source code must retain the above copyright
134 * notice, this list of conditions and the following disclaimer.
135 *
136 * * Redistributions in binary form must reproduce the above copyright
137 * notice, this list of conditions and the following disclaimer in the
138 * documentation and/or other materials provided with the distribution.
139 *
140 * * Neither the name of Texas Instruments Incorporated nor the names of
141 * its contributors may be used to endorse or promote products derived
142 * from this software without specific prior written permission.
143 *
144 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
145 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
146 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
147 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
148 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
149 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
150 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
151 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
152 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
153 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
154 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
155 * Contact information for paper mail:
156 * Texas Instruments
157 * Post Office Box 655303
158 * Dallas, Texas 75265
159 * Contact information:
160 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
161 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
162 * ============================================================================
163 *
164 */
165
166
167
168 #ifndef RINGIO_H_0xd3f4
169 #define RINGIO_H_0xd3f4
170
171 /* Utilities headers */
172 #include <ti/syslink/SysLink.h>
173
174 #if defined (__cplusplus)
175 extern "C" {
176 #endif
177
178
179 /* =============================================================================
180 * All success and failure codes for the module
181 * =============================================================================
182 */
190 #define RingIO_S_PENDINGATTRIBUTE 4
191
197 #define RingIO_S_NOTCONTIGUOUSDATA 3
198
202 #define RingIO_S_BUSY 2
203
207 #define RingIO_S_ALREADYSETUP 1
208
212 #define RingIO_S_SUCCESS 0
213
217 #define RingIO_E_FAIL -1
218
222 #define RingIO_E_INVALIDARG -2
223
227 #define RingIO_E_MEMORY -3
228
232 #define RingIO_E_ALREADYEXISTS -4
233
237 #define RingIO_E_NOTFOUND -5
238
242 #define RingIO_E_TIMEOUT -6
243
247 #define RingIO_E_INVALIDSTATE -7
248
252 #define RingIO_E_OSFAILURE -8
253
257 #define RingIO_E_RESOURCE -9
258
262 #define RingIO_E_RESTART -10
263
267 #define RingIO_E_INVALIDMSG -11
268
272 #define RingIO_E_NOTOWNER -12
273
277 #define RingIO_E_REMOTEACTIVE -13
278
282 #define RingIO_E_INVALIDHEAPID -14
283
287 #define RingIO_E_INVALIDPROCID -15
288
292 #define RingIO_E_MAXREACHED -16
293
297 #define RingIO_E_INUSE -17
298
302 #define RingIO_E_INVALIDCONTEXT -18
303
307 #define RingIO_E_BADVERSION -19
308
313 #define RingIO_E_BUFWRAP -20
314
318 #define RingIO_E_BUFEMPTY -21
319
323 #define RingIO_E_BUFFULL -22
324
329 #define RingIO_E_PENDINGDATA -23
330
335 #define RingIO_E_VARIABLEATTRIBUTE -24
336
337
341 #define RingIO_E_WRONGSTATE -25
342
345 #define RingIO_E_NOTIFYFAIL -26
346
351 #define RingIO_E_PENDINGATTRIBUTE -27
352
353
354 /* =============================================================================
355 * Typedefs
356 * =============================================================================
357 */
361 typedef Ptr RingIO_BufPtr;
362
369 typedef UInt16 RingIO_NotifyMsg;
370
371 /* =============================================================================
372 * Forward declarations
373 * =============================================================================
374 */
378 typedef struct RingIO_Object * RingIO_Handle;
379
380 /* =============================================================================
381 * Structures & Enums
382 * =============================================================================
383 */
384
385 typedef enum RingIO_Type_Tag {
386 RingIO_Type_SHAREDMEM = 0x0
389 } RingIO_Type;
390
391 /* =============================================================================
392 * Structures for instance related configuration
393 * =============================================================================
394 */
400 typedef struct RingIO_Params_Tag {
401 String name;
403 RingIO_Type interfaceType;
405 } RingIO_Params;
406
410 typedef enum RingIO_OpenMode_Tag {
411 RingIO_MODE_READER = 0x0,
413 RingIO_MODE_WRITER = 0x1
415 } RingIO_OpenMode;
416
421 typedef struct RingIO_openParams_Tag {
422 UInt32 flags;
426 RingIO_OpenMode openMode;
428 } RingIO_openParams;
429
430
435 typedef struct RingIO_sharedMemReqDetails_tag {
436 UInt32 ctrlSharedMemReq;
438 UInt32 dataSharedMemReq;
440 UInt32 attrSharedMemReq;
442 } RingIO_sharedMemReqDetails;
443
444
449 typedef enum RingIO_Flags_tag {
450 RingIO_DATABUF_MAINTAINCACHE = 0x1,
454 RingIO_NEED_EXACT_SIZE = 0x2
462 } RingIO_Flags;
463
467 typedef enum RingIO_NotifyType_Tag {
468 RingIO_NOTIFICATION_NONE = SysLink_NOTIFICATION_NONE,
470 RingIO_NOTIFICATION_ALWAYS = SysLink_NOTIFICATION_ALWAYS,
473 RingIO_NOTIFICATION_ONCE = SysLink_NOTIFICATION_ONCE,
478 RingIO_NOTIFICATION_HDWRFIFO_ALWAYS =
479 SysLink_NOTIFICATION_HDWRFIFO_ALWAYS,
484 RingIO_NOTIFICATION_HDWRFIFO_ONCE =
485 SysLink_NOTIFICATION_HDWRFIFO_ONCE
492 } RingIO_NotifyType;
493
505 typedef void (* RingIO_NotifyFxn ) (RingIO_Handle, Ptr, RingIO_NotifyMsg);
506
507
508 /* =============================================================================
509 * APIs to be used in Application
510 * =============================================================================
511 */
512 /* =============================================================================
513 * Instance creation and deletion related API's
514 * =============================================================================
515 */
532 Void RingIO_Params_init (Void * params);
533
563 RingIO_Handle RingIO_create(const Void *params);
564
588 Int RingIO_delete(RingIO_Handle *handlePtr);
589
607 UInt32 RingIO_sharedMemReq(const Void *params,
608 RingIO_sharedMemReqDetails *sharedMemReqDetails);
609
610 /* =============================================================================
611 * Instance opening and closing related API's
612 * =============================================================================
613 */
640 Int RingIO_open(String name, const RingIO_openParams *params, UInt16 *procIds,
641 RingIO_Handle *handlePtr);
642
668 Int RingIO_openByAddr(Ptr ctrlSharedAddr, const RingIO_openParams *params,
669 RingIO_Handle *handlePtr);
670
696 Int RingIO_close(RingIO_Handle *handlePtr);
697
698
699 /* =============================================================================
700 * Instance Notification related API's
701 * =============================================================================
702 */
744 Int RingIO_registerNotifier(RingIO_Handle handle,
745 RingIO_NotifyType notifyType, UInt32 watermark,
746 RingIO_NotifyFxn notifyFunc, Ptr cbContext);
747
766 Int RingIO_unregisterNotifier(RingIO_Handle handle);
767
782 Int RingIO_setWaterMark(RingIO_Handle handle, UInt32 watermark);
783
784
800 Int RingIO_setNotifyType(RingIO_Handle handle, RingIO_NotifyType notifyType);
801
802
803 /*=============================================================================
804 * Main RingIO APIs called by application for RingIO functions
805 *=============================================================================
806 */
864 Int RingIO_acquire(RingIO_Handle handle, RingIO_BufPtr *pData, UInt32 *pSize);
865
866
885 Int RingIO_release(RingIO_Handle handle, UInt32 size);
886
887
908 Int RingIO_cancel(RingIO_Handle handle);
909
910
950 Int RingIO_getvAttribute(RingIO_Handle handle, UInt16 *type, UInt32 *param,
951 RingIO_BufPtr vptr, UInt32 *pSize);
952
953
1003 Int RingIO_setvAttribute(RingIO_Handle handle, UInt16 type, UInt32 param,
1004 RingIO_BufPtr pData, UInt32 size, Bool sendNotification);
1005
1006
1039 Int RingIO_getAttribute(RingIO_Handle handle, UInt16 *type, UInt32 *param);
1040
1081 Int RingIO_setAttribute(RingIO_Handle handle, UInt16 type, UInt32 param,
1082 Bool sendNotification);
1083
1084
1132 Int RingIO_flush(RingIO_Handle handle, Bool hardFlush, UInt16 *type,
1133 UInt32 *param, UInt32 *bytesFlushed);
1134
1135
1151 Int RingIO_sendNotify(RingIO_Handle handle, RingIO_NotifyMsg msg);
1152
1153
1154 /*=============================================================================
1155 * Helper APIs
1156 *=============================================================================
1157 */
1168 UInt RingIO_getValidSize(RingIO_Handle handle);
1169
1180 UInt RingIO_getEmptySize(RingIO_Handle handle);
1181
1192 UInt RingIO_getValidAttrSize(RingIO_Handle handle);
1193
1204 UInt RingIO_getEmptyAttrSize(RingIO_Handle handle);
1205
1216 UInt RingIO_getAcquiredOffset(RingIO_Handle handle);
1217
1228 UInt RingIO_getAcquiredSize(RingIO_Handle handle);
1229
1240 UInt RingIO_getWaterMark(RingIO_Handle handle);
1241
1242 #if defined (__cplusplus)
1243 }
1244 #endif
1245
1246
1247 #endif /* RINGIO_H_0xd3f4 */


SysLink API Reference: ti/syslink/RingIOShm.h Source File

  • ti
  • syslink
RingIOShm.h
Go to the documentation of this file.
1
12 /*
13 * ============================================================================
14 *
15 * Copyright (c) 2008-2012, Texas Instruments Incorporated
16 *
17 * Redistribution and use in source and binary forms, with or without
18 * modification, are permitted provided that the following conditions
19 * are met:
20 *
21 * * Redistributions of source code must retain the above copyright
22 * notice, this list of conditions and the following disclaimer.
23 *
24 * * Redistributions in binary form must reproduce the above copyright
25 * notice, this list of conditions and the following disclaimer in the
26 * documentation and/or other materials provided with the distribution.
27 *
28 * * Neither the name of Texas Instruments Incorporated nor the names of
29 * its contributors may be used to endorse or promote products derived
30 * from this software without specific prior written permission.
31 *
32 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
33 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
34 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
35 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
36 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
37 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
38 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
39 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
40 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
41 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
42 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
43 * Contact information for paper mail:
44 * Texas Instruments
45 * Post Office Box 655303
46 * Dallas, Texas 75265
47 * Contact information:
48 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
49 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
50 * ============================================================================
51 *
52 */
53
54
55
56 #ifndef RINGIOSHM_H_
57 #define RINGIOSHM_H_
58
59 #include <ti/ipc/GateMP.h>
60 #include <ti/syslink/RingIO.h>
61
62 #if defined (__cplusplus)
63 extern "C" {
64 #endif
65 /* =============================================================================
66 * All success and failure codes for the module
67 * =============================================================================
68 */
69
74 #define RingIOShm_MODULEID (0x3bff)
75
76 /* =============================================================================
77 * All success and failure codes for the module
78 * =============================================================================
79 */
80
85 #define RingIOShm_E_INVALIDARG RingIO_E_INVALIDARG
86
91 #define RingIOShm_E_INVALIDSTATE RingIO_E_INVALIDSTATE
92
97 #define RingIOShm_E_BADVERSION RingIO_E_BADVERSION
98
103 #define RingIOShm_E_FAIL RingIO_E_FAIL
104
109 #define RingIOShm_E_MEMORY RingIO_E_MEMORY
110
115 #define RingIOShm_E_OSFAILURE RingIO_E_OSFAILURE
116
122 #define RingIOShm_E_BUFWRAP RingIO_E_BUFWRAP
123
128 #define RingIOShm_E_BUFEMPTY RingIO_E_BUFEMPTY
129
134 #define RingIOShm_E_BUFFULL RingIO_E_BUFFULL
135
141 #define RingIOShm_E_PENDINGDATA RingIO_E_PENDINGDATA
142
148 #define RingIOShm_E_VARIABLEATTRIBUTE RingIO_E_VARIABLEATTRIBUTE
149
154 #define RingIOShm_E_WRONGSTATE RingIO_E_WRONGSTATE
155
160 #define RingIOShm_E_INVALIDPROCID RingIO_E_INVALIDPROCID
161
165 #define RingIOShm_E_INVALIDCONTEXT RingIO_E_INVALIDCONTEXT
166
171 #define RingIOShm_S_SUCCESS RingIO_S_SUCCESS
172
177 #define RingIOShm_S_ALREADYSETUP RingIO_S_ALREADYSETUP
178
187 #define RingIOShm_S_PENDINGATTRIBUTE RingIO_S_PENDINGATTRIBUTE
188
189
190 /* =============================================================================
191 * Structures & Enums
192 * =============================================================================
193 */
198 typedef struct RingIOShm_Params_Tag {
199 RingIO_Params commonParams;
201 UInt16 ctrlRegionId;
208 UInt16 dataRegionId;
215 UInt16 attrRegionId;
222 Ptr ctrlSharedAddr;
228 Ptr dataSharedAddr;
234 UInt32 dataSharedAddrSize;
236 UInt32 footBufSize;
238 Ptr attrSharedAddr;
243 UInt32 attrSharedAddrSize;
245 GateMP_Handle gateHandle;
250 GateMP_LocalProtect localProtect;
252 GateMP_RemoteProtect remoteProtect;
254 UInt16 remoteProcId;
256 } RingIOShm_Params;
257
258 /* =============================================================================
259 * APIs
260 * =============================================================================
261 */
278 Void RingIOShm_Params_init (Void * params);
279
280 #if defined (__cplusplus)
281 }
282 #endif /* defined (__cplusplus) */
283
284
285 #endif /* RINGIOSHM_H_ */


SysLink API Reference: ti/ipc/SharedRegion.h Source File

  • ti
  • ipc
SharedRegion.h
Go to the documentation of this file.
1 /*
2 * Copyright (c) 2012, Texas Instruments Incorporated
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 *
12 * * Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 *
16 * * Neither the name of Texas Instruments Incorporated nor the names of
17 * its contributors may be used to endorse or promote products derived
18 * from this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 * */
101 #ifndef ti_ipc_SharedRegion__include
102 #define ti_ipc_SharedRegion__include
103
104
105 #if defined (__cplusplus)
106 extern "C" {
107 #endif
108
109 /* ============================================================================
110 * All success and failure codes for the module
111 * =============================================================================
112 */
113
118 #define SharedRegion_S_BUSY 2
119
124 #define SharedRegion_S_ALREADYSETUP 1
125
130 #define SharedRegion_S_SUCCESS 0
131
136 #define SharedRegion_E_FAIL -1
137
142 #define SharedRegion_E_INVALIDARG -2
143
148 #define SharedRegion_E_MEMORY -3
149
154 #define SharedRegion_E_ALREADYEXISTS -4
155
160 #define SharedRegion_E_NOTFOUND -5
161
166 #define SharedRegion_E_TIMEOUT -6
167
172 #define SharedRegion_E_INVALIDSTATE -7
173
178 #define SharedRegion_E_OSFAILURE -8
179
184 #define SharedRegion_E_RESOURCE -9
185
190 #define SharedRegion_E_RESTART -10
191
192 /* =============================================================================
193 * Macros
194 * =============================================================================
195 */
196
201 #define SharedRegion_INVALIDREGIONID (0xFFFF)
202
203 /* =============================================================================
204 * Structures & Enums
205 * =============================================================================
206 */
207
211 typedef Bits32 SharedRegion_SRPtr;
212
216 typedef struct SharedRegion_Entry {
217 Ptr base;
220 SizeT len;
227 UInt16 ownerProcId;
234 Bool isValid;
237 Bool cacheEnable;
246 SizeT cacheLineSize;
254 Bool createHeap;
263 String name;
269 } SharedRegion_Entry;
270
271
272 /* =============================================================================
273 * SharedRegion Module-wide Functions
274 * =============================================================================
275 */
276
298 Int SharedRegion_clearEntry(UInt16 regionId);
299
307 Void SharedRegion_entryInit(SharedRegion_Entry *entry);
308
318 SizeT SharedRegion_getCacheLineSize(UInt16 regionId);
319
332 Int SharedRegion_getEntry(UInt16 regionId, SharedRegion_Entry *entry);
333
370 Ptr SharedRegion_getHeap(UInt16 regionId);
371
379 UInt16 SharedRegion_getId(Ptr addr);
380
388 UInt16 SharedRegion_getIdByName(String name);
389
395 UInt16 SharedRegion_getNumRegions(Void);
396
406 Ptr SharedRegion_getPtr(SharedRegion_SRPtr srptr);
407
418 SharedRegion_SRPtr SharedRegion_getSRPtr(Ptr addr, UInt16 regionId);
419
427 Bool SharedRegion_isCacheEnabled(UInt16 regionId);
428
457 Int SharedRegion_setEntry(UInt16 regionId, SharedRegion_Entry *entry);
458
464 Bool SharedRegion_translateEnabled(Void);
465
471 SharedRegion_SRPtr SharedRegion_invalidSRPtr(Void);
472
473 #if defined (__cplusplus)
474 }
475 #endif /* defined (__cplusplus) */
476
477 #endif /* ti_ipc_SharedRegion__include */
478
479 /*
480 * @(#) ti.ipc; 1, 0, 0, 0,; 11-7-2012 13:07:52; /db/vtree/library/trees/ipc/ipc-i09/src/ xlibrary
481
482 */
483


SysLink API Reference: ti/syslink/Std.h Source File

  • ti
  • syslink
Std.h
Go to the documentation of this file.
1
9 /*
10 * ============================================================================
11 *
12 * Copyright (c) 2008-2013, Texas Instruments Incorporated
13 *
14 * Redistribution and use in source and binary forms, with or without
15 * modification, are permitted provided that the following conditions
16 * are met:
17 *
18 * * Redistributions of source code must retain the above copyright
19 * notice, this list of conditions and the following disclaimer.
20 *
21 * * Redistributions in binary form must reproduce the above copyright
22 * notice, this list of conditions and the following disclaimer in the
23 * documentation and/or other materials provided with the distribution.
24 *
25 * * Neither the name of Texas Instruments Incorporated nor the names of
26 * its contributors may be used to endorse or promote products derived
27 * from this software without specific prior written permission.
28 *
29 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
30 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
31 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
32 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
33 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
34 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
35 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
36 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
37 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
38 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
39 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
40 * Contact information for paper mail:
41 * Texas Instruments
42 * Post Office Box 655303
43 * Dallas, Texas 75265
44 * Contact information:
45 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
46 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
47 * ============================================================================
48 *
49 */
50
51
52 #if !defined(STD_H)
53 #define STD_H
54
55 #if defined(SYSLINK_BUILD_RTOS)
56 #include <xdc/std.h>
57 #else /* #if defined(SYSLINK_BUILD_RTOS) */
58
59 #ifdef SYSLINK_BUILDOS_LINUX
60 #if defined (__KERNEL__)
61 #include <ti/syslink/inc/knl/Linux/std_linux.h>
62 #else
63 #include <ti/syslink/inc/usr/Linux/std_linux.h>
64 #endif
65 #elif defined(SYSLINK_BUILDOS_QNX)
66 #include <ti/syslink/inc/knl/Qnx/std_qnx.h>
67 #endif
68
69 #if defined (__cplusplus)
70 extern "C" {
71 #endif
72
73 #define Void void
74
75 typedef char Char;
76 typedef unsigned char UChar;
77 typedef short Short;
78 typedef unsigned short UShort;
79 typedef int Int;
80 typedef unsigned int UInt;
81 typedef long Long;
82 typedef unsigned long ULong;
83 typedef float Float;
84 typedef double Double;
85 typedef long double LDouble;
86
87
88 typedef unsigned short Bool;
89 typedef void * Ptr; /* data pointer */
90 typedef char * String; /* null terminated string */
91 typedef const char * CString; /* null terminated constant string */
92
93
94 typedef int * IArg;
95 typedef unsigned int * UArg;
96 typedef char Int8;
97 typedef short Int16;
98 typedef int Int32;
99
100 typedef unsigned char UInt8;
101 typedef unsigned short UInt16;
102 typedef unsigned int UInt32;
103 typedef unsigned int SizeT;
104 typedef unsigned char Bits8;
105 typedef unsigned short Bits16;
106 typedef UInt32 Bits32;
107
108 #ifdef SYSLINK_BUILDOS_QNX
109 typedef void * HANDLE;
110 typedef unsigned int atomic_t;
111 typedef unsigned long ULONG;
112 typedef unsigned long DWORD;
113 typedef unsigned int uint;
114 typedef unsigned int UINT32;
115 typedef unsigned short bool;
116 #endif /* #ifdef SYSLINK_BUILDOS_QNX */
117
118 #define TRUE 1
119 #define FALSE 0
120
122 typedef UInt32 Error_Block;
123
125 #define Error_init(eb) *eb = 0
126
127 #if defined (__cplusplus)
128 }
129 #endif
130
131 #endif /* #if defined(SYSLINK_BUILD_RTOS) */
132
133 #endif


SysLink API Reference: ti/syslink/utils/String.h Source File

  • ti
  • syslink
  • utils
String.h
Go to the documentation of this file.
1
8 /*
9 * ============================================================================
10 *
11 * Copyright (c) 2008-2012, Texas Instruments Incorporated
12 *
13 * Redistribution and use in source and binary forms, with or without
14 * modification, are permitted provided that the following conditions
15 * are met:
16 *
17 * * Redistributions of source code must retain the above copyright
18 * notice, this list of conditions and the following disclaimer.
19 *
20 * * Redistributions in binary form must reproduce the above copyright
21 * notice, this list of conditions and the following disclaimer in the
22 * documentation and/or other materials provided with the distribution.
23 *
24 * * Neither the name of Texas Instruments Incorporated nor the names of
25 * its contributors may be used to endorse or promote products derived
26 * from this software without specific prior written permission.
27 *
28 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
29 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
30 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
31 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
32 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
35 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
36 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
37 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
38 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39 * Contact information for paper mail:
40 * Texas Instruments
41 * Post Office Box 655303
42 * Dallas, Texas 75265
43 * Contact information:
44 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
45 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
46 * ============================================================================
47 *
48 */
49
50
51
52 #ifndef UTILS_STRING_H_0XEFC8
53 #define UTILS_STRING_H_0XEFC8
54
55
56 #if defined (__cplusplus)
57 extern "C" {
58 #endif
59
60
61 /* =============================================================================
62 * APIs
63 * =============================================================================
64 */
65 /* Function to add a string at the end of another one */
66 String String_cat (String s1, String s2);
67
68 /* Function to compare two string */
69 Int String_cmp (String s1, String s2);
70
71 /* Function to compare two string only first n characters */
72 Int String_ncmp (String s1, String s2, UInt32 n);
73
74 /* Function to copy strings */
75 String String_cpy (String s1, String s2);
76
77 /* Function to copy first n bytes from s2 to s1 */
78 String String_ncpy (String s1, String s2, UInt32 n);
79
80 /* Function to returns the number of characters in s */
81 Int String_len (String s);
82
83 /* Function to get string representation of a hex number */
84 Int String_hexToStr (String s, UInt32 hex);
85
86 /* Function to calculate hash for a string */
87 UInt32 String_hash (String s);
88
89
90 #if defined (__cplusplus)
91 }
92 #endif /* defined (__cplusplus) */
93
94 #endif /* STRING_H_0X5B4D */


SysLink API Reference: ti/syslink/SysLink.h Source File

  • ti
  • syslink
SysLink.h
Go to the documentation of this file.
1
9 /*
10 * ============================================================================
11 *
12 * Copyright (c) 2008-2012, Texas Instruments Incorporated
13 *
14 * Redistribution and use in source and binary forms, with or without
15 * modification, are permitted provided that the following conditions
16 * are met:
17 *
18 * * Redistributions of source code must retain the above copyright
19 * notice, this list of conditions and the following disclaimer.
20 *
21 * * Redistributions in binary form must reproduce the above copyright
22 * notice, this list of conditions and the following disclaimer in the
23 * documentation and/or other materials provided with the distribution.
24 *
25 * * Neither the name of Texas Instruments Incorporated nor the names of
26 * its contributors may be used to endorse or promote products derived
27 * from this software without specific prior written permission.
28 *
29 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
30 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
31 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
32 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
33 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
34 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
35 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
36 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
37 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
38 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
39 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
40 * Contact information for paper mail:
41 * Texas Instruments
42 * Post Office Box 655303
43 * Dallas, Texas 75265
44 * Contact information:
45 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
46 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
47 * ============================================================================
48 *
49 */
50
51
52
53 #ifndef _SysLink_H_
54 #define _SysLink_H_
55
56
57 #if defined (__cplusplus)
58 extern "C" {
59 #endif
60
61 /* =============================================================================
62 * macros & defines
63 * =============================================================================
64 */
65
66 /* The bulk of this file is wrapped in this doxygen INTERNAL as it's not intended
67 * to be used by end users. Most of this is implementation details that users
68 * shouldn't see or bind to.
69 */
70
80 #define IPC_BUFFER_ALIGN(x, y) (UInt32)((UInt32)((x + y - 1) / y) * y)
81
82
86 #define SYSLINK_MAX_MEMENTRIES 10
87
91 #define SYSLINK_MAX_NAMELENGTH 32
92
93 /* =============================================================================
94 * Structures & Enums
95 * =============================================================================
96 */
97
98 typedef UInt32 SysLink_MapMask;
99
103 #define SysLink_MASTERKNLVIRT (SysLink_MapMask)(1 << 0)
104
108 #define SysLink_MASTERUSRVIRT (SysLink_MapMask)(1 << 1)
109
113 #define SysLink_SLAVEVIRT (SysLink_MapMask)(1 << 2)
114
118 typedef enum SysLink_NotifyType_tag {
119 SysLink_NOTIFICATION_NONE = 0,
121 SysLink_NOTIFICATION_ALWAYS = 1,
123 SysLink_NOTIFICATION_ONCE = 2,
128 SysLink_NOTIFICATION_HDWRFIFO_ALWAYS = 3,
132 SysLink_NOTIFICATION_HDWRFIFO_ONCE = 4
138 } SysLink_NotifyType;
139
143 typedef struct SysLink_MemEntry_tag {
144 UInt32 slaveVirtAddr;
145 UInt32 masterPhysAddr;
146 UInt32 size;
147 SysLink_MapMask mapMask;
148 Bool map;
151 Bool isCached;
154 Bool isValid;
155 } SysLink_MemEntry;
156
160 typedef struct SysLink_MemEntry_Block_tag {
161 Char procName[SYSLINK_MAX_NAMELENGTH];
163 UInt32 numEntries;
165 SysLink_MemEntry memEntries [SYSLINK_MAX_MEMENTRIES];
167 } SysLink_MemEntry_Block;
168
169
173 typedef struct SysLink_MemoryMap_tag {
174 UInt16 numBlocks;
176 SysLink_MemEntry_Block * memBlocks;
178 } SysLink_MemoryMap;
179
207 extern String SysLink_params;
208
209
210 /* =============================================================================
211 * APIs
212 * =============================================================================
213 */
242 Void SysLink_setup (Void);
243
252 Void SysLink_destroy (Void);
253
254
255 #if defined (__cplusplus)
256 }
257 #endif
258
259
260 #endif /*_SysLink_H_*/


SysLink API Reference: ti/syslink/utils/SyslinkMemMgr.h Source File

  • ti
  • syslink
  • utils
SyslinkMemMgr.h
Go to the documentation of this file.
1
11 /*
12 * ============================================================================
13 *
14 * Copyright (c) 2008-2012, Texas Instruments Incorporated
15 *
16 * Redistribution and use in source and binary forms, with or without
17 * modification, are permitted provided that the following conditions
18 * are met:
19 *
20 * * Redistributions of source code must retain the above copyright
21 * notice, this list of conditions and the following disclaimer.
22 *
23 * * Redistributions in binary form must reproduce the above copyright
24 * notice, this list of conditions and the following disclaimer in the
25 * documentation and/or other materials provided with the distribution.
26 *
27 * * Neither the name of Texas Instruments Incorporated nor the names of
28 * its contributors may be used to endorse or promote products derived
29 * from this software without specific prior written permission.
30 *
31 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
32 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
33 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
34 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
35 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
36 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
37 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
38 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
39 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
40 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
41 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
42 * Contact information for paper mail:
43 * Texas Instruments
44 * Post Office Box 655303
45 * Dallas, Texas 75265
46 * Contact information:
47 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
48 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
49 * ============================================================================
50 *
51 */
52
53
54
55 #ifndef MEMMGR_H
56 #define MEMMGR_H
57
58
59 #if defined (__cplusplus)
60 extern "C" {
61 #endif
62
63 #define MEMMGR_MAX_NAME_LENGTH 32u
64
65 #define MEMMGR_MAX_TILER_BLOCKS 10u
66
67 /* =============================================================================
68 * Structures & Enums
69 * =============================================================================
70 */
71
75 typedef enum {
76 SyslinkMemMgr_AddrType_Virtual = 0u,
80 SyslinkMemMgr_AddrType_Portable = 1u,
84 SyslinkMemMgr_AddrType_EndValue = 2u
86 } SyslinkMemMgr_AddrType;
87
91 typedef enum SyslinkMemMgr_Type_Type_tag {
92 SyslinkMemMgr_TYPE_SHAREDMEM = 0x0,
93 SyslinkMemMgr_TYPE_TILERMEM = 0x1
94 }SyslinkMemMgr_Type;
95
96
102 typedef struct SyslinkMemMgr_CreateParams_tag {
103 UInt32 size;
105 SyslinkMemMgr_Type memMgrType;
107 UInt8 name[MEMMGR_MAX_NAME_LENGTH];
109 } SyslinkMemMgr_CreateParams;
110
111 #define SyslinkMemMgr_Params SyslinkMemMgr_CreateParams
112
113 typedef struct SyslinkMemMgr_AllocBlock_tag {
114 UInt16 pixelFormat;
115 union {
116 struct {
117 UInt16 width;
118 UInt16 height;
119 } area;
120 UInt16 len;
121 } dim;
122 UInt32 stride;
123 } SyslinkMemMgr_AllocBlock;
124
125
129 typedef struct SyslinkMemMgr_AllocParams_tag {
130 UInt32 size;
131 UInt32 align;
132 SyslinkMemMgr_AllocBlock block[MEMMGR_MAX_TILER_BLOCKS];
133 UInt32 tilerBlocks;
134 } SyslinkMemMgr_AllocParams;
135
136
141 typedef struct SyslinkMemMgr_Object SyslinkMemMgr_Object;
142
146 typedef SyslinkMemMgr_Object * SyslinkMemMgr_Handle;
147
148 /* =============================================================================
149 * APIs
150 * =============================================================================
151 */
152 /* Function to setup the SyslinkMemMgr module */
153 Int32 SyslinkMemMgr_setup(Void);
154
155 /* Function to setup the SyslinkMemMgr module */
156 Int32 SyslinkMemMgr_destroy(Void);
157
158 /* Function to create a SyslinkMemMgr instance */
159 SyslinkMemMgr_Handle SyslinkMemMgr_create(Ptr params);
160
161 /* Function to delete the created Memory Manager instance*/
162 Int32 SyslinkMemMgr_delete(SyslinkMemMgr_Handle * pHandle);
163
164
165 /* Function to allocate memory from the SyslinkMemMgr */
166 Ptr SyslinkMemMgr_alloc(SyslinkMemMgr_Handle handle,
167 SyslinkMemMgr_AllocParams *params);
168
169 /* Function to free memory from the SyslinkMemMgr */
170 Int32 SyslinkMemMgr_free(SyslinkMemMgr_Handle handle, Ptr ptr, UInt32 size);
171
172 /* Function to map. not used for shared memory*/
173 Ptr SyslinkMemMgr_map(SyslinkMemMgr_Handle handle, Ptr arg);
174
175 /* Function to do unmap */
176 Int32 SyslinkMemMgr_unmap(SyslinkMemMgr_Handle handle, Ptr arg);
177
178 /* Function to translate source address to destination address type */
179 Ptr SyslinkMemMgr_translate(SyslinkMemMgr_Handle handle, Ptr srcAddr,
180 SyslinkMemMgr_AddrType srcAddrType,
181 SyslinkMemMgr_AddrType desAddrType);
182
183 /* Function to return the kernel space instance handle pointer when user space
184 * instance handle is passed
185 */
186 Ptr SyslinkMemMgr_getKnlHandle(SyslinkMemMgr_Handle handle);
187
188
189 #if defined (__cplusplus)
190 }
191 #endif
192
193 #endif


SysLink API Reference: ti/syslink/utils/Trace.h Source File

  • ti
  • syslink
  • utils
Trace.h
Go to the documentation of this file.
1
12 /*
13 * ============================================================================
14 *
15 * Copyright (c) 2008-2012, Texas Instruments Incorporated
16 *
17 * Redistribution and use in source and binary forms, with or without
18 * modification, are permitted provided that the following conditions
19 * are met:
20 *
21 * * Redistributions of source code must retain the above copyright
22 * notice, this list of conditions and the following disclaimer.
23 *
24 * * Redistributions in binary form must reproduce the above copyright
25 * notice, this list of conditions and the following disclaimer in the
26 * documentation and/or other materials provided with the distribution.
27 *
28 * * Neither the name of Texas Instruments Incorporated nor the names of
29 * its contributors may be used to endorse or promote products derived
30 * from this software without specific prior written permission.
31 *
32 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
33 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
34 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
35 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
36 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
37 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
38 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
39 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
40 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
41 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
42 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
43 * Contact information for paper mail:
44 * Texas Instruments
45 * Post Office Box 655303
46 * Dallas, Texas 75265
47 * Contact information:
48 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
49 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
50 * ============================================================================
51 *
52 */
53
54
55 #ifndef OSALTRACE_H_0xDA50
56 #define OSALTRACE_H_0xDA50
57
58 /* OSAL and utils headers */
59 #include <ti/syslink/utils/OsalPrint.h>
60
61 #if defined (__cplusplus)
62 extern "C" {
63 #endif
64
65
70 #define OSALTRACE_MODULEID (UInt16) 0xDA50
71
72
77 #define GT_TRACESTATE_MASK 0x0000000F
78
83 #define GT_TRACESTATE_SHIFT 0u
84
89 #define GT_TRACEENTER_MASK 0x000000F0
90
95 #define GT_TRACEENTER_SHIFT 4u
96
101 #define GT_TRACESETFAILURE_MASK 0x00000F00
102
107 #define GT_TRACESETFAILURE_SHIFT 8u
108
113 #define GT_TRACECLASS_MASK 0x000F0000
114
119 #define GT_TRACECLASS_SHIFT 16u
120
124 typedef enum {
125 GT_TraceState_Disable = 0x00000000,
127 GT_TraceState_Enable = 0x00000001,
129 GT_TraceState_EndValue = 0x00000002
131 } GT_TraceState;
132
136 typedef enum {
137 GT_TraceEnter_Disable = 0x00000000,
139 GT_TraceEnter_Enable = 0x00000010,
141 GT_TraceEnter_EndValue = 0x00000020
143 } GT_TraceEnter;
144
148 typedef enum {
149 GT_TraceSetFailure_Disable = 0x00000000,
151 GT_TraceSetFailure_Enable = 0x00000100,
153 GT_TraceSetFailure_EndValue = 0x00000200
155 } GT_TraceSetFailure;
156
160 typedef enum {
161 GT_1CLASS = 0x00010000,
163 GT_2CLASS = 0x00020000,
165 GT_3CLASS = 0x00030000,
167 GT_4CLASS = 0x00040000,
169 GT_ENTER = 0x00050000,
171 GT_LEAVE = 0x00060000
173 } GT_TraceClass;
174
178 typedef enum {
179 GT_TraceType_User = 0x00000000,
181 GT_TraceType_Kernel = 0x00000001,
183 GT_TraceType_EndValue = 0x00000003
185 } GT_TraceType;
186
187
188 #if defined(SYSLINK_BUILD_DEBUG)
189 #if defined(SYSLINK_BUILD_HLOS)
190 #define GT_assert(x, y) \
191 do { \
192 if (!(y)) { \
193 Osal_printf ("Assertion at Line no: %d in %s: %s : failed\n", \
194 __LINE__, __FILE__, #y); \
195 } \
196 } while (0);
197 #endif /* defined(SYSLINK_BUILD_HLOS) */
198
199 #if defined(SYSLINK_BUILD_RTOS)
200 #define GT_assert(x, y) \
201 do { \
202 if (!(y)) { \
203 Osal_printf ("Assertion at Line no: %d in %s: %s : failed\n", \
204 __LINE__, __FILE__, #y); \
205 volatile int a =1; \
206 while(a); \
207 } \
208 } while (0);
209 #endif /*#if defined(SYSLINK_BUILD_RTOS) */
210 #endif /*#if defined(SYSLINK_BUILD_DEBUG) */
211
212
213 #if !defined(GT_assert)
214 #define GT_assert(x, y)
215 #endif
216
217
218 #if defined (SYSLINK_TRACE_ENABLE)
219 /* The global trace variable containing current trace configuration. */
220 extern Int curTrace;
221
222 UInt32 _GT_setTrace (UInt32 mask, GT_TraceType type);
223 #define GT_setTrace(mask,type) _GT_setTrace(mask, type)
224
225 /* Function to report the syslink failure and log the trace. */
226 Void _GT_setFailureReason (Int enableMask,
227 Char * func,
228 Char * fileName,
229 UInt32 lineNo,
230 Int32 status,
231 Char * msg);
232 #define GT_setFailureReason(mask, classId, func, status, msg) \
233 _GT_setFailureReason(mask, func, \
234 __FILE__, __LINE__, status, (Char*) (msg"\n"))
235
236
237 /* Log the trace with zero parameters and information string. */
238 Void _GT_0trace (UInt32 maskType, GT_TraceClass classtype, Char* infoString);
239 #define GT_0trace(mask, classId, format) \
240 do { \
241 if (classId == GT_ENTER) { \
242 _GT_0trace(mask, classId, \
243 "Entered "format"\n"); \
244 } \
245 else if (classId == GT_LEAVE) { \
246 _GT_0trace(mask, classId, \
247 "Leaving "format"\n"); \
248 } \
249 else { \
250 _GT_0trace(mask, classId, \
251 format"\n"); \
252 } \
253 } while (0)
254
255
256 /* Function to log the trace with one additional parameter */
257 Void _GT_1trace (UInt32 maskType,
258 GT_TraceClass classtype,
259 Char * infoString,
260 UInt32 param);
261 #define GT_1trace(mask, classId, format, a) \
262 do { \
263 if (classId == GT_ENTER) { \
264 _GT_1trace(mask, classId, \
265 "Entered "format"\n\t"#a"\t[0x%x]\n", \
266 (UInt32) (a)); \
267 } \
268 else if (classId == GT_LEAVE) { \
269 _GT_1trace(mask, classId, \
270 "Leaving "format"\n\t"#a"\t[0x%x]\n", \
271 (UInt32) (a)); \
272 } \
273 else { \
274 _GT_1trace(mask, classId, \
275 format"\n", \
276 (UInt32) (a)); \
277 } \
278 } while (0)
279
280
281 /* Function to log the trace with two additional parameters */
282 Void _GT_2trace (UInt32 maskType,
283 GT_TraceClass classtype,
284 Char * infoString,
285 UInt32 param0,
286 UInt32 param1);
287 #define GT_2trace(mask, classId, format, a, b) \
288 do { \
289 if (classId == GT_ENTER) { \
290 _GT_2trace(mask, classId, \
291 "Entered "format"\n\t"#a"\t[0x%x]\n" \
292 "\t"#b"\t[0x%x]\n", \
293 (UInt32) (a), \
294 (UInt32) (b)); \
295 } \
296 else if (classId == GT_LEAVE) { \
297 _GT_2trace(mask, classId, \
298 "Leaving "format"\n\t"#a"\t[0x%x]\n" \
299 "\t"#b"\t[0x%x]\n", \
300 (UInt32) (a), \
301 (UInt32) (b)); \
302 } \
303 else { \
304 _GT_2trace(mask, classId, \
305 format"\n", \
306 (UInt32) (a), \
307 (UInt32) (b)); \
308 } \
309 } while (0)
310
311
312 /* Function to log the trace with three parameters. */
313 Void _GT_3trace (UInt32 maskType,
314 GT_TraceClass classtype,
315 Char* infoString,
316 UInt32 param0,
317 UInt32 param1,
318 UInt32 param2);
319 #define GT_3trace(mask, classId, format, a, b, c) \
320 do { \
321 if (classId == GT_ENTER) { \
322 _GT_3trace(mask, classId, \
323 "Entered "format"\n\t"#a"\t[0x%x]\n" \
324 "\t"#b"\t[0x%x]\n" \
325 "\t"#c"\t[0x%x]\n", \
326 (UInt32) (a), \
327 (UInt32) (b), \
328 (UInt32) (c)); \
329 } \
330 else if (classId == GT_LEAVE) { \
331 _GT_3trace(mask, classId, \
332 "Leaving "format"\n\t"#a"\t[0x%x]\n" \
333 "\t"#b"\t[0x%x]\n" \
334 "\t"#c"\t[0x%x]\n", \
335 (UInt32) (a), \
336 (UInt32) (b), \
337 (UInt32) (c)); \
338 } \
339 else { \
340 _GT_3trace(mask, classId, \
341 format"\n", \
342 (UInt32) (a), \
343 (UInt32) (b), \
344 (UInt32) (c)); \
345 } \
346 } while (0)
347
348
349 /* Function to log the trace with four parameters. */
350 Void _GT_4trace (UInt32 maskType,
351 GT_TraceClass classtype,
352 Char* infoString,
353 UInt32 param0,
354 UInt32 param1,
355 UInt32 param2,
356 UInt32 param3);
357 #define GT_4trace(mask, classId, format, a, b, c, d) \
358 do { \
359 if (classId == GT_ENTER) { \
360 _GT_4trace(mask, classId, \
361 "Entered "format"\n\t"#a"\t[0x%x]\n" \
362 "\t"#b"\t[0x%x]\n" \
363 "\t"#c"\t[0x%x]\n" \
364 "\t"#d"\t[0x%x]\n", \
365 (UInt32) (a), \
366 (UInt32) (b), \
367 (UInt32) (c), \
368 (UInt32) (d)); \
369 } \
370 else if (classId == GT_LEAVE) { \
371 _GT_4trace(mask, classId, \
372 "Leaving "format"\n\t"#a"\t[0x%x]\n" \
373 "\t"#b"\t[0x%x]\n" \
374 "\t"#c"\t[0x%x]\n" \
375 "\t"#d"\t[0x%x]\n", \
376 (UInt32) (a), \
377 (UInt32) (b), \
378 (UInt32) (c), \
379 (UInt32) (d)); \
380 } \
381 else { \
382 _GT_4trace(mask, classId, \
383 format"\n", \
384 (UInt32) (a), \
385 (UInt32) (b), \
386 (UInt32) (c), \
387 (UInt32) (d)); \
388 } \
389 } while (0)
390
391
392 /* Function to log the trace with five parameters. */
393 Void _GT_5trace (UInt32 maskType,
394 GT_TraceClass classtype,
395 Char* infoString,
396 UInt32 param0,
397 UInt32 param1,
398 UInt32 param2,
399 UInt32 param3,
400 UInt32 param4);
401 #define GT_5trace(mask, classId, format, a, b, c, d, e) \
402 do { \
403 if (classId == GT_ENTER) { \
404 _GT_5trace(mask, classId, \
405 "Entered "format"\n\t"#a"\t[0x%x]\n" \
406 "\t"#b"\t[0x%x]\n" \
407 "\t"#c"\t[0x%x]\n" \
408 "\t"#d"\t[0x%x]\n" \
409 "\t"#e"\t[0x%x]\n", \
410 (UInt32) (a), \
411 (UInt32) (b), \
412 (UInt32) (c), \
413 (UInt32) (d), \
414 (UInt32) (e)); \
415 } \
416 else if (classId == GT_LEAVE) { \
417 _GT_5trace(mask, classId, \
418 "Leaving "format"\n\t"#a"\t[0x%x]\n" \
419 "\t"#b"\t[0x%x]\n" \
420 "\t"#c"\t[0x%x]\n" \
421 "\t"#d"\t[0x%x]\n" \
422 "\t"#e"\t[0x%x]\n", \
423 (UInt32) (a), \
424 (UInt32) (b), \
425 (UInt32) (c), \
426 (UInt32) (d), \
427 (UInt32) (e)); \
428 } \
429 else { \
430 _GT_5trace(mask, classId, \
431 format"\n", \
432 (UInt32) (a), \
433 (UInt32) (b), \
434 (UInt32) (c), \
435 (UInt32) (d), \
436 (UInt32) (e)); \
437 } \
438 } while (0)
439
440 /* Function to log the trace with six parameters. */
441 Void _GT_6trace (UInt32 maskType,
442 GT_TraceClass classtype,
443 Char* infoString,
444 UInt32 param0,
445 UInt32 param1,
446 UInt32 param2,
447 UInt32 param3,
448 UInt32 param4,
449 UInt32 param5);
450 #define GT_6trace(mask, classId, format, a, b, c, d, e, f) \
451 do { \
452 if (classId == GT_ENTER) { \
453 _GT_6trace(mask, classId, \
454 "Entered "format"\n\t"#a"\t[0x%x]\n" \
455 "\t"#b"\t[0x%x]\n" \
456 "\t"#c"\t[0x%x]\n" \
457 "\t"#d"\t[0x%x]\n" \
458 "\t"#e"\t[0x%x]\n" \
459 "\t"#f"\t[0x%x]\n", \
460 (UInt32) (a), \
461 (UInt32) (b), \
462 (UInt32) (c), \
463 (UInt32) (d), \
464 (UInt32) (e), \
465 (UInt32) (f)); \
466 } \
467 else if (classId == GT_LEAVE) { \
468 _GT_6trace(mask, classId, \
469 "Leaving "format"\n\t"#a"\t[0x%x]\n" \
470 "\t"#b"\t[0x%x]\n" \
471 "\t"#c"\t[0x%x]\n" \
472 "\t"#d"\t[0x%x]\n" \
473 "\t"#e"\t[0x%x]\n" \
474 "\t"#f"\t[0x%x]\n", \
475 (UInt32) (a), \
476 (UInt32) (b), \
477 (UInt32) (c), \
478 (UInt32) (d), \
479 (UInt32) (e), \
480 (UInt32) (f)); \
481 } \
482 else { \
483 _GT_6trace(mask, classId, \
484 format"\n", \
485 (UInt32) (a), \
486 (UInt32) (b), \
487 (UInt32) (c), \
488 (UInt32) (d), \
489 (UInt32) (e), \
490 (UInt32) (f)); \
491 } \
492 } while (0)
493
494 #else /* if defined (SYSLINK_TRACE_ENABLE) */
495
496 #define GT_setFailureReason(mask, classId, func, status, msg)
497 #define GT_0trace(mask, classId, format)
498 #define GT_1trace(mask, classId, format, arg1)
499 #define GT_2trace(mask, classId, format, arg1, arg2)
500 #define GT_3trace(mask, classId, format, arg1, arg2, arg3)
501 #define GT_4trace(mask, classId, format, arg1, arg2, arg3, arg4)
502 #define GT_5trace(mask, classId, format, arg1, arg2, arg3, arg4, arg5)
503 #define GT_6trace(mask, classId, format, arg1, arg2, arg3, arg4, arg5, arg6)
504 #define GT_setTrace(mask, type) 0
505
506 #endif /* if defined (SYSLINK_TRACE_ENABLE) */
507
508
509 #if defined (__cplusplus)
510 }
511 #endif /* defined (__cplusplus) */
512
513 #endif /* ifndef OSALTRACE_H_0xDA50 */


SysLink API Reference: ti/syslink/ -> ipc Relation

  • ti
  • syslink

syslink → ipc Relation

File in ti/syslink | Includes file in ti/ipc
FrameQ.h | Notify.h
FrameQ_ShMem.h | GateMP.h
FrameQBufMgr.h | Notify.h
FrameQBufMgr_ShMem.h | GateMP.h
RingIOShm.h | GateMP.h


SysLink API Reference: /db/toolsrc/library/tools/default/doxygen_templates/disclaimer.dox File Reference

/db/toolsrc/library/tools/default/doxygen_templates/disclaimer.dox File Reference


SysLink API Reference: doxygen.txt File Reference

doxygen.txt File Reference


SysLink API Reference: Graph Legend

Graph Legend

This page explains how to interpret the graphs that are generated by doxygen.

Consider the following example:

/*! Invisible class because of truncation */
class Invisible { };
/*! Truncated class, inheritance relation is hidden */
class Truncated : public Invisible { };
/* Class not documented with doxygen comments */
class Undocumented { };
/*! Class that is inherited using public inheritance */
class PublicBase : public Truncated { };
/*! A template class */
template<class T> class Templ { };
/*! Class that is inherited using protected inheritance */
class ProtectedBase { };
/*! Class that is inherited using private inheritance */
class PrivateBase { };
/*! Class that is used by the Inherited class */
class Used { };
/*! Super class that inherits a number of other classes */
class Inherited : public PublicBase,
protected ProtectedBase,
private PrivateBase,
public Undocumented,
public Templ<int>
{
private:
Used *m_usedClass;
};

This will result in the following graph:

The boxes in the above graph have the following meaning:

  • A filled gray box represents the struct or class for which the graph is generated.
  • A box with a black border denotes a documented struct or class.
  • A box with a grey border denotes an undocumented struct or class.
  • A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.

The arrows have the following meaning:

  • A dark blue arrow is used to visualize a public inheritance relation between two classes.
  • A dark green arrow is used for protected inheritance.
  • A dark red arrow is used for private inheritance.
  • A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled with the variable(s) through which the pointed class or struct is accessible.
  • A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance.


SysLink API Reference: Main Page

SysLink API Reference Documentation

Modules

The SysLink product is partitioned into several components:

  • System APIs:
    • SysLink
  • Slave processor management APIs:
    • ProcMgr
  • Low-level IPC-related APIs
    • Ipc
    • Ipc (host only)
    • GateMP
    • HeapBufMP
    • HeapMemMP
    • ListMP
    • MessageQ
    • MultiProc
    • NameServer
    • Notify
    • SharedRegion
  • High-level data transfer APIs:
    • RingIO
  • Utility APIs:
    • Cache
    • Gate
    • List
    • Memory
  • Deprecated APIs:
    • FrameQ


SysLink API Reference: Related Pages

Related Pages
Here is a list of all related documentation pages:
o Disclaimer
\ Deprecated List