1 /*
2 * CDDL HEADER START
3 *
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.
7 *
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.
12 *
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]
18 *
19 * CDDL HEADER END
20 */
21 /*
22 * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
23 * Use is subject to license terms.
24 */
25
26 #ifndef _VOLD_H
27 #define _VOLD_H
28
29 #pragma ident "%Z%%M% %I% %E% SMI"
30
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34
35 #include <libhal.h>
36
37 typedef enum {
38 EJECT,
39 INSERT,
40 REMOUNT,
41 UNMOUNT,
42 CLEAR_MOUNTS,
43 CLOSETRAY
44 } action_t;
45
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 */
56 };
57
58 extern int rmm_debug;
59 extern boolean_t rmm_vold_actions_enabled;
60 extern boolean_t rmm_vold_mountpoints_enabled;
61
62 void vold_init(int argc, char **argv);
63 int vold_postprocess(LibHalContext *hal_ctx, const char *udi,
64 struct action_arg *aap);
65 int vold_rmmount(int argc, char **argv);
66 int volrmmount(int argc, char **argv);
67 int volcheck(int argc, char **argv);
68
69 #ifdef __cplusplus
70 }
71 #endif
72
73 #endif /* _VOLD_H */
|
1 /*
2 * CDDL HEADER START
3 *
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.
7 *
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.
12 *
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]
18 *
19 * CDDL HEADER END
20 *
21 *
22 * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
23 * Use is subject to license terms.
24 *
25 * Copyright 2014 Andrew Stormont.
26 */
27
28 #ifndef _VOLD_H
29 #define _VOLD_H
30
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34
35 #include <libhal.h>
36
37 typedef enum {
38 EJECT,
39 INSERT,
40 REMOUNT,
41 UNMOUNT,
42 CLEAR_MOUNTS,
43 CLOSETRAY
44 } action_t;
45
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 */
56 };
57
58 extern int rmm_debug;
59 extern boolean_t rmm_vold_actions_enabled;
60 extern boolean_t rmm_vold_mountpoints_enabled;
61
62 void vold_init(int argc, char **argv);
63 int vold_postprocess(LibHalContext *hal_ctx, const char *udi,
64 struct action_arg *aap);
65 int vold_rmmount(int argc, char **argv);
66 int volcheck(int argc, char **argv);
67
68 #ifdef __cplusplus
69 }
70 #endif
71
72 #endif /* _VOLD_H */
|