media_setattr man page on SmartOS

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


       media_getattr, media_setattr - get and set media attributes

       cc [ flag ... ] file ... -lvolmgt [ library ... ]
       #include <volmgt.h>

       char *media_getattr(char *vol_path, char *attr);

       int media_setattr(char *vol_path, char *attr, char *value);

       This  function  is  obsolete.  The management of removable media by the
       Volume Management feature, including vold, has been replaced  by	 soft‐
       ware  that  supports the Hardware Abstraction Layer (HAL). Programmatic
       support for HAL is through the HAL APIs, which are  documented  on  the
       HAL  web	 site.	See hal(5). The return value of this function is unde‐

       media_setattr() and media_getattr() respectively set and get attribute-
       value pairs (called properties) on a per-volume basis.

       Volume  management supports system properties and user properties. Sys‐
       tem properties are ones that  volume  management	 predefines.  Some  of
       these  system  properties  are writable, but only by the user that owns
       the volume being specified, and some system properties are read only:

	Attribute     Writable			 Value				     Description
       s-access	      RO	 "seq", "rand"				 sequential or random access
       s-density      RO	 "low", "medium", "high"		 media density
       s-parts	      RO	 comma separated list of slice numbers	  list of partitions on this volume
       s-location     RO	 pathname				 volume management pathname to media
       s-mejectable   RO	 "true", "false"			 whether or not	 media	is  manually
       s-rmoneject    R/W	 "true", "false"			 should	  media	  access  points  be
									 removed from database upon ejection
       s-enxio	      R/W	 "true", "false"			 if  set  return  ENXIO	 when  media
									 access attempted

       Properties  can also be defined by the user. In this case the value can
       be any string the user wishes.

       The return from this function is undefined.

       Both media_getattr() and media_setattr()	 can  fail  returning  a  null
       pointer	if  an open(2) of the specified vol_path fails, if an fstat(2)
       of that pathname fails, or if that pathname is not a block or character
       special device.

       media_getattr() can also fail if the specified attribute was not found,
       and media_setattr() can also fail if the caller doesn't have permission
       to  set	the  attribute,	 either because it's is a system attribute, or
       because the caller doesn't own the specified volume.

       Example 1 Using media_getattr()

       The following example checks to see if the volume called fred that vol‐
       ume  management	is managing can be ejected by means of software, or if
       it can only be manually ejected:

	 if (media_getattr("/rdsk/fred", "s-mejectable") != NULL) {
		 (void) printf("\"fred\" must be manually ejected\n");
	 } else {
		 (void) printf("software can eject \"fred\"\n");

       This example shows setting the s-enxio property for the	floppy	volume
       currently in the first floppy drive:

	 int	 res;
	 if ((res = media_setattr("/dev/aliases/floppy0", "s-enxio",
	     "true")) == 0) {
		 (void) printf("can't set s-enxio flag for floppy0\n");

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

       │MT-Level	    │ MT-Safe	      │
       │Interface Stability │ Obsolete	      │

       lstat(2),   open(2),   readlink(2),   stat(2),	free(3C),  malloc(3C),
       media_findname(3VOLMGT), volmgt_check(3VOLMGT),	volmgt_inuse(3VOLMGT),
       volmgt_root(3VOLMGT), volmgt_running(3VOLMGT), volmgt_symname(3VOLMGT),
       attributes(5), hal(5)

				  Mar 8, 2007		MEDIA_GETATTR(3VOLMGT)

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]
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