|
Volume Management Library Functions | volmgt_check(3VOLMGT) |
| volmgt_check - have Volume Management check for media |
SYNOPSIS
|
cc [ flag ... ] file ... -lvolmgt [ library ... ]
#include <volmgt.h>
int volmgt_check(char *pathname); |
|
This routine asks Volume Management to check the specified pathname and determine if new media has been inserted in that drive.
If a null pointer is passed in, then Volume Management will check each device it is managing that can be checked.
If new media is found, volmgt_check() tells Volume Management to initiate any "actions" specified in /etc/vold.conf (see vold.conf(4)).
|
|
This routine returns 0 if no media was found, and a non-zero value if any media was found.
|
|
This routine can fail, returning 0, if a stat(2)
or open(2) of the supplied pathname fails,
or if any of the following is true:
-
ENXIO
- Volume Management is not running.
-
EINTR
- An interrupt signal was detected while checking for media.
|
| Example 1. Checking If Any New Media Is Inserted
|
To check if any drive managed by Volume Management has any new media inserted in it:
|
if (volmgt_check(NULL)) {
(void) printf("Volume Management found media\n");
}
|
This would also request Volume Management to take whatever action was specified in /etc/vold.conf for any media found.
|
|
|
See attributes(5) for descriptions of the following
attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
MT-Level | MT-Safe |
|
|
Volume Management must be running for this routine to work.
Since volmgt_check() returns 0 for two different cases (both when no media is found, and when an error occurs), it is up to the user to to check errno to differentiate the two, and to ensure that Volume Management is running.
|
| |