X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=udevinfo.c;h=ffc5e31f04ac58bbbeb24909c3dd954bcafe256f;hb=0a5417a0ebe92f96fb103399c9aacdf39c719271;hp=defed2ee31a96e38aeaae3d0346323d2af778097;hpb=c472e3c89b9aaad90ad6398c0d2ff5dcf5a9d238;p=elogind.git diff --git a/udevinfo.c b/udevinfo.c index defed2ee3..ffc5e31f0 100644 --- a/udevinfo.c +++ b/udevinfo.c @@ -41,7 +41,7 @@ char **main_argv; int main_argc; #ifdef LOG -unsigned char logname[42]; +unsigned char logname[LOGNAME_SIZE]; void log_message (int level, const char *format, ...) { va_list args; @@ -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 together in one rule,\n" + "to match the 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"