#include "libsysfs/sysfs/libsysfs.h"
#include "libsysfs/dlist.h"
#include "udev.h"
+#include "udev_lib.h"
#include "udev_version.h"
#include "logging.h"
#include "udevdb.h"
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;
SYMLINK,
MODE,
OWNER,
- GROUP
+ GROUP,
+ ALL
};
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 */
break;
}
+ if (strcmp(optarg, "all") == 0) {
+ query = ALL;
+ break;
+ }
+
printf("unknown query type\n");
exit(1);
strfieldcpy(result, path);
break;
+ case ALL:
+ print_record(path, &dev);
+ goto exit;
+
default:
goto exit;
}
" '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"