Merge illumos-gate
[unleashed.git] / usr / src / cmd / rmvolmgr / vold.h
blobe3ce7eb09ccd5b7997361d58a85a79cbf0f1c601
1 /*
2 * CDDL HEADER START
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
19 * CDDL HEADER END
22 * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
23 * Use is subject to license terms.
26 #ifndef _VOLD_H
27 #define _VOLD_H
29 #pragma ident "%Z%%M% %I% %E% SMI"
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
35 #include <libhal.h>
37 typedef enum {
38 EJECT,
39 INSERT,
40 REMOUNT,
41 UNMOUNT,
42 CLEAR_MOUNTS,
43 CLOSETRAY
44 } action_t;
46 struct action_arg {
47 action_t aa_action; /* VOLUME_ACTION */
48 char *aa_symdev; /* VOLUME_SYMDEV */
49 char *aa_name; /* VOLUME_NAME */
50 char *aa_path; /* special device in question (block) */
51 char *aa_rawpath; /* special device in question (character) */
52 char *aa_type; /* file system type */
53 char *aa_media; /* type of media */
54 char *aa_partname; /* iff a partition, partition name */
55 char *aa_mountpoint; /* path this file system mounted on */
58 extern int rmm_debug;
59 extern boolean_t rmm_vold_actions_enabled;
60 extern boolean_t rmm_vold_mountpoints_enabled;
62 int vold_postprocess(LibHalContext *hal_ctx, const char *udi,
63 struct action_arg *aap);
64 int vold_rmmount(int argc, char **argv);
65 int volrmmount(int argc, char **argv);
66 int volcheck(int argc, char **argv);
68 #ifdef __cplusplus
70 #endif
72 #endif /* _VOLD_H */