devfs_node
struct devfs_node *link_target; /* target of this autolink-type node */
TAILQ_ENTRY(devfs_node) link;
TAILQ_HEAD(, devfs_node) list; /* linked list of children */
struct devfs_node *node;
struct devfs_node *root_node;
struct devfs_node *node;
TAILQ_HEAD(devfs_node_head, devfs_node);
typedef void* (devfs_iterate_callback_t)(struct devfs_node *, void *);
#define DEVFS_NODE(x) ((struct devfs_node *)((x)->v_data))
int devfs_allocv(struct vnode **, struct devfs_node *);
struct devfs_node *devfs_allocp(devfs_nodetype, char *, struct devfs_node *,
struct devfs_node *, cdev_t);
void devfs_freep(struct devfs_node *);
void devfs_unlinkp(struct devfs_node *);
void devfs_tracer_add_orphan(struct devfs_node *);
void devfs_tracer_del_orphan(struct devfs_node *);
int devfs_set_perms(struct devfs_node *, uid_t, gid_t, u_short, u_long);
int devfs_gc(struct devfs_node *);
int devfs_create_all_dev(struct devfs_node *);
struct devfs_node *devfs_resolve_or_create_path(
struct devfs_node *, char *, int);
struct devfs_node *devfs_create_device_node(struct devfs_node *, cdev_t, int *,
int devfs_destroy_device_node(struct devfs_node *, cdev_t);
int devfs_destroy_node(struct devfs_node *, char *);
struct devfs_node *devfs_find_device_node_by_name(struct devfs_node *, char *);
int devfs_alias_create(char *, struct devfs_node *, int);
int devfs_node_is_accessible(struct devfs_node *);
void *devfs_iterate_topology(struct devfs_node *node,
void *devfs_find_device_node_callback(struct devfs_node *, cdev_t);
struct devfs_node *parent; /* parent of this node */
void *devfs_rule_check_apply(struct devfs_node *, void *);
void *devfs_rule_reset_node(struct devfs_node *, void *);
static int devfs_create_all_dev_worker(struct devfs_node *);
struct devfs_node *node;
node = (struct devfs_node *)msg->mdv_load;
static struct devfs_node *devfs_resolve_or_create_dir(struct devfs_node *,
static int devfs_alias_apply(struct devfs_node *, struct devfs_alias *);
static int devfs_alias_check_create(struct devfs_node *);
static void *devfs_reaperp_callback(struct devfs_node *, void *);
static void *devfs_gc_dirs_callback(struct devfs_node *, void *);
devfs_create_all_dev_worker(struct devfs_node *root)
static void *devfs_gc_links_callback(struct devfs_node *, struct devfs_node *);
devfs_inode_to_vnode_worker_callback(struct devfs_node *, ino_t *);
struct devfs_node *
devfs_alias_apply(struct devfs_node *node, struct devfs_alias *alias)
struct devfs_node *parent, struct mount *mp, cdev_t dev)
struct devfs_node *node1, *node2;
struct devfs_node *node = NULL;
devfs_alias_check_create(struct devfs_node *node)
devfs_alias_create(char *name_orig, struct devfs_node *target, int rule_based)
struct devfs_node *parent = DEVFS_MNTDATA(mp)->root_node;
struct devfs_node *linknode;
static struct devfs_node *
devfs_resolve_or_create_dir(struct devfs_node *parent, char *dir_name,
struct devfs_node *node, *found = NULL;
struct devfs_node *
devfs_resolve_or_create_path(struct devfs_node *parent, char *path, int create)
struct devfs_node *node = parent;
struct devfs_node *
devfs_create_device_node(struct devfs_node *root, cdev_t dev,
struct devfs_node *parent, *node = NULL;
devfs_find_device_node_callback(struct devfs_node *node, cdev_t target)
struct devfs_node *
devfs_find_device_node_by_name(struct devfs_node *parent, char *target)
struct devfs_node *node, *found = NULL;
devfs_inode_to_vnode_worker_callback(struct devfs_node *node, ino_t *inop)
devfs_destroy_device_node(struct devfs_node *root, cdev_t target)
devfs_destroy_node(struct devfs_node *root, char *target)
struct devfs_node *node, *parent;
devfs_set_perms(struct devfs_node *node, uid_t uid, gid_t gid,
devfs_tracer_add_orphan(struct devfs_node *node)
devfs_tracer_del_orphan(struct devfs_node *node)
devfs_node_is_accessible(struct devfs_node *node)
devfs_allocv(struct vnode **vpp, struct devfs_node *node)
char *name, struct devfs_node *parent, cdev_t dev)
struct devfs_node *node;
devfs_freep(struct devfs_node *node)
static void *devfs_alias_getvp(struct devfs_node *node)
struct devfs_node *found = node;
devfs_unlinkp(struct devfs_node *node)
struct devfs_node *parent;
struct devfs_node *target;
devfs_iterate_topology(struct devfs_node *node,
struct devfs_node *node1, *node2;
devfs_alias_reaper_callback(struct devfs_node *node, void *unused)
devfs_reaperp_callback(struct devfs_node *node, void *unused)
devfs_gc_dirs_callback(struct devfs_node *node, void *unused)
devfs_gc_links_callback(struct devfs_node *node, struct devfs_node *target)
devfs_gc(struct devfs_node *node)
struct devfs_node *root_node = DEVFS_MNTDATA(node->mp)->root_node;
sizeof(struct devfs_node), M_DEVFS };
devfs_create_all_dev(struct devfs_node *root)
devfs_rule_reset_node(struct devfs_node *node, void *unused)
devfs_rule_create_link(struct devfs_node *node, struct devfs_rule *rule)
devfs_rule_check_apply(struct devfs_node *node, void *unused)
devfs_rule_checkname(struct devfs_rule *rule, struct devfs_node *node)
struct devfs_node *parent = DEVFS_MNTDATA(node->mp)->root_node;
static void devfs_rule_create_link(struct devfs_node *, struct devfs_rule *);
static int devfs_rule_checkname(struct devfs_rule *, struct devfs_node *);
struct devfs_node *node;
struct devfs_node *node;
struct devfs_node *node;
struct devfs_node *node;
struct devfs_node *node;
struct devfs_node *node;
struct devfs_node *node;
struct devfs_node *node;
struct devfs_node *node;
node_sync_dev_get(struct devfs_node *node)
node_sync_dev_set(struct devfs_node *node)
struct devfs_node *node = DEVFS_NODE(ap->a_vp);
struct devfs_node *node = DEVFS_NODE(ap->a_vp);
struct devfs_node *node;
struct devfs_node *dnode = DEVFS_NODE(ap->a_vp);
struct devfs_node *node;
struct devfs_node *dnode = DEVFS_NODE(ap->a_dvp);
struct devfs_node *node, *found = NULL;
struct devfs_node *dnode = DEVFS_NODE(ap->a_dvp);
struct devfs_node *node = DEVFS_NODE(ap->a_vp);
struct devfs_node *node = DEVFS_NODE(ap->a_vp);
struct devfs_node *node = DEVFS_NODE(ap->a_vp);
struct devfs_node *dnode = DEVFS_NODE(ap->a_dvp);
struct devfs_node *node;
struct devfs_node *dnode = DEVFS_NODE(ap->a_dvp);
struct devfs_node *node;
struct devfs_node *dnode = DEVFS_NODE(ap->a_dvp);
struct devfs_node *node;
struct devfs_node *dnode = DEVFS_NODE(ap->a_dvp);
struct devfs_node *node;
struct devfs_node *node = DEVFS_NODE(vp);
struct devfs_node *newnode;
((struct devfs_node *)(TAILQ_LAST(DEVFS_DENODE_HEAD(node->parent), devfs_node_head)))->d_dir.d_name);
struct devfs_node devfs_node;
if (!kread(vp->v_data, &devfs_node, sizeof (devfs_node))) {
fsp->fileid = devfs_node.d_dir.d_ino;
fsp->mode = (devfs_node.mode & ~S_IFMT) | S_IFCHR;