module ti.sdo.ipc.ListMP

Shared memory linked list

This module has a common header that can be found in the ti.ipc package. Application code should include the common header file (not the RTSC-generated one):
#include <ti/ipc/ListMP.h>
The RTSC module must be used in the application's RTSC configuration file (.cfg):
ListMP = xdc.useModule('ti.sdo.ipc.ListMP');
Documentation for all runtime APIs, instance configuration parameters, error codes macros and type definitions available to the application integrator can be found in the Doxygen documenation for the IPC product. However, the documentation presented on this page should be referred to for information specific to the RTSC module, such as module configuration, Errors, and Asserts.
C synopsis target-domain sourced in ti/sdo/ipc/ListMP.xdc
#include <ti/sdo/ipc/ListMP.h>
Functions
Void
Functions common to all target instances
Functions common to all target modules
Typedefs
typedef ListMP_Object *
typedef struct
typedef struct
typedef struct
 
Module-Wide Built-Ins

C synopsis target-domain
Types_ModuleId ListMP_Module_id();
// Get this module's unique id
 
Bool ListMP_Module_startupDone();
// Test if this module has completed startup
 
IHeap_Handle ListMP_Module_heap();
// The heap from which this module allocates memory
 
Bool ListMP_Module_hasMask();
// Test whether this module has a diagnostics mask
 
Bits16 ListMP_Module_getMask();
// Returns the diagnostics mask for this module
 
Void ListMP_Module_setMask(Bits16 mask);
// Set the diagnostics mask for this module
Instance Object Types

C synopsis target-domain
typedef struct ListMP_Object ListMP_Object;
// Opaque internal representation of an instance object
 
typedef ListMP_Object *ListMP_Handle;
// Client reference to an instance object
 
typedef struct ListMP_Struct ListMP_Struct;
// Opaque client structure large enough to hold an instance object
 
ListMP_Handle ListMP_handle(ListMP_Struct *structP);
// Convert this instance structure pointer into an instance handle
 
ListMP_Struct *ListMP_struct(ListMP_Handle handle);
// Convert this instance handle into an instance structure pointer
Instance Config Parameters

C synopsis target-domain
typedef struct ListMP_Params {
// Instance config-params structure
    IInstance_Params *instance;
    // Common per-instance configs
    GateMP_Handle gate;
    // GateMP used for critical region management of the shared memory
    String name;
    // Name of the instance
    UInt16 regionId;
    // SharedRegion ID
} ListMP_Params;
 
Void ListMP_Params_init(ListMP_Params *params);
// Initialize this config-params structure with supplier-specified defaults before instance creation
 
config ListMP_gate  // instance

GateMP used for critical region management of the shared memory

C synopsis target-domain
struct ListMP_Params {
      ...
    GateMP_Handle gate;
 
DETAILS
Using the default value of NULL will result in the default GateMP being used for context protection.
 
config ListMP_name  // instance

Name of the instance

C synopsis target-domain
struct ListMP_Params {
      ...
    String name;
 
DETAILS
The name must be unique among all ListMP instances in the sytem. When using regionId to create a new instance, the name must not be null.
 
config ListMP_regionId  // instance

SharedRegion ID

C synopsis target-domain
struct ListMP_Params {
      ...
    UInt16 regionId;
 
DETAILS
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.
Instance Built-Ins

C synopsis target-domain
Int ListMP_Object_count();
// The number of statically-created instance objects
 
ListMP_Handle ListMP_Object_get(ListMP_Object *array, Int i);
// The handle of the i-th statically-created instance object (array == NULL)
 
ListMP_Handle ListMP_Object_first();
// The handle of the first dynamically-created instance object, or NULL
 
ListMP_Handle ListMP_Object_next(ListMP_Handle handle);
// The handle of the next dynamically-created instance object, or NULL
 
IHeap_Handle ListMP_Object_heap();
// The heap used to allocate dynamically-created instance objects
 
Types_Label *ListMP_Handle_label(ListMP_Handle handle, Types_Label *buf);
// The label associated with this instance object
 
String ListMP_Handle_name(ListMP_Handle handle);
// The name of this instance object
 
XDCscript usage meta-domain sourced in ti/sdo/ipc/ListMP.xdc
var ListMP = xdc.useModule('ti.sdo.ipc.ListMP');
module-wide config parameters
per-instance config parameters
    var params = new ListMP.Params// Instance config-params object;
        params.name// Name of the instance = String null;
        params.regionId// SharedRegion ID = UInt16 0;
 
 
metaonly config ListMP.common$  // module-wide

Common module configuration parameters

XDCscript usage meta-domain
ListMP.common$ = Types.Common$ undefined;
 
DETAILS
All modules have this configuration parameter. Its name contains the '$' character to ensure it does not conflict with configuration parameters declared by the module. This allows new configuration parameters to be added in the future without any chance of breaking existing modules.
 
metaonly config ListMP.maxNameLen  // module-wide

Maximum length for names

XDCscript usage meta-domain
ListMP.maxNameLen = UInt 32;
 
 
metaonly config ListMP.maxRuntimeEntries  // module-wide

Maximum number of ListMP's that can be dynamically created and added to the NameServer

XDCscript usage meta-domain
ListMP.maxRuntimeEntries = UInt NameServer.ALLOWGROWTH;
 
 
metaonly config ListMP.tableSection  // module-wide

Section name is used to place the names table

XDCscript usage meta-domain
ListMP.tableSection = String null;
 
Instance Config Parameters

XDCscript usage meta-domain
var params = new ListMP.Params;
// Instance config-params object
    params.gate = GateMP.Handle null;
    // GateMP used for critical region management of the shared memory
    params.name = String null;
    // Name of the instance
    params.regionId = UInt16 0;
    // SharedRegion ID
 
config ListMP.gate  // instance

GateMP used for critical region management of the shared memory

XDCscript usage meta-domain
var params = new ListMP.Params;
  ...
params.gate = GateMP.Handle null;
 
DETAILS
Using the default value of NULL will result in the default GateMP being used for context protection.
C SYNOPSIS
 
config ListMP.name  // instance

Name of the instance

XDCscript usage meta-domain
var params = new ListMP.Params;
  ...
params.name = String null;
 
DETAILS
The name must be unique among all ListMP instances in the sytem. When using regionId to create a new instance, the name must not be null.
C SYNOPSIS
 
config ListMP.regionId  // instance

SharedRegion ID

XDCscript usage meta-domain
var params = new ListMP.Params;
  ...
params.regionId = UInt16 0;
 
DETAILS
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.
C SYNOPSIS
generated on Sat, 11 Feb 2012 00:38:09 GMT