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
    
 
Product Install Registry Library Functionswsreg_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 associated 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 associated 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 TYPEATTRIBUTE VALUE
MT-LevelUnsafe

SEE ALSO

 

wsreg_create_component(3WSREG), wsreg_register(3WSREG), attributes(5)


SunOS 5.9Go To TopLast Changed 22 Sep 2000

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