summaryrefslogtreecommitdiff
path: root/usr/src/lib/libdevinfo/libdevinfo.h
diff options
context:
space:
mode:
authorvikram <none@none>2007-08-09 21:43:47 -0700
committervikram <none@none>2007-08-09 21:43:47 -0700
commit25e8c5aa2b496d9026e958ac731a610167574f59 (patch)
tree48d445f55e23f769f3981231d5b06b0b35505b33 /usr/src/lib/libdevinfo/libdevinfo.h
parentffcd51f34e6cd303b9745909c4632da63426be17 (diff)
downloadillumos-joyent-25e8c5aa2b496d9026e958ac731a610167574f59.tar.gz
PSARC 2007/290 Retire Agent for I/O Devices
6464720 Deliver a FMA I/O retire agent --HG-- rename : usr/src/cmd/fm/modules/common/io-retire/ior_main.c => deleted_files/usr/src/cmd/fm/modules/common/io-retire/ior_main.c
Diffstat (limited to 'usr/src/lib/libdevinfo/libdevinfo.h')
-rw-r--r--usr/src/lib/libdevinfo/libdevinfo.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/usr/src/lib/libdevinfo/libdevinfo.h b/usr/src/lib/libdevinfo/libdevinfo.h
index ad08502628..bdb4fa2238 100644
--- a/usr/src/lib/libdevinfo/libdevinfo.h
+++ b/usr/src/lib/libdevinfo/libdevinfo.h
@@ -355,6 +355,11 @@ extern void *di_parent_private_data(di_node_t node);
extern void *di_driver_private_data(di_node_t node);
/*
+ * The value of the dip's devi_flags field
+ */
+uint_t di_flags(di_node_t node);
+
+/*
* Types of links for devlink lookup
*/
#define DI_PRIMARY_LINK 0x01
@@ -412,6 +417,19 @@ extern int di_devlink_cache_walk(di_devlink_handle_t hdp, const char *re,
int (*devlink_callback)(di_devlink_t, void *));
/*
+ * Private interfaces for I/O retire
+ */
+typedef struct di_retire {
+ void *rt_hdl;
+ void (*rt_abort)(void *hdl, const char *format, ...);
+ void (*rt_debug)(void *hdl, const char *format, ...);
+} di_retire_t;
+
+extern int di_retire_device(char *path, di_retire_t *dp, int flags);
+extern int di_unretire_device(char *path, di_retire_t *dp);
+extern uint_t di_retired(di_node_t node);
+
+/*
* Private interfaces for /etc/logindevperm
*/
extern int di_devperm_login(const char *, uid_t, gid_t, void (*)(char *));