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 */