summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/sys/modctl.h
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/common/sys/modctl.h')
-rw-r--r--usr/src/uts/common/sys/modctl.h29
1 files changed, 26 insertions, 3 deletions
diff --git a/usr/src/uts/common/sys/modctl.h b/usr/src/uts/common/sys/modctl.h
index d2f4cfd803..1093eddef6 100644
--- a/usr/src/uts/common/sys/modctl.h
+++ b/usr/src/uts/common/sys/modctl.h
@@ -2,9 +2,8 @@
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* or http://www.opensolaris.org/os/licensing.
@@ -79,6 +78,7 @@ extern struct mod_ops mod_syscallops32;
extern struct mod_ops mod_dacfops;
extern struct mod_ops mod_ippops;
extern struct mod_ops mod_pcbeops;
+extern struct mod_ops mod_devfsops;
#endif /* _KERNEL */
@@ -175,6 +175,13 @@ struct modlpcbe {
struct __pcbe_ops *pcbe_ops;
};
+/* for devname fs */
+struct modldev {
+ struct mod_ops *dev_modops;
+ char *dev_linkinfo;
+ struct devname_ops *dev_ops;
+};
+
/*
* Revision number of loadable modules support. This is the value
* that must be used in the modlinkage structure.
@@ -238,6 +245,9 @@ struct modlinkage {
#define MODADDMINORPERM 32
#define MODREMMINORPERM 33
#define MODREMDRVCLEANUP 34
+#define MODDEVEXISTS 35
+#define MODDEVREADDIR 36
+#define MODDEVNAME 37
/*
* sub cmds for MODEVENTS
@@ -251,6 +261,17 @@ struct modlinkage {
#define MODEVENTS_REGISTER_EVENT 6
/*
+ * devname subcmds for MODDEVNAME
+ */
+#define MODDEVNAME_LOOKUPDOOR 0
+#define MODDEVNAME_DEVFSADMNODE 1
+#define MODDEVNAME_NSMAPS 2
+#define MODDEVNAME_PROFILE 3
+#define MODDEVNAME_RECONFIG 4
+#define MODDEVNAME_SYSAVAIL 5
+
+
+/*
* Data structure passed to modconfig command in kernel to build devfs tree
*/
@@ -473,6 +494,7 @@ typedef struct modctl {
#define MOD_NONOTIFY 0x2 /* No krtld notifications on (un)load */
#define MOD_NOUNLOAD 0x4 /* Assume EBUSY for all _fini's */
+
#ifdef _KERNEL
#define MOD_BIND_HASHSIZE 64
@@ -540,6 +562,7 @@ extern struct dev_ops *mod_hold_dev_by_devi(dev_info_t *);
extern void mod_rele_dev_by_devi(dev_info_t *);
extern int make_devname(char *, major_t);
+extern int gmatch(const char *, const char *);
struct bind;
extern void make_aliases(struct bind **);