usr/src/lib/libdiskmgt/common/libdiskmgt.h
author sjelinek
Thu, 27 Oct 2005 09:01:18 -0700
changeset 767 0aa24dfb5d87
parent 0 68f95e015346
child 1107 1f78db36dee1
permissions -rw-r--r--
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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     1
/*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     2
 * CDDL HEADER START
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     3
 *
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     4
 * The contents of this file are subject to the terms of the
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     5
 * Common Development and Distribution License, Version 1.0 only
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     6
 * (the "License").  You may not use this file except in compliance
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     7
 * with the License.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     8
 *
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     9
 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    10
 * or http://www.opensolaris.org/os/licensing.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    11
 * See the License for the specific language governing permissions
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    12
 * and limitations under the License.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    13
 *
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    14
 * When distributing Covered Code, include this CDDL HEADER in each
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    15
 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    16
 * If applicable, add the following below this CDDL HEADER, with the
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    17
 * fields enclosed by brackets "[]" replaced with your own identifying
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    18
 * information: Portions Copyright [yyyy] [name of copyright owner]
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    19
 *
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    20
 * CDDL HEADER END
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    21
 */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    22
/*
767
0aa24dfb5d87 PSARC 2004/776 device checking for fs utilities
sjelinek
parents: 0
diff changeset
    23
 * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    24
 * Use is subject to license terms.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    25
 */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    26
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    27
#ifndef _LIBDISKMGT_H
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    28
#define	_LIBDISKMGT_H
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    29
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    30
#pragma ident	"%Z%%M%	%I%	%E% SMI"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    31
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    32
#ifdef __cplusplus
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    33
extern "C" {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    34
#endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    35
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    36
#include <libnvpair.h>
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    37
767
0aa24dfb5d87 PSARC 2004/776 device checking for fs utilities
sjelinek
parents: 0
diff changeset
    38
/*
0aa24dfb5d87 PSARC 2004/776 device checking for fs utilities
sjelinek
parents: 0
diff changeset
    39
 * Holds all the data regarding the device.
0aa24dfb5d87 PSARC 2004/776 device checking for fs utilities
sjelinek
parents: 0
diff changeset
    40
 * Private to libdiskmgt. Must use dm_xxx functions to set/get data.
0aa24dfb5d87 PSARC 2004/776 device checking for fs utilities
sjelinek
parents: 0
diff changeset
    41
 */
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    42
typedef uint64_t  dm_descriptor_t;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    43
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    44
typedef enum {
767
0aa24dfb5d87 PSARC 2004/776 device checking for fs utilities
sjelinek
parents: 0
diff changeset
    45
	DM_WHO_MKFS = 0,
0aa24dfb5d87 PSARC 2004/776 device checking for fs utilities
sjelinek
parents: 0
diff changeset
    46
	DM_WHO_ZPOOL,
0aa24dfb5d87 PSARC 2004/776 device checking for fs utilities
sjelinek
parents: 0
diff changeset
    47
	DM_WHO_FORMAT,
0aa24dfb5d87 PSARC 2004/776 device checking for fs utilities
sjelinek
parents: 0
diff changeset
    48
	DM_WHO_SWAP,
0aa24dfb5d87 PSARC 2004/776 device checking for fs utilities
sjelinek
parents: 0
diff changeset
    49
	DM_WHO_DUMP
0aa24dfb5d87 PSARC 2004/776 device checking for fs utilities
sjelinek
parents: 0
diff changeset
    50
} dm_who_type_t;
0aa24dfb5d87 PSARC 2004/776 device checking for fs utilities
sjelinek
parents: 0
diff changeset
    51
0aa24dfb5d87 PSARC 2004/776 device checking for fs utilities
sjelinek
parents: 0
diff changeset
    52
typedef enum {
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    53
    DM_DRIVE = 0,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    54
    DM_CONTROLLER,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    55
    DM_MEDIA,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    56
    DM_SLICE,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    57
    DM_PARTITION,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    58
    DM_PATH,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    59
    DM_ALIAS,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    60
    DM_BUS
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    61
} dm_desc_type_t;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    62
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    63
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    64
typedef enum {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    65
    DM_DT_UNKNOWN = 0,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    66
    DM_DT_FIXED,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    67
    DM_DT_ZIP,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    68
    DM_DT_JAZ,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    69
    DM_DT_FLOPPY,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    70
    DM_DT_MO_ERASABLE,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    71
    DM_DT_MO_WRITEONCE,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    72
    DM_DT_AS_MO,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    73
    DM_DT_CDROM,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    74
    DM_DT_CDR,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    75
    DM_DT_CDRW,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    76
    DM_DT_DVDROM,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    77
    DM_DT_DVDR,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    78
    DM_DT_DVDRAM,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    79
    DM_DT_DVDRW,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    80
    DM_DT_DDCDROM,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    81
    DM_DT_DDCDR,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    82
    DM_DT_DDCDRW
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    83
} dm_drive_type_t;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    84
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    85
typedef enum {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    86
    DM_MT_UNKNOWN = 0,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    87
    DM_MT_FIXED,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    88
    DM_MT_FLOPPY,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    89
    DM_MT_CDROM,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    90
    DM_MT_ZIP,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    91
    DM_MT_JAZ,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    92
    DM_MT_CDR,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    93
    DM_MT_CDRW,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    94
    DM_MT_DVDROM,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    95
    DM_MT_DVDR,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    96
    DM_MT_DVDRAM,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    97
    DM_MT_MO_ERASABLE,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    98
    DM_MT_MO_WRITEONCE,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    99
    DM_MT_AS_MO
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   100
} dm_media_type_t;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   101
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   102
#define	DM_FILTER_END	-1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   103
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   104
/* drive stat name */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   105
typedef enum {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   106
    DM_DRV_STAT_PERFORMANCE = 0,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   107
    DM_DRV_STAT_DIAGNOSTIC,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   108
    DM_DRV_STAT_TEMPERATURE
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   109
} dm_drive_stat_t;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   110
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   111
/* slice stat name */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   112
typedef enum {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   113
    DM_SLICE_STAT_USE = 0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   114
} dm_slice_stat_t;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   115
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   116
/* attribute definitions */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   117
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   118
/* drive */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   119
#define	DM_DISK_UP		1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   120
#define	DM_DISK_DOWN		0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   121
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   122
#define	DM_CLUSTERED		"clustered"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   123
#define	DM_DRVTYPE		"drvtype"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   124
#define	DM_FAILING		"failing"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   125
#define	DM_LOADED		"loaded"	/* also in media */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   126
#define	DM_NDNRERRS		"ndevice_not_ready_errors"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   127
#define	DM_NBYTESREAD		"nbytes_read"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   128
#define	DM_NBYTESWRITTEN	"nbytes_written"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   129
#define	DM_NHARDERRS		"nhard_errors"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   130
#define	DM_NILLREQERRS		"nillegal_req_errors"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   131
#define	DM_NMEDIAERRS		"nmedia_errors"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   132
#define	DM_NNODEVERRS		"nno_dev_errors"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   133
#define	DM_NREADOPS		"nread_ops"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   134
#define	DM_NRECOVERRS		"nrecoverable_errors"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   135
#define	DM_NSOFTERRS		"nsoft_errors"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   136
#define	DM_NTRANSERRS		"ntransport_errors"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   137
#define	DM_NWRITEOPS		"nwrite_ops"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   138
#define	DM_OPATH		"opath"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   139
#define	DM_PRODUCT_ID		"product_id"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   140
#define	DM_REMOVABLE		"removable"	/* also in media */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   141
#define	DM_RPM			"rpm"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   142
#define	DM_STATUS		"status"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   143
#define	DM_SYNC_SPEED		"sync_speed"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   144
#define	DM_TEMPERATURE		"temperature"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   145
#define	DM_VENDOR_ID		"vendor_id"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   146
#define	DM_WIDE			"wide"		/* also on controller */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   147
#define	DM_WWN			"wwn"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   148
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   149
/* bus */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   150
#define	DM_BTYPE		"btype"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   151
#define	DM_CLOCK		"clock"		/* also on controller */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   152
#define	DM_PNAME		"pname"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   153
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   154
/* controller */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   155
#define	DM_FAST			"fast"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   156
#define	DM_FAST20		"fast20"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   157
#define	DM_FAST40		"fast40"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   158
#define	DM_FAST80		"fast80"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   159
#define	DM_MULTIPLEX		"multiplex"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   160
#define	DM_PATH_STATE		"path_state"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   161
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   162
#define	DM_CTYPE_ATA		"ata"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   163
#define	DM_CTYPE_SCSI		"scsi"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   164
#define	DM_CTYPE_FIBRE		"fibre channel"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   165
#define	DM_CTYPE_USB		"usb"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   166
#define	DM_CTYPE_UNKNOWN	"unknown"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   167
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   168
/* media */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   169
#define	DM_BLOCKSIZE		"blocksize"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   170
#define	DM_FDISK		"fdisk"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   171
#define	DM_MTYPE		"mtype"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   172
#define	DM_NACTUALCYLINDERS	"nactual_cylinders"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   173
#define	DM_NALTCYLINDERS	"nalt_cylinders"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   174
#define	DM_NCYLINDERS		"ncylinders"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   175
#define	DM_NHEADS		"nheads"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   176
#define	DM_NPHYSCYLINDERS	"nphys_cylinders"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   177
#define	DM_NSECTORS		"nsectors"	/* also in partition */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   178
#define	DM_SIZE			"size"		/* also in slice */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   179
#define	DM_NACCESSIBLE		"naccessible"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   180
#define	DM_LABEL		"label"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   181
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   182
/* partition */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   183
#define	DM_BCYL			"bcyl"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   184
#define	DM_BHEAD		"bhead"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   185
#define	DM_BOOTID		"bootid"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   186
#define	DM_BSECT		"bsect"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   187
#define	DM_ECYL			"ecyl"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   188
#define	DM_EHEAD		"ehead"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   189
#define	DM_ESECT		"esect"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   190
#define	DM_PTYPE		"ptype"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   191
#define	DM_RELSECT		"relsect"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   192
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   193
/* slice */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   194
#define	DM_DEVICEID		"deviceid"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   195
#define	DM_DEVT			"devt"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   196
#define	DM_INDEX		"index"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   197
#define	DM_EFI_NAME		"name"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   198
#define	DM_MOUNTPOINT		"mountpoint"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   199
#define	DM_LOCALNAME		"localname"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   200
#define	DM_START		"start"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   201
#define	DM_TAG			"tag"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   202
#define	DM_FLAG			"flag"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   203
#define	DM_EFI			"efi"	/* also on media */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   204
#define	DM_USED_BY		"used_by"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   205
#define	DM_USED_NAME		"used_name"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   206
#define	DM_USE_MOUNT		"mount"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   207
#define	DM_USE_SVM		"svm"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   208
#define	DM_USE_LU		"lu"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   209
#define	DM_USE_DUMP		"dump"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   210
#define	DM_USE_VXVM		"vxvm"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   211
#define	DM_USE_FS		"fs"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   212
#define	DM_USE_VFSTAB		"vfstab"
767
0aa24dfb5d87 PSARC 2004/776 device checking for fs utilities
sjelinek
parents: 0
diff changeset
   213
#define	DM_USE_ZPOOL		"zpool"
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   214
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   215
/* event */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   216
#define	DM_EV_NAME		"name"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   217
#define	DM_EV_DTYPE		"edtype"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   218
#define	DM_EV_TYPE		"evtype"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   219
#define	DM_EV_TADD		"add"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   220
#define	DM_EV_TREMOVE		"remove"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   221
#define	DM_EV_TCHANGE		"change"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   222
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   223
/* findisks */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   224
#define	DM_CTYPE		"ctype"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   225
#define	DM_LUN			"lun"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   226
#define	DM_TARGET		"target"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   227
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   228
void			dm_free_descriptors(dm_descriptor_t *desc_list);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   229
void			dm_free_descriptor(dm_descriptor_t desc);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   230
void			dm_free_name(char *name);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   231
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   232
dm_descriptor_t		*dm_get_descriptors(dm_desc_type_t type, int filter[],
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   233
			    int *errp);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   234
dm_descriptor_t		*dm_get_associated_descriptors(dm_descriptor_t desc,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   235
			    dm_desc_type_t type, int *errp);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   236
dm_desc_type_t		*dm_get_associated_types(dm_desc_type_t type);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   237
dm_descriptor_t		dm_get_descriptor_by_name(dm_desc_type_t desc_type,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   238
			    char *name, int *errp);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   239
char			*dm_get_name(dm_descriptor_t desc, int *errp);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   240
dm_desc_type_t		dm_get_type(dm_descriptor_t desc);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   241
nvlist_t		*dm_get_attributes(dm_descriptor_t desc, int *errp);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   242
nvlist_t		*dm_get_stats(dm_descriptor_t desc, int stat_type,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   243
			    int *errp);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   244
void			dm_init_event_queue(void(*callback)(nvlist_t *, int),
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   245
			    int *errp);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   246
nvlist_t		*dm_get_event(int *errp);
767
0aa24dfb5d87 PSARC 2004/776 device checking for fs utilities
sjelinek
parents: 0
diff changeset
   247
void			dm_get_slices(char *drive, dm_descriptor_t **slices,
0aa24dfb5d87 PSARC 2004/776 device checking for fs utilities
sjelinek
parents: 0
diff changeset
   248
			    int *errp);
0aa24dfb5d87 PSARC 2004/776 device checking for fs utilities
sjelinek
parents: 0
diff changeset
   249
void			dm_get_slice_stats(char *slice, nvlist_t **dev_stats,
0aa24dfb5d87 PSARC 2004/776 device checking for fs utilities
sjelinek
parents: 0
diff changeset
   250
			    int *errp);
0aa24dfb5d87 PSARC 2004/776 device checking for fs utilities
sjelinek
parents: 0
diff changeset
   251
void			dm_get_usage_string(char *who, char *data, char **msg);
0aa24dfb5d87 PSARC 2004/776 device checking for fs utilities
sjelinek
parents: 0
diff changeset
   252
int			dm_inuse(char *dev_name, char **msg, dm_who_type_t who,
0aa24dfb5d87 PSARC 2004/776 device checking for fs utilities
sjelinek
parents: 0
diff changeset
   253
			    int *errp);
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   254
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   255
#ifdef __cplusplus
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   256
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   257
#endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   258
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   259
#endif /* _LIBDISKMGT_H */