October 2017
Intermediate to advanced
586 pages
14h 8m
English
Attributes are sysfs files exported to the user space by kobjects. An attribute represents an object property that can be readable, writable, or both, from the user space. That said, every data structure that embeds a struct kobject can expose either default attributes provided by the kobject itself (if any), or custom ones. In other words, attributes map kernel data to files in sysfs.
An attribute definition looks like this:
struct attribute {
char * name;
struct module *owner;
umode_t mode;
};
The kernel functions used to add/remove attributes from the filesystem are as follows:
int sysfs_create_file(struct kobject * kobj, const struct attribute * attr); void sysfs_remove_file(struct kobject * kobj, const struct attribute * ...