pdcomm_gem_equipment_configure_enhanced_commands
Function
Installs the enhanced remote command store of a GEM Equipment endpoint.
PdcommStatus pdcomm_gem_equipment_configure_enhanced_commands(PdcommTcpEndpoint *endpoint, const PdcommGemEnhancedCommandOptions *options, const PdcommGemEnhancedObjectDefinition *objects, size_t count)Every object, command, and parameter definition is validated and copied into a temporary store, which is installed only when all definitions are valid and every completion CEID exists in the report catalog. The store can be configured only once.
Parameters
| Name | Description |
|---|---|
endpoint | Stopped TCP endpoint with a configured GEM Equipment. |
options | Store limits; struct_size must be at least sizeof(PdcommGemEnhancedCommandOptions). |
objects | Array of count object definitions. May be NULL when count is 0. |
count | Number of objects; must not exceed options->max_objects. |
Returns
#PDCOMM_OK when the store was installed; #PDCOMM_INVALID_ARGUMENT when endpoint or options is NULL, a struct_size is too small, version or reserved is wrong, an item_limits value is 0, an array pointer or name item is NULL, a flag is not 0 or 1, an object name is not an ASCII item, a command or parameter name or format is invalid (including JIS-8), a count range or bound is invalid, a name is duplicated, or a completion CEID is not in the report catalog; #PDCOMM_LIMIT_EXCEEDED when a count, total, or name length exceeds its limit; #PDCOMM_INVALID_STATE when the endpoint is not stopped, holds a staged TCP event, has no GEM Equipment, or already has an enhanced command store; #PDCOMM_ALLOCATION_FAILED when memory could not be allocated; #PDCOMM_POISONED when the endpoint is poisoned or a panic was contained.
Notes
- No input pointer or item is retained after the call returns.