summaryrefslogtreecommitdiff
path: root/usr/src/lib/libdiskmgt/common/libdiskmgt.h
diff options
context:
space:
mode:
authorsjelinek <none@none>2005-10-27 09:01:18 -0700
committersjelinek <none@none>2005-10-27 09:01:18 -0700
commit3e1bd7a2aaeb6188caef90679b98088cfef1edc6 (patch)
treef96d6ce4a25ea39514dd8b1fd2a23978cabc5055 /usr/src/lib/libdiskmgt/common/libdiskmgt.h
parent108322fb1c3ed341aba9c80c9774df0ed9e35768 (diff)
downloadillumos-joyent-3e1bd7a2aaeb6188caef90679b98088cfef1edc6.tar.gz
PSARC 2004/776 device checking for fs utilities
PSARC 2005/461 Device in use checking environment variables 5084421 libdiskmgt needs to detect in use ZFS data 5085739 remove workaround for bug 4725434 6194015 Device in use checking for Solaris utilities-PSARC/2004/776 6261853 libdiskmgt does not work correctly in all cases on amd64 6268374 libdiskmgt allocates incorrect size for readdir_r() dirent argument 6291309 PSARC/2005/461 - libdiskmgt should enable bypassing of inuse checking 6301815 PSARC/2005/461-Need Sun private libdiskmgt flag for use during install to disable sysevent starting --HG-- rename : usr/src/cmd/format/checkmount.c => usr/src/cmd/format/checkdev.c rename : usr/src/cmd/format/checkmount.h => usr/src/cmd/format/checkdev.h
Diffstat (limited to 'usr/src/lib/libdiskmgt/common/libdiskmgt.h')
-rw-r--r--usr/src/lib/libdiskmgt/common/libdiskmgt.h23
1 files changed, 21 insertions, 2 deletions
diff --git a/usr/src/lib/libdiskmgt/common/libdiskmgt.h b/usr/src/lib/libdiskmgt/common/libdiskmgt.h
index d9c2909539..ee8d1776b7 100644
--- a/usr/src/lib/libdiskmgt/common/libdiskmgt.h
+++ b/usr/src/lib/libdiskmgt/common/libdiskmgt.h
@@ -20,7 +20,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -35,10 +35,21 @@ extern "C" {
#include <libnvpair.h>
-/* typedef void *dm_descriptor_t; */
+/*
+ * Holds all the data regarding the device.
+ * Private to libdiskmgt. Must use dm_xxx functions to set/get data.
+ */
typedef uint64_t dm_descriptor_t;
typedef enum {
+ DM_WHO_MKFS = 0,
+ DM_WHO_ZPOOL,
+ DM_WHO_FORMAT,
+ DM_WHO_SWAP,
+ DM_WHO_DUMP
+} dm_who_type_t;
+
+typedef enum {
DM_DRIVE = 0,
DM_CONTROLLER,
DM_MEDIA,
@@ -199,6 +210,7 @@ typedef enum {
#define DM_USE_VXVM "vxvm"
#define DM_USE_FS "fs"
#define DM_USE_VFSTAB "vfstab"
+#define DM_USE_ZPOOL "zpool"
/* event */
#define DM_EV_NAME "name"
@@ -232,6 +244,13 @@ nvlist_t *dm_get_stats(dm_descriptor_t desc, int stat_type,
void dm_init_event_queue(void(*callback)(nvlist_t *, int),
int *errp);
nvlist_t *dm_get_event(int *errp);
+void dm_get_slices(char *drive, dm_descriptor_t **slices,
+ int *errp);
+void dm_get_slice_stats(char *slice, nvlist_t **dev_stats,
+ int *errp);
+void dm_get_usage_string(char *who, char *data, char **msg);
+int dm_inuse(char *dev_name, char **msg, dm_who_type_t who,
+ int *errp);
#ifdef __cplusplus
}