summaryrefslogtreecommitdiff
path: root/usr/src/cmd/devfsadm/devfsadm_impl.h
diff options
context:
space:
mode:
authorvikram <none@none>2006-10-02 14:44:57 -0700
committervikram <none@none>2006-10-02 14:44:57 -0700
commitaa646b9dad0e03cc01e7fe5bea924c5267e2df75 (patch)
tree384911d82a5925b707e1d508b09595c38f609130 /usr/src/cmd/devfsadm/devfsadm_impl.h
parentf67ca41a3fe371a8ac34045eb45b3c5449ee601c (diff)
downloadillumos-gate-aa646b9dad0e03cc01e7fe5bea924c5267e2df75.tar.gz
6462748 devfsadm link removal does not provide full interpose support
Diffstat (limited to 'usr/src/cmd/devfsadm/devfsadm_impl.h')
-rw-r--r--usr/src/cmd/devfsadm/devfsadm_impl.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/usr/src/cmd/devfsadm/devfsadm_impl.h b/usr/src/cmd/devfsadm/devfsadm_impl.h
index 3c22b42322..5c72e8124f 100644
--- a/usr/src/cmd/devfsadm/devfsadm_impl.h
+++ b/usr/src/cmd/devfsadm/devfsadm_impl.h
@@ -149,6 +149,7 @@ extern "C" {
#define LDEV_DRV_DELIMS ", \t\n"
#define LDEV_DEV_DELIM ":"
#define LDEV_DRVLIST_NAME "driver"
+#define NFP_HASH_SZ 256
#define TYPE_LINK 0x00
#define TYPE_DEVICES 0x01
@@ -284,11 +285,16 @@ struct mlist {
};
typedef struct remove_list {
- devfsadm_remove_t *remove;
+ devfsadm_remove_V1_t *remove;
module_t *modptr;
struct remove_list *next;
} remove_list_t;
+typedef struct item {
+ char *i_key;
+ struct item *i_next;
+} item_t;
+
typedef struct cleanup_data {
int flags;
char *phypath;
@@ -416,7 +422,7 @@ static void recurse_dev_re(char *current_dir, char *path_re, recurse_dev_t *rd);
static void matching_dev(char *devpath, void *data);
static int resolve_link(char *devpath, char **content_p, int *type_p,
char **devfs_path, int dangle);
-static int clean_ok(devfsadm_remove_t *remove);
+static int clean_ok(devfsadm_remove_V1_t *remove);
static int translate_major(dev_t old_dev, dev_t *new_dev);
static int get_major_no(char *driver, major_t *major);
static int load_n2m_table(char *filename);
@@ -511,6 +517,11 @@ static void reset_node_permissions(di_node_t, di_minor_t);
static void devname_lookup_handler(void *, char *, size_t,
door_desc_t *, uint_t); /* /dev name lookup server */
static int devname_kcall(int, void *); /* syscall into the devname fs */
+static void nfphash_create(void);
+static int nfphash_fcn(char *key);
+static item_t *nfphash_lookup(char *key);
+static void nfphash_insert(char *key);
+static void nfphash_destroy(void);
/* convenient short hands */
#define vprint devfsadm_print