[Go to CFHT Home Page] Man Pages
Back to Software Index  BORDER=0Manpage Top Level
    volmgt_check(3X) manual page Table of Contents

Name

volmgt_check - have Volume Management check for media

Synopsis

cc [ flag... ] file... -lvolmgt [ library.... ]

#include <volmgt.h>

int volmgt_check(char *pathname);

MT-Level

MT-Safe

Description

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) ).

Return Values

This routine returns 0 if no media was found, and a non-zero value if any media was found.

Errors

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.

Examples

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 Also

cc(1B) , volcheck(1) , vold(1M) , open(2) , stat(2) , volmgt_inuse(3X) , volmgt_running(3X) , vold.conf(4) , volfs(7FS)

Notes

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.


Table of Contents