diff options
Diffstat (limited to 'usr/src/cmd/devfsadm/devfsadm.h')
| -rw-r--r-- | usr/src/cmd/devfsadm/devfsadm.h | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/usr/src/cmd/devfsadm/devfsadm.h b/usr/src/cmd/devfsadm/devfsadm.h index 4688e6043c..ae6216eb89 100644 --- a/usr/src/cmd/devfsadm/devfsadm.h +++ b/usr/src/cmd/devfsadm/devfsadm.h @@ -55,6 +55,7 @@ extern "C" { #define ILEVEL_9 9 #define DEVFSADM_V0 0 +#define DEVFSADM_V1 1 #define DEVFSADM_CONTINUE 0 #define DEVFSADM_TERMINATE 1 @@ -66,6 +67,7 @@ extern "C" { #define RM_PRE 0x02 #define RM_POST 0x04 #define RM_ALWAYS 0x08 +#define RM_NOINTERPOSE 0x10 #define TYPE_EXACT 0x01 #define TYPE_RE 0x02 @@ -109,9 +111,17 @@ typedef struct devfsadm_remove { char *dev_dirs_re; /* dev dirs regex selector */ int flags; /* eg POST, PRE, HOT, ALWAYS */ int interpose_lvl; /* eg ILEVEL_0 .. ILEVEL_10 */ - void (*callback_fcn)(char *logical_link); + void (*callback_fcn)(char *); } devfsadm_remove_t; +typedef struct devfsadm_remove_V1 { + char *device_class; /* eg "disk", "tape", "display" */ + char *dev_dirs_re; /* dev dirs regex selector */ + int flags; /* eg POST, PRE, HOT, ALWAYS */ + int interpose_lvl; /* eg ILEVEL_0 .. ILEVEL_10 */ + int (*callback_fcn)(char *); +} devfsadm_remove_V1_t; + typedef struct _devfsadm_create_reg { uint_t version; uint_t count; /* number of node type registration */ @@ -126,6 +136,12 @@ typedef struct _devfsadm_remove_reg { devfsadm_remove_t *tblp; } _devfsadm_remove_reg_t; +typedef struct _devfsadm_remove_reg_V1 { + uint_t version; + uint_t count; /* number of node type registration */ + /* structures */ + devfsadm_remove_V1_t *tblp; +} _devfsadm_remove_reg_V1_t; /* * "flags" in the devfs_enumerate structure can take the following values. * These values specify the substring of devfs path to be used for @@ -167,6 +183,12 @@ typedef struct devfsadm_enumerate { (sizeof (tbl) / sizeof (devfsadm_remove_t)), \ ((devfsadm_remove_t *)(tbl)) } +#define DEVFSADM_REMOVE_INIT_V1(tbl)\ + _devfsadm_remove_reg_V1_t _devfsadm_remove_reg = {\ + DEVFSADM_V1, \ + (sizeof (tbl) / sizeof (devfsadm_remove_V1_t)), \ + ((devfsadm_remove_V1_t *)(tbl)) } + int devfsadm_noupdate(void); const char *devfsadm_root_path(void); int devfsadm_link_valid(char *link); |
