wsreg_set_instanceProduct)Install Registry Library Fwsreg_set_instance(3WSREG)NAME
wsreg_set_instance, wsreg_get_instance - set or get the instance of a
component
SYNOPSIS
cc [flag ...] file ...-lwsreg [library ...]
#include <wsreg.h>
int wsreg_set_instance(Wsreg_component *comp, int instance);
int wsreg_get_instance(Wsreg_component *comp);
DESCRIPTION
The wsreg_set_instance() function sets the instance number specified by
instance of the component specified by comp. The instance number and
uuid are used to uniquely identify any component in the product install
registry.
The wsreg_get_instance() function determines the instance number asso‐
ciated with the component specified by comp.
RETURN VALUES
The wsreg_set_instance() function returns a non-zero value if the
instance was set correctly; otherwise 0 is returned.
The wsreg_get_instance() function returns the instance number associ‐
ated with the specified component.
EXAMPLES
Example 1: Get the instance value of a registered component.
The following example demonstrates how how to get the instance value of
a registered component.
#include <fcntl.h>
#include <wsreg.h>
int main (int argc, char **argv)
{
char *uuid = "d6cf2869-1dd1-11b2-9fcb-080020b69971";
Wsreg_component *comp = NULL;
/* Initialize the registry */
wsreg_initialize(WSREG_INIT_NORMAL, NULL);
if (!wsreg_can_access_registry(O_RDWR)) {
printf("No permission to modify the registry.\n");
return 1;
}
/* Create a component */
comp = wsreg_create_component(uuid);
wsreg_set_unique_name(comp, "wsreg_example_1");
wsreg_set_version(comp, "1.0");
wsreg_add_display_name(comp, "en", "Example 1 component");
wsreg_set_type(comp, WSREG_COMPONENT);
wsreg_set_location(comp, "/usr/local/example1_component");
/* Register */
wsreg_register(comp);
printf("Instance %d was assigned\n", wsreg_get_instance(comp));
wsreg_free_component(comp);
return 0;
}
USAGE
Upon component registration with the wsreg_register(3WSREG) function,
the instance number is set automatically. The instance number of 0
(the default) indicates to the wsreg_register() function that an
instance number should be looked up and assigned during registration.
If a component with the same uuid and location is already registered in
the product install registry, that component's instance number will be
used during registration.
After registration of a component, the wsreg_get_instance() function
can be used to determine what instance value was assigned.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
┌─────────────────────────────┬─────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────┤
│MT-Level │Unsafe │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOwsreg_create_component(3WSREG), wsreg_register(3WSREG), attributes(5)SunOS 5.10 22 Sep 2000 wsreg_set_instance(3WSREG)