cfg_subsys_reconfig man page on DigitalUNIX

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

cfg_subsys_reconfig(3)					cfg_subsys_reconfig(3)

NAME
       cfg_subsys_reconfig - reconfigure attribute values for a subsystem

SYNOPSIS
       #include <cfg.h>

       cfg_status_t cfg_subsys_reconfig(
	       cfg_handle_t *handle,
	       caddr_t subsys,
	       cfg_attr_t *attributes,
	       int nattributes );

LIBRARY
       Configuration Management Library (libcfg.a)

PARAMETERS
       Structure  identifying the means of communication between your applica‐
       tion and the configuration management server. For local requests,  pass
       NULL  in	 this  parameter. For remote requests, pass the value returned
       from the cfg_connect() routine.	Specifies the name  of	the  subsystem
       for  which  you	are  modifying attribute values.  On input, contains a
       list of attributes whose value you want to modify. For each  attribute,
       the list includes the attribute name, data type, and the new value.

	      On  return,  contains  a	status	for each attribute. The status
	      indicates whether the system was able to make  the  modification
	      and,  if	not,  what  problem  caused  the error.	 The number of
	      attributes whose values you are changing.

DESCRIPTION
       Use the cfg_subsys_reconfig() routine to modify attribute values for  a
       subsystem.   The modifications made by this routine take effect immedi‐
       ately because they are made to the in-memory  copy  of  the  subsystem.
       Neither	the  kernel  nor  the subsystem stores a copy of the modifica‐
       tions, so if the system is rebooted or the subsystem  is	 unconfigured,
       the modifications are lost. When the subsystem is once again configured
       into the kernel, the value of its attributes  are  retrieved  from  the
       /etc/sysconfigtab database and the subsystem code.

       To reconfigure an individual array element, on input the index field of
       the cfg_attr_t structure must be set to the index value	of  the	 array
       element.

       To  make permanent changes to attribute values, store the new attribute
       values in  the  /etc/sysconfigtab  database.  See  sysconfigtab(4)  for
       information about that database.

       When  your  application	calls  the  cfg_subsys_reconfig()  routine, it
       passes a list of attribute names and  values.  The  application	passes
       this  information  in  an  array of structures of type cfg_attr_t.  For
       information about this structure, see  libcfg(3).  The  following  list
       describes the information that is passed to the system by your applica‐
       tion: Attributes can be integer, string, or binary data. To specify the
       data type of your attribute you pass one of these attribute data types:
       CFG_ATTR_STRTYPE, CFG_ATTR_INTTYPE,  CFG_ATTR_UNITTYPE,	CFG_ATTR_LONG‐
       TYPE,  CFG_ATTR_ULONGTYPE,  CFG_ATTR_BINTYPE  For  attributes  that are
       themselves a structure, your application must pass the  index  for  the
       attribute  whose	 value you want to modify.  The attribute value speci‐
       fies the new value for the attribute.

	      Be aware that the system updates	attributes  in	the  order  in
	      which  you specify them in the attribute list. This order can be
	      important when one  attribute  is	 validated  based  on  another
	      attribute's  current setting. On return, the system supplies the
	      status for  each	attribute.  The	 status	 is  returned  in  the
	      attribute parameter, which is normally an array of structures of
	      the type cfg_attr_t.  For information about this structure,  see
	      libcfg(3).  The following table describes the status values your
	      application might receive from  the  cfg_subsys_reconfig()  rou‐
	      tine:

	      ──────────────────────────────────────────────────────
	      Status Code	 Meaning
	      ──────────────────────────────────────────────────────
	      CFG_ATTR_SUCCESS	 Successful operation
	      CFG_ATTR_EEXISTS	 No attribute by that name exists
	      CFG_ATTR_EOP	 Attribute  does  not  support	the
				 reconfigure operation
	      CFG_ATTR_ESUBSYS	 Subsystem failure (code within the
				 subsystem returned an error)
	      CFG_ATTR_EINDEX	 The index for an indexed attribute
				 is out of range
	      CFG_ATTR_ELARGE	 The new attribute value or  length
				 is too large
	      CFG_ATTR_ESMALL	 The  new attribute value or length
				 is too small
	      ──────────────────────────────────────────────────────

RETURN VALUES
       Upon successful completion, cfg_subsys_reconfig() returns  CFG_SUCCESS.
       Other  return  values indicate that an error has occurred. For informa‐
       tion about handling return values from routines	in  the	 configuration
       management library, see libcfg(3).

EXAMPLES
       The  following example illustrates the use of the cfg_subsys_reconfig()
       routine:

       cfg_attr_t	       attributes[1]; cfg_status_t	       retval;
       cfg_handle_t		  handle;   int			      i;   int
       nattributes;

       /*****************************************************/ /*   Initialize
       attribute names for the request	     */

       strcpy	(attributes[0].name,   "max-vnodes");	attributes[0].type   =
       CFG_ATTR_INTTYPE; attributes[0].attr.num.val = 20000; nattributes = 1;

       /***************************************************/  /*    Call   the
       cfg_subsys_reconfig routine	  */

       retval = cfg_subsys_reconfig(&handle, "vfs", attributes, nattributes);

       if (retval != CFG_SUCCESS)
	   print_error (retval);

       else {

	    for (i=0; i<1; i++) {
	       if (attributes[i].status != CFG_ATTR_SUCCESS) {
		   printf("%s:", attributes[i].name);
		   switch (attributes[i].status){
		    case CFG_ATTR_EEXISTS:
		      printf("unknown attribute\n");
		      break;
		    case CFG_ATTR_EOP:
		      printf("attribute does not allow this operation\n");
		      break; .	.  .
		    default:
		      printf("unknown error\n");
		      break;
		  }
	      }
	   } }

       In  this	 example,  the application attempts to modify the value of the
       max-vnodes attribute. This attribute, which is part of the vfs  subsys‐
       tem is being set to the value 20000.

       On  return  the application checks the status of the request as a whole
       and of the attribute itself. If the request and attribute  status  both
       indicate	 success,  the	application  continues. Otherwise, an error is
       displayed.

SEE ALSO
       Commands: cfgmgr(8), sysconfig(8)

       Routines: libcfg(3)

							cfg_subsys_reconfig(3)
[top]

List of man pages available for DigitalUNIX

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