diff options
Diffstat (limited to 'libc/kernel/common/linux/attribute_container.h')
-rw-r--r-- | libc/kernel/common/linux/attribute_container.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/libc/kernel/common/linux/attribute_container.h b/libc/kernel/common/linux/attribute_container.h new file mode 100644 index 0000000..1a9bfb0 --- /dev/null +++ b/libc/kernel/common/linux/attribute_container.h @@ -0,0 +1,34 @@ +/**************************************************************************** + **************************************************************************** + *** + *** This header was automatically generated from a Linux kernel header + *** of the same name, to make information necessary for userspace to + *** call into the kernel available to libc. It contains only constants, + *** structures, and macros generated from the original header, and thus, + *** contains no copyrightable information. + *** + **************************************************************************** + ****************************************************************************/ +#ifndef _ATTRIBUTE_CONTAINER_H_ +#define _ATTRIBUTE_CONTAINER_H_ + +#include <linux/device.h> +#include <linux/list.h> +#include <linux/klist.h> +#include <linux/spinlock.h> + +struct attribute_container { + struct list_head node; + struct klist containers; + struct class *class; + struct class_device_attribute **attrs; + int (*match)(struct attribute_container *, struct device *); +#define ATTRIBUTE_CONTAINER_NO_CLASSDEVS 0x01 + unsigned long flags; +}; + +struct attribute_container *attribute_container_classdev_to_container(struct class_device *); +struct class_device *attribute_container_find_class_device(struct attribute_container *, struct device *); +struct class_device_attribute **attribute_container_classdev_to_attrs(const struct class_device *classdev); + +#endif |