chiark / gitweb /
[PATCH] Add Red Hat rules and permissions files
[elogind.git] / udevinfo.c
index defed2ee31a96e38aeaae3d0346323d2af778097..b15f174e4032706d5c36fee31cadb8bc0fb0de50 100644 (file)
@@ -122,7 +122,8 @@ enum query_type {
        SYMLINK,
        MODE,
        OWNER,
-       GROUP
+       GROUP,
+       ALL
 };
 
 static int print_device_chain(const char *path)
@@ -148,7 +149,14 @@ static int print_device_chain(const char *path)
                retval = -1;
                goto exit;
        }
-       printf("\ndevice '%s' has major:minor %s", class_dev->path, attr->value);
+
+       printf("\nudevinfo starts with the device the node belongs to and then walks up the\n"
+              "device chain to print for every device found all possibly useful attributes\n"
+              "in the udev key format.\n"
+              "Only attributes within one device section may be used in a rule to match the\n"
+              "device for which the node will be created.\n"
+              "\n");
+       printf("device '%s' has major:minor %s", class_dev->path, attr->value);
        sysfs_close_attribute(attr);
 
        /* open sysfs class device directory and print all attributes */
@@ -258,6 +266,11 @@ static int process_options(void)
                                break;
                        }
 
+                       if (strcmp(optarg, "all") == 0) {
+                               query = ALL;
+                               break;
+                       }
+
                        printf("unknown query type\n");
                        exit(1);
 
@@ -366,6 +379,10 @@ print:
                        strfieldcpy(result, path);
                        break;
 
+               case ALL:
+                       print_record(path, &dev);
+                       goto exit;
+
                default:
                        goto exit;
                }
@@ -406,8 +423,10 @@ help:
               "             'owner'   of node\n"
               "             'group'   of node\n"
               "             'path'    sysfs device path\n"
+              "             'all'     all values\n"
+              "\n"
               "  -p PATH  sysfs device path used for query or chain\n"
-              "  -n NAME  node name used for query\n"
+              "  -n NAME  node/symlink name used for query\n"
               "\n"
               "  -r       print udev root\n"
               "  -a       print all SYSFS_attributes along the device chain\n"