wsreg_unregister man page on SunOS

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
SunOS logo
[printable version]

wsreg_unregister(3Product Install Registry Library Funwsreg_unregister(3WSREG)

NAME
       wsreg_unregister - remove a component from the product install registry

SYNOPSIS
       cc [flag ...]  file ...-lwsreg [library ...]
       #include <wsreg.h>

       int wsreg_unregister(const Wsreg_component *comp);

DESCRIPTION
       The wsreg_unregister() function removes the component specified by comp
       from the product install registry.  The component will only be  removed
       if the comp argument has a matching uuid, instance, and version.

       Usually,	 the  component	 retrieved through a call to wsreg_get(3WSREG)
       before being passed to the wsreg_unregister() function.

       If the component has required components, the respective dependent com‐
       ponents will be updated to reflect the change.

       A  component that has dependent components cannot be unregistered until
       the dependent components are uninstalled and unregistered.

RETURN VALUES
       Upon successful completion, a non-zero return value  is	returned.   If
       the component could not be unregistered, 0 is returned.

EXAMPLES
       Example 1: Unregister a component.

       The following example demonstrates how to unregister a component.

       #include <stdio.h>
       #include <wsreg.h>

       int main(int argc, char **argv)
       {
	   char *uuid = "d6cf2869-1dd1-11b2-9fcb-080020b69971";
		char *location = "/usr/local/example1_component";
		Wsreg_query *query = NULL;
		Wsreg_component *comp = NULL;

		/* Initialize the registry */
		wsreg_initialize(WSREG_INIT_NORMAL, NULL);

		/* Query for the component */
		query = wsreg_query_create();
		wsreg_query_set_id(query, uuid);
		wsreg_query_set_location(query, location);
		comp = wsreg_get(query);

		if (comp != NULL) {
		    /* The query succeeded.  The component has been found. */
		    Wsreg_component **dependent_comps;
		    dependent_comps = wsreg_get_dependent_components(comp);
		    if (dependent_comps != NULL) {
		    /*
		     * The component has dependent components.	The
		     * component cannot be unregistered.
		     */
		    wsreg_free_component_array(dependent_comps);
		    printf("The component cannot be uninstalled because "
			"it has dependent components\n");
		    } else {
			/*
			 * The component does not have dependent components.
			 * It can be unregistered.
			 */
			if (wsreg_unregister(comp) != 0) {
			    printf("wsreg_unregister succeeded\n");
			} else {
			    printf("unregister failed\n");
			}
		    }
		    /* Be sure to free the component */
		    wsreg_free_component(comp);
		} else {
		    /* The component is not currently registered. */
		    printf("The component was not found in the registry\n");
		}
		wsreg_query_free(query);
       }

USAGE
       Components should be unregistered before uninstallation.	 If the compo‐
       nent cannot be unregistered, uninstallation should not be performed.

       A component cannot  be  unregistered  if	 other	registered  components
       require	it.  A call to wsreg_get_dependent_components() can be used to
       determine if  this  situation  exists.  See  wsreg_add_dependent_compo‐
       nent(3WSREG).

       A  successful  unregistration  of a component will result in all compo‐
       nents required by the unregistered component being updated in the prod‐
       uct  install registry to remove the dependency.	Also, child components
       will be updated so the unregistered component is no  longer  registered
       as their parent.

       When unregistering a product, the product should first be unregistered,
       followed by the unregistration of its first feature and then the unreg‐
       istration  and uninstallation of the components that comprise that fea‐
       ture.  Be sure to use this top-down approach to avoid removing a compo‐
       nent  that  belongs to a product or feature that is required by a sepa‐
       rate product.

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

       ┌─────────────────────────────┬─────────────────────────────┐
       │      ATTRIBUTE TYPE	     │	    ATTRIBUTE VALUE	   │
       ├─────────────────────────────┼─────────────────────────────┤
       │MT-Level		     │Unsafe			   │
       └─────────────────────────────┴─────────────────────────────┘

SEE ALSO
       wsreg_add_dependent_component(3WSREG),  wsreg_get(3WSREG),   wsreg_ini‐
       tialize(3WSREG), wsreg_register(3WSREG), attributes(5)

SunOS 5.10			  22 Sep 2000	      wsreg_unregister(3WSREG)
[top]

List of man pages available for SunOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net