chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[PATCH] Update writing udev rules docs
[elogind.git]
/
udevruler.c
diff --git
a/udevruler.c
b/udevruler.c
index af2cf7bb815372c2da530ffe3be5eff2b6fb9eac..a065591cd18bd6b3a6f36e5083b67f3516c7c94a 100644
(file)
--- a/
udevruler.c
+++ b/
udevruler.c
@@
-77,7
+77,7
@@
struct device {
char devpath[DEVPATH_SIZE];
int config_line;
char config_file[NAME_SIZE];
char devpath[DEVPATH_SIZE];
int config_line;
char config_file[NAME_SIZE];
-
time_t config_
time;
+
long config_up
time;
int added;
};
int added;
};
@@
-106,7
+106,7
@@
static int add_record(char *path, struct udevice *udev)
strfieldcpy(dev->devpath, path);
dev->config_line = udev->config_line;
strfieldcpy(dev->config_file, udev->config_file);
strfieldcpy(dev->devpath, path);
dev->config_line = udev->config_line;
strfieldcpy(dev->config_file, udev->config_file);
- dev->config_
time = udev->config_
time;
+ dev->config_
uptime = udev->config_up
time;
dev->added = 0;
/* sort in lexical order */
dev->added = 0;
/* sort in lexical order */
@@
-222,6
+222,7
@@
static int add_all_attributes(const char *path, int level)
}
}
}
}
+ sysfs_close_directory(sysfs_dir);
return 0;
}
return 0;
}
@@
-229,7
+230,6
@@
static int get_all_attributes(char *path)
{
struct sysfs_class_device *class_dev;
struct sysfs_class_device *class_dev_parent;
{
struct sysfs_class_device *class_dev;
struct sysfs_class_device *class_dev_parent;
- struct sysfs_attribute *attr;
struct sysfs_device *sysfs_dev;
struct sysfs_device *sysfs_dev_parent;
char key[NAME_SIZE];
struct sysfs_device *sysfs_dev;
struct sysfs_device *sysfs_dev_parent;
char key[NAME_SIZE];
@@
-246,16
+246,6
@@
static int get_all_attributes(char *path)
return -1;
}
return -1;
}
- /* read the 'dev' file for major/minor*/
- attr = sysfs_get_classdev_attr(class_dev, "dev");
- if (attr == NULL) {
- dbg("couldn't get the \"dev\" file");
- retval = -1;
- goto exit;
- }
-
- sysfs_close_attribute(attr);
-
/* open sysfs class device directory and get all attributes */
if (add_all_attributes(class_dev->path, level) != 0) {
dbg("couldn't open class device directory");
/* open sysfs class device directory and get all attributes */
if (add_all_attributes(class_dev->path, level) != 0) {
dbg("couldn't open class device directory");
@@
-266,11
+256,10
@@
static int get_all_attributes(char *path)
/* get the device link (if parent exists look here) */
class_dev_parent = sysfs_get_classdev_parent(class_dev);
/* get the device link (if parent exists look here) */
class_dev_parent = sysfs_get_classdev_parent(class_dev);
- if (class_dev_parent != NULL) {
- //sysfs_close_class_device(class_dev);
- class_dev = class_dev_parent;
- }
- sysfs_dev = sysfs_get_classdev_device(class_dev);
+ if (class_dev_parent != NULL)
+ sysfs_dev = sysfs_get_classdev_device(class_dev_parent);
+ else
+ sysfs_dev = sysfs_get_classdev_device(class_dev);
/* look the device chain upwards */
while (sysfs_dev != NULL) {
/* look the device chain upwards */
while (sysfs_dev != NULL) {
@@
-290,13
+279,11
@@
static int get_all_attributes(char *path)
if (sysfs_dev_parent == NULL)
break;
if (sysfs_dev_parent == NULL)
break;
- //sysfs_close_device(sysfs_dev);
sysfs_dev = sysfs_dev_parent;
}
sysfs_dev = sysfs_dev_parent;
}
- sysfs_close_device(sysfs_dev);
exit:
exit:
-
//
sysfs_close_class_device(class_dev);
+ sysfs_close_class_device(class_dev);
return retval;
}
return retval;
}
@@
-308,7
+295,7
@@
int main(int argc, char *argv[]) {
char roottext[81];
char path[NAME_SIZE];
struct device *dev;
char roottext[81];
char path[NAME_SIZE];
struct device *dev;
-
time_t
time_last;
+
long
time_last;
int count_last;
newtInit();
int count_last;
newtInit();
@@
-332,13
+319,13
@@
int main(int argc, char *argv[]) {
/* look for last discovered device */
time_last = 0;
list_for_each_entry(dev, &device_list, list)
/* look for last discovered device */
time_last = 0;
list_for_each_entry(dev, &device_list, list)
- if (dev->config_time > time_last)
- time_last = dev->config_time;
+ if (dev->config_
up
time > time_last)
+ time_last = dev->config_
up
time;
/* skip if more than 16 recent devices */
count_last = 0;
list_for_each_entry(dev, &device_list, list) {
/* skip if more than 16 recent devices */
count_last = 0;
list_for_each_entry(dev, &device_list, list) {
- if (dev->config_time < time_last - 10)
+ if (dev->config_
up
time < time_last - 10)
continue;
count_last++;
}
continue;
count_last++;
}
@@
-347,7
+334,7
@@
int main(int argc, char *argv[]) {
if (count_last < 16) {
newtListboxAppendEntry(lbox, "--- last dicovered ---", NULL);
list_for_each_entry(dev, &device_list, list) {
if (count_last < 16) {
newtListboxAppendEntry(lbox, "--- last dicovered ---", NULL);
list_for_each_entry(dev, &device_list, list) {
- if (dev->config_time < time_last - 10)
+ if (dev->config_
up
time < time_last - 10)
continue;
dbg("%s %i", dev->name, dev->config_line);
continue;
dbg("%s %i", dev->name, dev->config_line);
@@
-403,7
+390,7
@@
int main(int argc, char *argv[]) {
int i;
int numitems;
struct attribute **selattr;
int i;
int numitems;
struct attribute **selattr;
- char text_rule[
80
];
+ char text_rule[
255
];
answer = newtRunForm(form);
if (answer == quit)
answer = newtRunForm(form);
if (answer == quit)