diff options
| author | sjelinek <none@none> | 2005-10-27 09:01:18 -0700 |
|---|---|---|
| committer | sjelinek <none@none> | 2005-10-27 09:01:18 -0700 |
| commit | 3e1bd7a2aaeb6188caef90679b98088cfef1edc6 (patch) | |
| tree | f96d6ce4a25ea39514dd8b1fd2a23978cabc5055 /usr/src/lib/libdiskmgt/common/libdiskmgt.h | |
| parent | 108322fb1c3ed341aba9c80c9774df0ed9e35768 (diff) | |
| download | illumos-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.h | 23 |
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 } |
