DmiRegisterCi(3DMI) DMI Library Functions DmiRegisterCi(3DMI)NAME
DmiRegisterCi, DmiUnregisterCi, DmiOriginateEvent - Service Provider
functions for components
SYNOPSIS
cc [ flag... ] file... -lci-ldmi-lnsl-lrwtool [ library... ]
#include <server.h>
#include <ciapi.h>
extern bool_t DmiRegisterCi(DmiRegisterCiIN argin, DmiRegisterCiOUT *result,
DmiRpcHandle *dmi_rpc_handle);
bool_t DmiUnregisterCi(DmiUnregisterCiIN argin, DmiUnregisterCiOUT *result,
DmiRpcHandle *dmi_rpc_handle);
bool_t DmiOriginateEvent(DmiOriginateEventIN argin, DmiOriginateEventOUT *result,
DmiRpcHandle *dmi_rpc_handle);
DESCRIPTION
These functions provide component communication with the DMI through
the Component Interface (CI).
Component instrumentation code may register with the Service Provider
to override its current mechanism for the registered attributes.
Instead of manipulating the data in the MIF database or invoking pro‐
grams, the Service Provider calls the entry points provided in the
registration call. Once the component unregisters, the Service Provider
returns to a normal method of processing requests for the data as
defined in the MIF. Component instrumentation can temporarily interrupt
normal processing to perform special functions.
Registering attributes through the direct interface overrides att‐
tributes that are already being served through the direct interface.
RPC is used for communication from the Service Provider to the compo‐
nent instrumentation.
For all three functions, argin is the parameter passed to initiate an
RPC call, result is the result of the RPC call, and dmi_rpc_handle is
an open session RPC handle.
The DmiRegisterCi() function registers a callable interface for compo‐
nents that have resident instrumentation code and/or to get the ver‐
sion of the Service Provider.
The DmiUnregisterCi() function communicates to the Service Provider to
remove a direct component instrumentation interface from the Service
Provider table of registered interfaces.
The DmiOriginateEvent() function originates an event for filtering and
delivery. Any necessary indication filtering is performed by this
function (or by subsequent processing) before the event is forwarded to
the management applications.
A component ID value of zero (0) specifies the event was generated by
something that has not been installed as a component, and has no com‐
ponent ID.
RETURN VALUES
The DmiRegisterCi() function returns the following possible values:
DMIERR_NO_ERROR
DMIERR_ILLEGAL_HANDLE
DMIERR_OUT_OF_MEMORY
DMIERR_INSUFFICIENT_PRIVILEGES
DMIERR_SP_INACTIVE
DMIERR_ATTRIBUTE_NOT_FOUND
DMIERR_COMPONENT_NOT_FOUND
DMIERR_GROUP_NOT_FOUND
DMIERR_DATABASE_CORRUPT
DMIERR_OUT_OF_MEMORY
DMIERR_ILLEGAL_DMI_LEVEL
The DmiUnregisterCi() function returns the following possible values:
DMIERR_NO_ERROR
DMIERR_ILLEGAL_HANDLE
DMIERR_OUT_OF_MEMORY
DMIERR_INSUFFICIENT_PRIVILEGES
DMIERR_SP_INACTIVE
DMIERR_UNKNOWN_CI_REGISTRY
The DmiOriginateEvent() function returns the following possible values:
DMIERR_NO_ERROR
DMIERR_ILLEGAL_HANDLE
DMIERR_OUT_OF_MEMORY
DMIERR_INSUFFICIENT_PRIVILEGES
DMIERR_SP_INACTIVE
DMIERR_UNKNOWN_CI_REGISTRY
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
┌─────────────────────────────┬─────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────┤
│Interface Stability │Obsolete │
├─────────────────────────────┼─────────────────────────────┤
│MT-level │Unsafe │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOattributes(5)SunOS 5.10 30 May 2012 DmiRegisterCi(3DMI)