pool_resource_xtransfer man page on SmartOS

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

POOL_RESOURCE_CREATE(3POOL)			   POOL_RESOURCE_CREATE(3POOL)

NAME
       pool_resource_create,	 pool_resource_destroy,	   pool_resource_info,
       pool_query_resource_components,		       pool_resource_transfer,
       pool_resource_xtransfer - resource pool resource manipulation functions

SYNOPSIS
       cc [ flag... ] file... -lpool [ library... ]
       #include <pool.h>

       pool_resource_t *pool_resource_create(pool_conf_t *conf,
	    const char *type, const char *name);

       int pool_resource_destroy(pool_conf_t *conf,
	    pool_resource_t *resource);

       const char *pool_resource_info(pool_conf_t *conf
	    pool_resource_t *resource, int flags);

       pool_component_t **pool_query_resource_components(
	    pool_conf_t *conf, pool_resource_t *resource,
	    uint_t *nelem, pool_value_t **props);

       int pool_resource_transfer(pool_conf_t *conf,
	    pool_resource_t *source, pool_resource_t *target,
	    uint64_t size);

       int pool_resource_xtransfer(pool_conf_t *conf,
	    pool_resource_t *source, pool_resource_t *target,
	    pool_component_t **components);

DESCRIPTION
       The  pool_resource_create() function creates and returns a new resource
       of the given name and type in the provided configuration. If  there  is
       already a resource of the given name, the operation will fail.

       The  pool_resource_destroy()  function  removes	the specified resource
       from its configuration file.

       The pool_resource_info() function returns a string describing the given
       resource. The string is allocated with malloc(3C). The caller is repon‐
       sible for freeing the returned string. If the flags  argument  is  non-
       zero,  the  string returned also describes the components (if any) con‐
       tained in the resource.

       The pool_query_resource_components() function returns a null-terminated
       array of the components (if any) that comprise the given resource.

       The  pool_resource_transfer()  function transfers size basic units from
       the source resource to the target. Both resources must be of  the  same
       type  for  the  operation to succeed. Transferring component resources,
       such   as   processors,	 is   always   performed    as	  series    of
       pool_resource_xtransfer()  operations, since discrete resources must be
       identified for transfer.

       The pool_resource_xtransfer() function transfers	 the  specific	compo‐
       nents from the source resource to the target. Both resources must be of
       the same type, and of a type that contains components (such as  proces‐
       sor  sets).  The	 components  argument  is  a  null-terminated  list of
       pool_component_t.

       The conf argument for each function refers to the target	 configuration
       to which the operation applies.

RETURN VALUES
       Upon   successful  completion,  pool_resource_create()  returns	a  new
       pool_resource_t with default properties initialized. Otherwise, NULL is
       returned and pool_error(3POOL) returns the pool-specific error value.

       Upon  successful	 completion, pool_resource_destroy() returns 0. Other‐
       wise, -1 is returned and pool_error() returns the  pool-specific	 error
       value.

       Upon  successful	 completion,  pool_resource_info()  returns  a	string
       describing the given resource (and optionally its  components).	Other‐
       wise, NULL is returned and pool_error() returns the pool-specific error
       value.

	Upon successful completion, pool_query_resource_components() returns a
       null-terminated	array  of  pool_component_t  * that match the provided
       null-terminated property list and are contained in the given  resource.
       Otherwise,  NULL is returned and pool_error() returns the pool-specific
       error value.

	Upon	successful    completion,     pool_resource_transfer()	   and
       pool_resource_xtransfer()  return  0.  Otherwise	 -1  is	 returned  and
       pool_error() returns the pool-specific error value.

ERRORS
       The pool_resource_create() function will fail if:

       POE_BADPARAM
			   The	supplied   configuration's   status   is   not
			   POF_VALID or name is in use for this resource type.

       POE_INVALID_CONF
			   The	resource  element could not be created because
			   the configuration would be invalid.

       POE_PUTPROP
			   One of the supplied properties could not be set.

       POE_SYSTEM
			    A system error  has	 occurred.  Check  the	system
			   error code for more details.

       The pool_resource_destroy() function will fail if:

       POE_BADPARAM
		       The supplied configuration's status is not POF_VALID.

       The pool_resource_info() function will fail if:

       POE_BADPARAM
			   The	 supplied   configuration's   status   is  not
			   POF_VALID or the flags paramter is neither 0 nor 1.

       POE_INVALID_CONF
			   The configuration is invalid.

       POE_SYSTEM
			   A system error has occurred. Check the system error
			   code for more details.

       The pool_query_resource_components() function will fail if:

       POE_BADPARAM
			   The	 supplied   configuration's   status   is  not
			   POF_VALID.

       POE_INVALID_CONF
			   The configuration is invalid.

       POE_SYSTEM
			   A system error has occurred. Check the system error
			   code for more details.

       The pool_resource_transfer() function will fail if:

       POE_BADPARAM
		       The  supplied  configuration's status is not POF_VALID,
		       the two resources are not of  the  same	type,  or  the
		       transfer	 would cause either of the resources to exceed
		       their min and max properties.

       POE_SYSTEM
		       A system error has occurred.  Check  the	 system	 error
		       code for more details.

       The pool_resource_xtransfer() function will fail if:

       POE_BADPARAM
			   The	 supplied   configuration's   status   is  not
			   POF_VALID, the two resources are not	 of  the  same
			   type,  or  the  supplied resources do not belong to
			   the source.

       POE_INVALID_CONF
			   The transfer operation failed and the configuration
			   may be invalid.

       POE_SYSTEM
			   A system error has occurred. Check the system error
			   code for more details.

EXAMPLES
       Example 1 Create a new resource of type pset named foo.

	 #include <pool.h>
	 #include <stdio.h>

	 ...

	 pool_conf_t *conf;
	 pool_resource_t *resource;
	 ...

	 if ((resource = pool_resource_create(conf, "pset",
	     "foo")) == NULL) {
	     (void) fprintf(stderr, "Cannot create resource\B{}n");
	     ...
	 }

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

       ┌────────────────────┬─────────────────┐
       │  ATTRIBUTE TYPE    │ ATTRIBUTE VALUE │
       ├────────────────────┼─────────────────┤
       │CSI		    │ Enabled	      │
       ├────────────────────┼─────────────────┤
       │Interface Stability │ Unstable	      │
       ├────────────────────┼─────────────────┤
       │MT-Level	    │ Safe	      │
       └────────────────────┴─────────────────┘

SEE ALSO
       libpool(3LIB), pool_error(3POOL), attributes(5)

				 Sep 23, 2003	   POOL_RESOURCE_CREATE(3POOL)
[top]

List of man pages available for SmartOS

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