#include "udev.h"
#include "udev_version.h"
#include "udev_dbus.h"
+#include "logging.h"
#include "namedev.h"
#include "udevdb.h"
#include "libsysfs/libsysfs.h"
return seqnum;
}
+static void print_record(char *path, struct udevice *dev)
+{
+ printf("P: %s\n", path);
+ printf("N: %s\n", dev->name);
+ printf("S: %s\n", dev->symlink);
+ printf("O: %s\n", dev->owner);
+ printf("G: %s\n", dev->group);
+ printf("\n");
+}
+
enum query_type {
NONE,
NAME,
static inline int udev_user(int argc, char **argv)
{
- static const char short_options[] = "p:q:rVh";
+ static const char short_options[] = "dp:q:rVh";
int option;
int retval = -EINVAL;
struct udevice dev;
root = 1;
break;
+ case 'd':
+ retval = udevdb_open_ro();
+ if (retval != 0) {
+ printf("unable to open udev database\n");
+ return -EACCES;
+ }
+ retval = udevdb_dump(print_record);
+ udevdb_exit();
+ return retval;
+
case 'V':
printf("udev, version %s\n", UDEV_VERSION);
return 0;
}
help:
- printf("Usage: [-qrVh]\n"
- " -q <name> query database for the specified value\n"
- " -p <path> device path used for query\n"
- " -r print udev root\n"
- " -V print udev version\n"
- " -h print this help text\n"
+ printf("Usage: [-pqrdVh]\n"
+ " -q TYPE query database for the specified value:\n"
+ " 'name' name of device node\n"
+ " 'symlink' pointing to node\n"
+ " 'owner' of node\n"
+ " 'group' of node\n"
+ " -p PATH sysfs device path used for query\n"
+ " -r print udev root\n"
+ " -d dump whole database\n"
+ " -V print udev version\n"
+ " -h print this help text\n"
"\n");
return retval;
}
"net",
"scsi_host",
"scsi_device",
+ "usb_host",
+ "pci_bus",
"",
};