summaryrefslogtreecommitdiff
path: root/udev_db.c
diff options
context:
space:
mode:
authorKay Sievers <kay.sievers@suse.de>2005-06-26 18:55:24 +0200
committerKay Sievers <kay.sievers@suse.de>2005-06-26 18:55:24 +0200
commitb8476286d62c82a1a0bd8de318aa3f7d835222a0 (patch)
tree37d3071c2767f819440083e34c5e68efde584b60 /udev_db.c
parent208f6aba21199ff4f93002eeb948d564f76843e6 (diff)
store the imported device information in the udevdb
Any program can query with udevinfo for persistent device attributes evaluated on device discovery now. Signed-off-by: Kay Sievers <kay.sievers@suse.de>
Diffstat (limited to 'udev_db.c')
-rw-r--r--udev_db.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/udev_db.c b/udev_db.c
index afbd50e50f..264af79d06 100644
--- a/udev_db.c
+++ b/udev_db.c
@@ -86,7 +86,8 @@ int udev_db_add_device(struct udevice *udev)
fprintf(f, "M:%u:%u\n", major(udev->devt), minor(udev->devt));
fprintf(f, "A:%u\n", udev->partitions);
fprintf(f, "R:%u\n", udev->ignore_remove);
-
+ list_for_each_entry(name_loop, &udev->env_list, node)
+ fprintf(f, "E:%s\n", name_loop->name);
fclose(f);
return 0;
@@ -149,6 +150,12 @@ static int parse_db_file(struct udevice *udev, const char *filename)
strlcpy(line, &bufline[2], count-1);
udev->ignore_remove = atoi(line);
break;
+ case 'E':
+ if (count > sizeof(line))
+ count = sizeof(line);
+ strlcpy(line, &bufline[2], count-1);
+ name_list_add(&udev->env_list, line, 0);
+ break;
}
}
file_unmap(buf, bufsize);