Implementation details
This section explains implementation details under the following headings:
Component provider implementation details
-
Calls to instrumentation entry points operate within the context of the
DMI-SP.
-
Before the component instrumentation uses the
DmiRegisterCi(3dmi)
function to register as direct instrumentation with the Service Provider,
it must allocate a
DmiAccessDataList_t data structure of the appropriate size.
If you specify a size larger than the number of groups to be instrumented,
the behavior is undefined.
The size member of this data structure corresponds directly to the number of
DmiAccessData structures used to describe the attributes that
are to be registered for direct instrumentation. For example:
-
If all of the attributes within a particular ``component'' are
instrumented, the value of both the GroupID and the
AttributeID is 0.
Only one DmiAccessData structure is used to describe
the entire DmiAccessDataList_t structure.
-
If all the attributes within a particular ``group'' are instrumented,
the value of the GroupID specifies the group and the AttributeID is 0. Only
one DmiAccessData structure is used to describe the entire group.
This becomes one member of the DmiAccessDataList_t structure.
NOTE:
If there are more groups to be defined, the component instrumentation will
need to increase the size of the
DmiAccessDataList_t structure.
-
If only some of the attributes within a particular group are instrumented, the value
of the GroupID specifies the group, and the AttributeID
specifies one of the
instrumented attributes. This defines one DmiAccessData structure.
There will be one DmiAccessData structure for each instrumented attribute
within that group. If three attributes are defined within the
specified group, there will be
three DmiAccessData structures added to the members of the
DmiAccessDataList_t structure.
Event generator implementation details
When allocating memory for the
DmiMultiRowData_t
structure for indications, the event generators must make sure that they
allocate the correct amount of memory for the Standard Event Generation
Group and for the group which generates indications.
For example, the first
DmiRowData_t
structure in the
DmiMultiRowData_t
array, the array that is required for event indications, should have space for seven attributes
for the Event Generation Group. The second
DmiRowData_t
structure in the
DmiMultiRowData_t
array may allocate space for the number of attributes contained in the group
which generates indications.
Indication consumer implementation details
For proper delivery of indication data to multiple management applications on
multiple systems, the management applications should use the
DmiGetSubscriptionAddress(3dmi)
function during indication subscription. Otherwise, the Service Provider delivers
indications only to management applications that are local to the system.
For an example
of using the
DmiGetSubscriptionAddress(3dmi)
function, refer to the indcons example in
``DMI 2.0 code samples''.
Next topic:
Component pre-installation
Previous topic:
Operations
© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 27 April 2004