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 programs, 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 atttributes that are already being served through the direct interface. RPC
is used for communication from the Service Provider to the component 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 components 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
component 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 |
+-----------------------------+-----------------------------+
|MT-level |Unsafe |
+-----------------------------+-----------------------------+
SEE ALSO
attributes(5)
SunOS 5.10 17 Dec 1996 DmiRegisterCi(3DMI)