18c2aff776a775d34a4c9893a4c72e0434d68e36artem/*
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * CDDL HEADER START
18c2aff776a775d34a4c9893a4c72e0434d68e36artem *
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * The contents of this file are subject to the terms of the
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * Common Development and Distribution License (the "License").
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * You may not use this file except in compliance with the License.
18c2aff776a775d34a4c9893a4c72e0434d68e36artem *
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * or http://www.opensolaris.org/os/licensing.
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * See the License for the specific language governing permissions
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * and limitations under the License.
18c2aff776a775d34a4c9893a4c72e0434d68e36artem *
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * When distributing Covered Code, include this CDDL HEADER in each
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * If applicable, add the following below this CDDL HEADER, with the
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * fields enclosed by brackets "[]" replaced with your own identifying
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * information: Portions Copyright [yyyy] [name of copyright owner]
18c2aff776a775d34a4c9893a4c72e0434d68e36artem *
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * CDDL HEADER END
18c2aff776a775d34a4c9893a4c72e0434d68e36artem */
18c2aff776a775d34a4c9893a4c72e0434d68e36artem/*
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
18c2aff776a775d34a4c9893a4c72e0434d68e36artem * Use is subject to license terms.
18c2aff776a775d34a4c9893a4c72e0434d68e36artem */
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artem#ifndef _VOLD_H
18c2aff776a775d34a4c9893a4c72e0434d68e36artem#define _VOLD_H
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artem#pragma ident "%Z%%M% %I% %E% SMI"
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artem#ifdef __cplusplus
18c2aff776a775d34a4c9893a4c72e0434d68e36artemextern "C" {
18c2aff776a775d34a4c9893a4c72e0434d68e36artem#endif
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artem#include <libhal.h>
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artemtypedef enum {
18c2aff776a775d34a4c9893a4c72e0434d68e36artem EJECT,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem INSERT,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem REMOUNT,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem UNMOUNT,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem CLEAR_MOUNTS,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem CLOSETRAY
18c2aff776a775d34a4c9893a4c72e0434d68e36artem} action_t;
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artemstruct action_arg {
18c2aff776a775d34a4c9893a4c72e0434d68e36artem action_t aa_action; /* VOLUME_ACTION */
18c2aff776a775d34a4c9893a4c72e0434d68e36artem char *aa_symdev; /* VOLUME_SYMDEV */
18c2aff776a775d34a4c9893a4c72e0434d68e36artem char *aa_name; /* VOLUME_NAME */
18c2aff776a775d34a4c9893a4c72e0434d68e36artem char *aa_path; /* special device in question (block) */
18c2aff776a775d34a4c9893a4c72e0434d68e36artem char *aa_rawpath; /* special device in question (character) */
18c2aff776a775d34a4c9893a4c72e0434d68e36artem char *aa_type; /* file system type */
18c2aff776a775d34a4c9893a4c72e0434d68e36artem char *aa_media; /* type of media */
18c2aff776a775d34a4c9893a4c72e0434d68e36artem char *aa_partname; /* iff a partition, partition name */
18c2aff776a775d34a4c9893a4c72e0434d68e36artem char *aa_mountpoint; /* path this file system mounted on */
18c2aff776a775d34a4c9893a4c72e0434d68e36artem};
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artemextern int rmm_debug;
18c2aff776a775d34a4c9893a4c72e0434d68e36artemextern boolean_t rmm_vold_actions_enabled;
18c2aff776a775d34a4c9893a4c72e0434d68e36artemextern boolean_t rmm_vold_mountpoints_enabled;
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artemvoid vold_init(int argc, char **argv);
18c2aff776a775d34a4c9893a4c72e0434d68e36artemint vold_postprocess(LibHalContext *hal_ctx, const char *udi,
18c2aff776a775d34a4c9893a4c72e0434d68e36artem struct action_arg *aap);
18c2aff776a775d34a4c9893a4c72e0434d68e36artemint vold_rmmount(int argc, char **argv);
18c2aff776a775d34a4c9893a4c72e0434d68e36artemint volrmmount(int argc, char **argv);
18c2aff776a775d34a4c9893a4c72e0434d68e36artemint volcheck(int argc, char **argv);
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artem#ifdef __cplusplus
18c2aff776a775d34a4c9893a4c72e0434d68e36artem}
18c2aff776a775d34a4c9893a4c72e0434d68e36artem#endif
18c2aff776a775d34a4c9893a4c72e0434d68e36artem
18c2aff776a775d34a4c9893a4c72e0434d68e36artem#endif /* _VOLD_H */