summaryrefslogtreecommitdiff
path: root/usr/src/cmd/devfsadm/devfsadm_impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/cmd/devfsadm/devfsadm_impl.h')
-rw-r--r--usr/src/cmd/devfsadm/devfsadm_impl.h63
1 files changed, 21 insertions, 42 deletions
diff --git a/usr/src/cmd/devfsadm/devfsadm_impl.h b/usr/src/cmd/devfsadm/devfsadm_impl.h
index d73da6d5bd..3c22b42322 100644
--- a/usr/src/cmd/devfsadm/devfsadm_impl.h
+++ b/usr/src/cmd/devfsadm/devfsadm_impl.h
@@ -71,10 +71,13 @@ extern "C" {
#include <message.h>
#include <sys/cladm.h>
#include <librcm.h>
-#include <sys/sysevent/eventdefs.h>
#include <sys/sysevent/dev.h>
#include <libzonecfg.h>
#include <device_info.h>
+#include <sys/fs/sdev_node.h>
+#include <sys/syscall.h>
+#include <rpcsvc/ypclnt.h>
+#include <sys/sysevent/eventdefs.h>
#undef DEBUG
#ifndef DEBUG
@@ -90,6 +93,8 @@ extern "C" {
#define DAEMON_LOCK_FILE ".devfsadm_daemon.lock"
#define DEV "/dev"
+#define ETC "/etc"
+#define ETCDEV "/etc/dev"
#define DEV_LEN 4
#define DEVICES "/devices"
#define DEVICES_LEN 8
@@ -107,32 +112,8 @@ extern "C" {
#define MINOR_FINI_TIMEOUT_DEFAULT 2
#define FORCE_CALL_MINOR_FINI 10
-
#define SYNCH_DOOR_PERMS (S_IRUSR | S_IWUSR)
-#define ZONE_DOOR_PERMS (S_IRUSR | S_IWUSR)
-#define ZONE_REG_DOOR ".zone_reg_door"
-
-enum zreg_op {
- ZONE_REG = 1,
- ZONE_UNREG = 2
-};
-
-enum zreg_err {
- ZONE_SUCCESS = 0,
- ZONE_ERR_NOZONE = 1,
- ZONE_ERR_DOOR = 2,
- ZONE_ERR_REPOSITORY = 3,
- ZONE_ERR_NOLIB = 4
-};
-
-struct zreg {
- char zreg_zonename[ZONENAME_MAX];
- enum zreg_op zreg_op;
- enum zreg_err zreg_error;
- int zreg_errno;
-};
-
#define DRVCONFIG "drvconfig"
#define DEVFSADM "devfsadm"
#define DEVFSADMD "devfsadmd"
@@ -223,7 +204,9 @@ struct zreg {
#define LINKCACHE_MID "devfsadm:linkcache"
#define ADDREMCACHE_MID "devfsadm:addremcache"
#define MALLOC_MID "devfsadm:malloc"
-#define ZONE_MID "devfsadm:zone"
+#define READDIR_MID "devfsadm:readdir"
+#define READDIR_ALL_MID "devfsadm:readdir_all"
+#define DEVNAME_MID "devfsadm:devname"
#define ALL_MID "all"
#define DEVFSADM_DEBUG_ON (verbose == NULL) ? FALSE : TRUE
@@ -376,13 +359,6 @@ struct dca_impl {
int dci_flags;
};
-struct zone_devinfo {
- struct zone_devinfo *zone_next;
- char *zone_path;
- char *zone_name;
- zone_dochandle_t zone_dochdl;
-};
-
/* RCM related */
struct rcm_eventq {
nvlist_t *nvl;
@@ -393,7 +369,7 @@ static int devfsadm_enumerate_int_start(char *devfs_path,
int index, char **buf, devfsadm_enumerate_t rules[],
int nrules, char *start);
static void startup_cache_sync_thread(void);
-static void set_root_devices_dev_dir(char *dir, int zone_mode);
+static void set_root_devices_dev_dir(char *dir);
static void pre_and_post_cleanup(int flags);
static void hot_cleanup(char *, char *, char *, char *, int);
static void devfsadm_exit(int status);
@@ -499,14 +475,6 @@ static int lookup_enum_cache(numeral_set_t *set, char *cmp_str,
devfsadm_enumerate_t rules[], int index, numeral_t **matchnpp);
static void sync_handler(void *cookie, char *ap, size_t asize,
door_desc_t *dp, uint_t ndesc);
-static void zlist_insert(struct zone_devinfo *newzone);
-static void delete_zone(struct zone_devinfo *z);
-static struct zone_devinfo *zlist_remove(char *zone_name);
-static void zlist_deleteall_unlocked(void);
-static void call_zone_register(char *zone_name, int regop);
-static int register_all_zones(void);
-static void zone_reg_handler(void *cookie, char *ap, size_t asize,
- door_desc_t *dp, uint_t ndesc);
static int zone_pathcheck(char *checkpath);
static void process_deferred_links(struct dca_impl *dcip, int flag);
static void event_handler(sysevent_t *ev);
@@ -530,18 +498,29 @@ static nvlist_t *build_event_attributes(char *, char *, char *,
di_node_t, char *, int);
static void log_event(char *, char *, nvlist_t *);
static void build_and_log_event(char *, char *, char *, di_node_t);
+static char *dev_readdir(char *);
static void read_logindevperm_file(void);
static void set_logindev_perms(char *devlink);
static void reset_node_permissions(di_node_t, di_minor_t);
+/*
+ * devname related
+ */
+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 */
/* convenient short hands */
#define vprint devfsadm_print
#define err_print devfsadm_errprint
+#ifndef TRUE
#define TRUE 1
+#endif
+#ifndef FALSE
#define FALSE 0
+#endif
#ifdef __cplusplus
}