const NameServerMessageQ_maxNameLen |
|
maximum number of characters for name in bytes
#define NameServerMessageQ_maxNameLen (UInt)32
enum NameServerMessageQ_Status |
|
Status codes returned by certain calls
typedef enum NameServerMessageQ_Status {
NameServerMessageQ_S_SUCCESS,
NameServerMessageQ_E_FAIL,
NameServerMessageQ_E_ERROR
} NameServerMessageQ_Status;
config NameServerMessageQ_A_nameIsTooLong // module-wide |
|
Assert raised if too many characters in the name
extern const Assert_Id NameServerMessageQ_A_nameIsTooLong;
config NameServerMessageQ_A_reservedMsgQueueId // module-wide |
|
Assert raised if first MessageQ created already
extern const Assert_Id NameServerMessageQ_A_reservedMsgQueueId;
config NameServerMessageQ_E_outOfMemory // module-wide |
|
Error raised if all the message queue objects are taken
extern const Error_Id NameServerMessageQ_E_outOfMemory;
config NameServerMessageQ_heapId // module-wide |
|
The heap from which to alloc a message
extern const UInt16 NameServerMessageQ_heapId;
config NameServerMessageQ_timeoutInMicroSecs // module-wide |
|
The timeout value in terms of microseconds
extern const UInt NameServerMessageQ_timeoutInMicroSecs;
DETAILS
A NameServer request will return after this amout of time
without a response. The default timeout value is 1 s.
To not wait, use the value of '0'. To wait forever, use '~(0)'.
NameServerMessageQ_attach() // module-wide |
|
Function is called by Ipc_attach() through NameServer_SetupProxy
Int NameServerMessageQ_attach(UInt16 remoteProcId, Ptr sharedAddr);
NameServerMessageQ_detach() // module-wide |
|
Function is called by Ipc_detach() through NameServer_SetupProxy
Int NameServerMessageQ_detach(UInt16 remoteProcId);
NameServerMessageQ_sharedMemReq() // module-wide |
|
Returns the shared memory size requirement for a single instance
SizeT NameServerMessageQ_sharedMemReq(Ptr sharedAddr);
ARGUMENTS
sharedAddr
Shared address
RETURNS
Number of MAUs needed to create the instance.
DETAILS
Function is called during Ipc_attach() through NameServer_SetupProxy.
Module-Wide Built-Ins |
|
// Get this module's unique id
Bool NameServerMessageQ_Module_startupDone();
// Test if this module has completed startup
// The heap from which this module allocates memory
Bool NameServerMessageQ_Module_hasMask();
// Test whether this module has a diagnostics mask
Bits16 NameServerMessageQ_Module_getMask();
// Returns the diagnostics mask for this module
Void NameServerMessageQ_Module_setMask(Bits16 mask);
// Set the diagnostics mask for this module
Instance Object Types |
|
typedef struct NameServerMessageQ_Object NameServerMessageQ_Object;
// Opaque internal representation of an instance object
// Client reference to an instance object
typedef struct NameServerMessageQ_Struct NameServerMessageQ_Struct;
// Opaque client structure large enough to hold an instance object
// Convert this instance structure pointer into an instance handle
// Convert this instance handle into an instance structure pointer
Instance Config Parameters |
|
typedef struct NameServerMessageQ_Params {
// Instance config-params structure
// Common per-instance configs
} NameServerMessageQ_Params;
// Initialize this config-params structure with supplier-specified defaults before instance creation
Instance Creation |
|
// Allocate and initialize a new instance object and return its handle
// Initialize a new instance object inside the provided structure
ARGUMENTS
params
per-instance config params, or NULL to select default values (target-domain only)
eb
active error-handling block, or NULL to select default policy (target-domain only)
Instance Deletion |
|
// Finalize and free this previously allocated instance object, setting the referenced handle to NULL
// Finalize the instance object inside the provided structure
NameServerMessageQ_get() // instance |
|
ARGUMENTS
handle
handle of a previously-created NameServerMessageQ instance object
Instance Convertors |
|
// unconditionally move one level up the inheritance hierarchy
// conditionally move one level down the inheritance hierarchy; NULL upon failure
Instance Built-Ins |
|
Int NameServerMessageQ_Object_count();
// The number of statically-created instance objects
// The handle of the i-th statically-created instance object (array == NULL)
// The handle of the first dynamically-created instance object, or NULL
// The handle of the next dynamically-created instance object, or NULL
// The heap used to allocate dynamically-created instance objects
// The label associated with this instance object
// The name of this instance object
const NameServerMessageQ.maxNameLen |
|
maximum number of characters for name in bytes
XDCscript usage |
meta-domain |
const NameServerMessageQ.maxNameLen = 32;
C SYNOPSIS
enum NameServerMessageQ.Status |
|
Status codes returned by certain calls
XDCscript usage |
meta-domain |
values of type NameServerMessageQ.Status
const NameServerMessageQ.S_SUCCESS;
const NameServerMessageQ.E_FAIL;
const NameServerMessageQ.E_ERROR;
C SYNOPSIS
config NameServerMessageQ.A_nameIsTooLong // module-wide |
|
Assert raised if too many characters in the name
XDCscript usage |
meta-domain |
msg: "Too many characters in name"
};
C SYNOPSIS
config NameServerMessageQ.A_reservedMsgQueueId // module-wide |
|
Assert raised if first MessageQ created already
XDCscript usage |
meta-domain |
NameServerMessageQ.
A_reservedMsgQueueId =
Assert.Desc {
msg: "MessageQ Id 0 is reserved for NameServer"
};
C SYNOPSIS
config NameServerMessageQ.E_outOfMemory // module-wide |
|
Error raised if all the message queue objects are taken
XDCscript usage |
meta-domain |
msg: "E_outOfMemory: MessageQ_alloc faild from heap: %d"
};
C SYNOPSIS
config NameServerMessageQ.heapId // module-wide |
|
The heap from which to alloc a message
XDCscript usage |
meta-domain |
NameServerMessageQ.heapId = UInt16 0;
C SYNOPSIS
config NameServerMessageQ.timeoutInMicroSecs // module-wide |
|
The timeout value in terms of microseconds
XDCscript usage |
meta-domain |
NameServerMessageQ.timeoutInMicroSecs = UInt 1000000;
DETAILS
A NameServer request will return after this amout of time
without a response. The default timeout value is 1 s.
To not wait, use the value of '0'. To wait forever, use '~(0)'.
C SYNOPSIS
metaonly config NameServerMessageQ.common$ // module-wide |
|
Common module configuration parameters
XDCscript usage |
meta-domain |
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.
Instance Config Parameters |
|
XDCscript usage |
meta-domain |
var params = new NameServerMessageQ.Params;
// Instance config-params object
Instance Creation |
|
XDCscript usage |
meta-domain |
var params =
new NameServerMessageQ.
Params;
// Allocate instance config-params
params.config = ...
// Assign individual configs
var inst = NameServerMessageQ.create(UInt16 procId, params);
// Create an instance-object
ARGUMENTS
params
per-instance config params, or NULL to select default values (target-domain only)
eb
active error-handling block, or NULL to select default policy (target-domain only)