11dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/****************************************************************************
21dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ****************************************************************************
31dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***
41dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***   This header was automatically generated from a Linux kernel header
51dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***   of the same name, to make information necessary for userspace to
61dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***   call into the kernel available to libc.  It contains only constants,
71dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***   structures, and macros generated from the original header, and thus,
81dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***   contains no copyrightable information.
91dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***
10654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***   To edit the content of this header, modify the corresponding
11654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***   source file (e.g. under external/kernel-headers/original/) then
12654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***   run bionic/libc/kernel/tools/update_all.py
13654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***
14654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***   Any manual change here will be lost the next time this script will
15654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***   be run. You've been warned!
16654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***
171dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ****************************************************************************
181dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ****************************************************************************/
191dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#ifndef _SYSFS_H_
201dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define _SYSFS_H_
211dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <asm/atomic.h>
221dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct kobject;
23654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
241dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct module;
251dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct attribute {
261dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project const char * name;
271dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct module * owner;
28654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
291dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project mode_t mode;
301dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
311dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct attribute_group {
321dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project const char * name;
33654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
341dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct attribute ** attrs;
351dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
361dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __ATTR(_name,_mode,_show,_store) {   .attr = {.name = __stringify(_name), .mode = _mode, .owner = THIS_MODULE },   .show = _show,   .store = _store,  }
371dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __ATTR_RO(_name) {   .attr = { .name = __stringify(_name), .mode = 0444, .owner = THIS_MODULE },   .show = _name##_show,  }
38654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
391dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __ATTR_NULL { .attr = { .name = NULL } }
401dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define attr_name(_attr) (_attr).attr.name
411dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct vm_area_struct;
421dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct bin_attribute {
43654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
441dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct attribute attr;
451dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project size_t size;
461dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void *private;
471dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ssize_t (*read)(struct kobject *, char *, loff_t, size_t);
48654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
491dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ssize_t (*write)(struct kobject *, char *, loff_t, size_t);
501dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int (*mmap)(struct kobject *, struct bin_attribute *attr,
511dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct vm_area_struct *vma);
521dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
53654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
541dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct sysfs_ops {
551dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ssize_t (*show)(struct kobject *, struct attribute *,char *);
561dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ssize_t (*store)(struct kobject *,struct attribute *,const char *, size_t);
571dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
58654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
591dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct sysfs_dirent {
601dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project atomic_t s_count;
611dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct list_head s_sibling;
621dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct list_head s_children;
63654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
641dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void * s_element;
651dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int s_type;
661dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project umode_t s_mode;
671dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct dentry * s_dentry;
68654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
691dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct iattr * s_iattr;
701dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project atomic_t s_event;
711dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
721dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define SYSFS_ROOT 0x0001
73654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
741dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define SYSFS_DIR 0x0002
751dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define SYSFS_KOBJ_ATTR 0x0004
761dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define SYSFS_KOBJ_BIN_ATTR 0x0008
771dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define SYSFS_KOBJ_DEVICE 0x0010
78654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
791dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define SYSFS_KOBJ_LINK 0x0020
801dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define SYSFS_NOT_PINNED (SYSFS_KOBJ_ATTR | SYSFS_KOBJ_BIN_ATTR | SYSFS_KOBJ_DEVICE | SYSFS_KOBJ_LINK)
811dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif
82