Go to main content

man pages section 3: Extended Library Functions, Volume 3

Exit Print View

Updated: July 2017
 
 

picld_plugin_register(3PICLTREE)

Name

picld_plugin_register - register plug-in with the daemon

Synopsis

cc [ flag... ] file... –lpicltree [ library... ]
#include <picltree.h>

int picld_plugin_register(picld_plugin_reg_t  *regp);

Description

The picld_plugin_register() function is the function used by a plug-in module to register itself with the PICL daemon upon initialization. The plug-in provides its name and the entry points of the initialization and cleanup routines in the regp argument.

typedef struct {
    int   version;               /* PICLD_PLUGIN_VERSION */
    int   critical;              /* is plug-in critical? */
    char  *name;                 /* name of the plugin module */
    void  (*plugin_init)(void);  /* init/reinit function */
    void  (*plugin_fini)(void);  /* fini/cleanup function */
} picld_plugin_reg_t;

The plug-in module also specifies whether it is a critical module for the proper system operation. The critical field in the registration information is set to PICLD_PLUGIN_NON_CRITICAL by plug-in modules that are not critical to system operation, and is set to PICLD_PLUGIN_CRITICAL by plug-in modules that are critical to the system operation. An environment control plug-in module is an example for a PICLD_PLUGIN_CRITICAL type of plug-in module.

The PICL daemon saves the information passed during registration in regp in the order in which the plug-ins registered.

Upon initialization, the PICL daemon invokes the plugin_init() routine of each of the registered plug-in modules in the order in which they registered. In their plugin_init() routines, the plug-in modules collect the platform configuration data and add it to the PICL tree using PICLTREE interfaces (3PICLTREE).

On reinitialization, the PICL daemon invokes the plugin_fini() routines of the registered plug-in modules in the reverse order of registration. Then, the plugin_init() entry points are invoked again in the order in which the plug-ins registered.

Return Values

Upon successful completion, 0 is returned. On failure, a negative value is returned.

Errors

PICL_NOTSUPPORTED

Version not supported

PICL_FAILURE

General system failure

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
MT-Safe

See Also

libpicltree(3PICLTREE), attributes(5)