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.
XDCspec summary sourced in ti/sdo/ipc/ListMP.xdc
module ListMP {  ...
// inherits xdc.runtime.IModule
instance:  ...
C synopsis target-domain
#include <ti/sdo/ipc/ListMP.h>
module-wide built-ins
per-instance object types
 
per-instance config parameters
        IInstance_Params *instance;
        String name// Name of the instance;
        Bool openFlag// ;
        UInt16 regionId// SharedRegion ID;
        Ptr sharedAddr// ;
    } ListMP_Params;
 
per-instance built-ins
 
XDCscript usage meta-domain
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.metaListMP//  = Any[] undefined;
        params.name// Name of the instance = String null;
        params.openFlag//  = Bool false;
        params.regionId// SharedRegion ID = UInt16 0;
        params.sharedAddr//  = Ptr null;
 
XDCspec declarations sourced in ti/sdo/ipc/ListMP.xdc
package ti.sdo.ipc;
 
module ListMP {
module-wide config parameters
    metaonly config UInt maxNameLen// Maximum length for names = 32;
    metaonly config String tableSection// Section name is used to place the names table = null;
 
 
instance:
per-instance config parameters
    config String name// Name of the instance = null;
    config UInt16 regionId// SharedRegion ID = 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;
 
 
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
 
per-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
 
per-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.metaListMP = Any[] undefined;
    // 
    params.name = String null;
    // Name of the instance
    params.openFlag = Bool false;
    // 
    params.regionId = UInt16 0;
    // SharedRegion ID
    params.sharedAddr = Ptr null;
    // 
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
    Bool openFlag;
    // 
    UInt16 regionId;
    // SharedRegion ID
    Ptr sharedAddr;
    // 
} ListMP_Params;
 
Void ListMP_Params_init( ListMP_Params *params );
// Initialize this config-params structure with supplier-specified defaults before instance creation
 
config ListMP.gate  // per-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;
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  // per-instance

Name of the instance

XDCscript usage meta-domain
var params = new ListMP.Params;
  ...
params.name = String null;
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  // per-instance

SharedRegion ID

XDCscript usage meta-domain
var params = new ListMP.Params;
  ...
params.regionId = UInt16 0;
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.
 
per-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
generated on Fri, 09 Apr 2010 01:41:05 GMT