IPC API  3.40.00.06
Data Fields
HeapMultiBufMP_Params Struct Reference

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

#include <HeapMultiBufMP.h>

Collaboration diagram for HeapMultiBufMP_Params:
Collaboration graph

Data Fields

GateMP_Handle gate
 GateMP used for critical region management of the shared memory. More...
 
Bool exact
 Use exact matching. More...
 
String name
 Name of this instance. More...
 
Int numBuckets
 Number of buckets in HeapMultiBufMP_Params.bucketEntries. More...
 
HeapMultiBufMP_BucketbucketEntries
 Bucket Entries. More...
 
UInt16 regionId
 Shared region ID. More...
 

Detailed Description

Structure defining parameters for the HeapMultiBufMP module.

Field Documentation

GateMP_Handle HeapMultiBufMP_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.

Bool HeapMultiBufMP_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) a buffer's block size.

String HeapMultiBufMP_Params::name

Name of this instance.

The name (if not NULL) must be unique among all HeapMultiBufMP 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.

Int HeapMultiBufMP_Params::numBuckets

Number of buckets in HeapMultiBufMP_Params.bucketEntries.

This parameter is required to create any instance.

HeapMultiBufMP_Bucket* HeapMultiBufMP_Params::bucketEntries

Bucket Entries.

The bucket entries are an array of HeapMultiBufMP_Bucket whose values correspond to the desired alignment, block size and length for each buffer. It is important to note that the alignments and sizes for each buffer may be adjusted due to cache and alignment related constraints. Buffer sizes are rounded up by their corresponding alignments. Buffer alignments themselves will assume the value of region cache alignment size when the cache size is greater than the requested buffer alignment.

For example, specifying a bucket with {blockSize: 192, align: 256} will result in a buffer of blockSize = 256 and alignment = 256. If cache alignment is required, then a bucket of {blockSize: 96, align: 64} will result in a buffer of blockSize = 128 and alignment = 128 (assuming cacheSize = 128).

UInt16 HeapMultiBufMP_Params::regionId

Shared region ID.

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


The documentation for this struct was generated from the following file:
Copyright 2015, Texas Instruments Incorporated