vnd_prop_iter man page on SmartOS

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

VND_PROP_ITER(3VND)					   VND_PROP_ITER(3VND)

NAME
       vnd_prop_iter - iterate vnd properties

SYNOPSIS
       cc [ flag... ] file... -lvnd [ library... ]
       #include <libvnd.h>

       typedef int (vnd_prop_iter_f)(vnd_handle_t *vhp, vnd_prop_t prop,
	   void *cbarg);

       int vnd_prop_iter(vnd_handle_t *vhp, vnd_prop_iter_f cb,
	   void *arg);

DESCRIPTION
       The  vnd_prop_iter  function iterates over all the available properties
       for the vnd handle vhp and calls the user  supplied  callback  function
       cb. The argument arg is passed directly to the callback function.

       The  function specified by cb receives three arguments. The first, vhp,
       is the same vnd library handle that was passed to vnd_prop_iter. During
       the  callback,  the  consumer should not call vnd_close(3VND). Doing so
       will lead to undefined and undocumented behavior. The second  argument,
       prop,  is the current property. While vnd_prop_iter guarantees that all
       properties will be recieved, it does not guarantee the order  of	 them.
       The  final argument, cbarg, is the same argument that the caller passed
       in during arg.

       The return value of the callback function cb indicates whether  or  not
       property iteration should continue. To continue iteration, the function
       cb should return zero. Otherwise, to stop property iteration it	should
       return non-zero.

RETURN VALUES
       On  success,  the  function vnd_prop_iter returns zero. If the callback
       function returned non-zero to terminate iteration,  vnd_prop_iter  will
       instead	return one. In the case of library failure, vnd_prop_iter will
       return -1. In such cases, the vnd and system errors will be updated and
       available via vnd_errno(3VND) and vnd_syserrno(3VND).

       Example 1    Print writeable properties

       The following sample C program walks over every vnd property and prints
       out whether the property is read-only or read-write for the vnd	device
       "vnd1" in the current zone.

	 #include <libvnd.h>
	 #include <stdlib.h>
	 #include <stdio.h>

	 static int
	 print_prop(vnd_handle_t *vhp, vnd_prop_t prop, void *unused)
	 {
	      boolean_t canwrite;

	      if (vnd_prop_writeable(vhp, &canwrite) != 0)
		   abort();

	      (void) printf("prop %d is %s", prop, canwrite == B_TRUE ? "rw" : "r-");
	      return (0);
	 }

	 int
	 main(void)
	 {
	      vnd_handle_t *vhp;
	      vnd_errno_t vnderr;
	      int syserr;

	      vhp = vnd_open(NULL, "vnd1", &vnderr, &syserr);
	      if (vhp != NULL) {
		   if (vnderr == VND_E_SYS)
			(void) fprintf(stderr, "failed to open device: %s",
			    vnd_strsyserror(syserr));
		   else
			(void) fprintf(stderr, "failed to open device: %s",
			    vnd_strerror(vnderr));
		   return (1);
	      }

	      if (vnd_prop_iter(vhp, print_prop, NULL) != 0) {
		   vnderr = vnd_errno(vhp);
		   syserr = vnd_syserrno(vhp);
		   if (vnderr == VND_E_SYS)
			(void) fprintf(stderr, "failed to open device: %s",
			    vnd_strsyserror(syserr));
		   else
			(void) fprintf(stderr, "failed to open device: %s",
			    vnd_strerror(vnderr));
		   return (1);
	      }

	      vnd_close(vnd);
	      return (0);
	 }

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

       ┌───────────────┬─────────────────────────────────┐
       │ATTRIBUTE TYPE │	 ATTRIBUTE VALUE	 │
       ├───────────────┼─────────────────────────────────┤
       │Stability      │ Committed			 │
       ├───────────────┼─────────────────────────────────┤
       │MT-Level       │ See "THREADING" in libvnd(3LIB) │
       └───────────────┴─────────────────────────────────┘
       libvnd(3LIB), vnd_close(3VND), vnd_errno(3VND), vnd_syserrno(3VND)

				 Feb 21, 2014		   VND_PROP_ITER(3VND)
[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