Sun Microsystems, Inc.
spacerspacer
spacer   www.sun.com docs.sun.com | | |  
spacer
black dot
   
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z
    
 
DMI Library FunctionsDmiRegisterCi(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 three 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 version 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 TYPEATTRIBUTE VALUE
MT-levelUnsafe

SEE ALSO

 

attributes(5)


SunOS 5.9Go To TopLast Changed 17 Dec 1996

 
      
      
Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.