Lines Matching defs:node

209 /* last devinfo node/minor processed. used for performance */
986 di_node_t node;
997 node = di_init_driver(dcip->dci_driver, flags);
1001 node = di_init(dcip->dci_root, flags);
1006 if (node == DI_NODE_NIL) {
1024 devi_root_node = node; /* protected by lock_dev() */
1028 (void) di_walk_minor(node, NULL, DI_CHECK_ALIAS, dcip,
1041 node, dcip->dci_minor);
1050 di_fini(node);
1074 (void) check_minor_type(mp->node, mp->minor, dcip);
1754 * Kernel logs a message when a devinfo node is attached. Try to create
1755 * /dev and /devices for each minor node. minorname can be NULL.
1758 add_minor_pathname(char *node, char *minor, char *ev_subclass)
1763 node, minor ? minor : "NULL");
1765 dca_impl_init(node, minor, &dci);
1794 is_descendent_of(di_node_t node, char *driver)
1796 while (node != DI_NODE_NIL) {
1797 char *drv = di_driver_name(node);
1800 node = di_parent_node(node);
1806 * Checks the minor type. If it is an alias node, then lookup
1807 * the real node/minor first, then call minor_process() to
1811 check_minor_type(di_node_t node, di_minor_t minor, void *arg)
1832 ((dcip->dci_driver && !is_descendent_of(node, dcip->dci_driver)) ||
1846 minor_process(node, minor, dep);
1862 * cache "alias" minor node and free "clone" minor
1866 cache_deferred_minor(dep, node, minor);
1878 * This is the entry point for each minor node, whether walking
1880 * for a single devinfo node (via hotplug ndi_devi_online()).
1884 minor_process(di_node_t node, di_minor_t minor, struct mlist *dep)
1889 vprint(CHATTY_MID, "minor_process: node=%s, minor=%s\n",
1890 di_node_name(node), di_minor_name(minor));
1895 * Reset /devices node to minor_perm perm/ownership
1899 reset_node_permissions(node, minor);
1917 if (process_devlink_compat(minor, node) == TRUE) {
1931 if ((minor_matches_rule(node, minor, create) == TRUE) &&
1958 (minor, node) == DEVFSADM_TERMINATE) {
1965 cache_deferred_minor(dep, node, minor);
1970 * Cache node and minor in defer list.
1975 di_node_t node,
1981 vprint(CHATTY_MID, "%s node=%s, minor=%s\n", fcn,
1982 di_node_name(node), di_minor_name(minor));
1991 mp->node = node;
2005 * Check to see if "create" link creation rule matches this node/minor.
2009 minor_matches_rule(di_node_t node, di_minor_t minor, create_list_t *create)
2041 m_drvname = di_driver_name(node);
2474 * Creates a symlink 'link' to the physical path of node:minor.
2479 devfsadm_mklink(char *link, di_node_t node, di_minor_t minor, int flags)
2494 if ((node == lnode) && (minor == lminor)) {
2503 if ((dev_path = di_devfs_path(node)) == NULL) {
2570 int instance = di_instance(node);
2753 /* dirpath to node doesn't exist */
2858 * minor node using a snapshot on the physical path
2866 di_node_t node;
2883 node = di_init(pwd_buf, DINFOMINOR);
2886 if (node) {
2887 drv = di_driver_name(node);
2913 di_fini(node);
2965 * Reset /devices node with appropriate permissions and
2969 reset_node_permissions(di_node_t node, di_minor_t minor)
2981 if ((dev_path = di_devfs_path(node)) == NULL) {
3001 lnode = node;
3109 * Removes logical link and the minor node it refers to. If file is a
3110 * link, we recurse and try to remove the minor node (or link if path is
3269 * its logical link will change, while the physical node remains the same.
3292 devfsadm_rm_stale_links(char *dir_re, char *valid_link, di_node_t node,
3305 if ((node == lnode) && (minor == lminor)) {
3308 if ((dev_path = di_devfs_path(node)) == NULL) {
4227 * containing the physical node pathname to be removed.
4482 /* We *don't* want a stat of the /devices node */
4620 /* Current link points at a /devices minor node */
5110 * node matching X since the information desired in the devfspath would be
5734 * node if it is a minor node, otherwise, to the first char of
6141 * searched for every minor node.
6538 * Called for each minor node devfsadm processes; for each minor node,
6544 process_devlink_compat(di_minor_t minor, di_node_t node)
6554 if ((dev_path = di_devfs_path(node)) != NULL) {
6570 if (devlink_matches(entry, minor, node) == DEVFSADM_SUCCESS) {
6572 (void) build_links(entry, minor, node);
6580 * field matches this minor node. If it does, return DEVFSADM_SUCCESS,
6584 devlink_matches(devlinktab_list_t *entry, di_minor_t minor, di_node_t node)
6594 if (strcmp(di_node_name(node), selector->val) != 0) {
6606 if ((addr = di_bus_addr(node)) == NULL) {
6644 * For the given minor node and devlinktab_list entry from devlink.tab,
6649 build_links(devlinktab_list_t *entry, di_minor_t minor, di_node_t node)
6656 if ((dev_path = di_devfs_path(node)) == NULL) {
6668 minor, node, entry->p_link_pattern) == DEVFSADM_FAILURE) {
6671 (void) devfsadm_mklink(primary_link, node, minor, 0);
6678 minor, node, entry->s_link_pattern) == DEVFSADM_FAILURE) {
6730 di_minor_t minor, di_node_t node, char *pattern)
6745 (void) strcat(link, di_node_name(node));
6751 if (component_cat(link, di_bus_addr(node),
6753 node_path = di_devfs_path(node);
6763 node_path = di_devfs_path(node);
7166 node_name = strrchr(devname, '/'); /* node name is the last */
7800 * returns DEVFSADM_TRUE if contents is a minor node in /devices.
7802 * if contents is a /dev node, mn_root = contents
7804 * if contents is a /devices node, mn_root set to the '/'
7993 * phys_path is path to a node or minor node.
8193 di_node_t node, char *driver_name, int instance, char *minor)
8260 * The raw minor node is created or removed after the block
8261 * node. Lofi devfs events are dependent on this behavior.
8262 * Generate the sysevent only for the raw minor node.
8269 * type of minor node for lookup_lofi_dev_name()
8308 for (prop = di_prop_next(node, DI_PROP_NIL);
8310 prop = di_prop_next(node, prop)) {
8336 * If a lofi mount fails, the /devices node may well have
8413 di_node_t node, char *minor)
8418 class, subclass, node_path, (int)node);
8420 if (node != DI_NODE_NIL)
8421 nvl = build_event_attributes(class, subclass, node_path, node,
8422 di_driver_name(node), di_instance(node), minor);
8424 nvl = build_event_attributes(class, subclass, node_path, node,