-/* reverse mapping from the device file name to the devpath */
-static int name_index(struct udev *udev, const char *devpath, const char *name, int add)
-{
- char device[UTIL_PATH_SIZE];
- char filename[UTIL_PATH_SIZE * 2];
- size_t devlen = strlen(udev_get_dev_path(udev))+1;
- size_t start;
- int fd;
-
- /* directory with device name */
- util_strlcpy(filename, udev_get_dev_path(udev), sizeof(filename));
- start = util_strlcat(filename, "/.udev/names/", sizeof(filename));
- util_strlcat(filename, &name[devlen], sizeof(filename));
- util_path_encode(&filename[start], sizeof(filename) - start);
- /* entry with the devpath */
- util_strlcpy(device, devpath, sizeof(device));
- util_path_encode(device, sizeof(device));
- util_strlcat(filename, "/", sizeof(filename));
- util_strlcat(filename, device, sizeof(filename));
-
- if (add) {
- dbg(udev, "creating index: '%s'\n", filename);
- util_create_path(udev, filename);
- fd = open(filename, O_WRONLY|O_TRUNC|O_CREAT, 0644);
- if (fd > 0)
- close(fd);
- } else {
- dbg(udev, "removing index: '%s'\n", filename);
- unlink(filename);
- util_delete_path(udev, filename);
- }
- return 0;
-}
-