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 _LINUX_MODULE_H 201dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define _LINUX_MODULE_H 211dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/sched.h> 221dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/spinlock.h> 23654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 241dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/list.h> 251dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/stat.h> 261dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/compiler.h> 271dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/cache.h> 28654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 291dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/kmod.h> 301dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/elf.h> 311dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/stringify.h> 321dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/kobject.h> 33654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 341dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/moduleparam.h> 351dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <asm/local.h> 361dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <asm/module.h> 371dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define MODULE_SUPPORTED_DEVICE(name) 38654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 391dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#ifndef MODULE_SYMBOL_PREFIX 401dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define MODULE_SYMBOL_PREFIX "" 411dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif 421dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define MODULE_NAME_LEN (64 - sizeof(unsigned long)) 43654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 441dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct kernel_symbol 451dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project{ 461dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned long value; 471dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project const char *name; 48654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 491dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project}; 501dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct modversion_info 511dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project{ 521dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned long crc; 53654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 541dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project char name[MODULE_NAME_LEN]; 551dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project}; 561dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct module; 571dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct module_attribute { 58654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 591dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct attribute attr; 601dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ssize_t (*show)(struct module_attribute *, struct module *, char *); 611dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ssize_t (*store)(struct module_attribute *, struct module *, 621dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project const char *, size_t count); 63654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 641dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void (*setup)(struct module *, const char *); 651dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int (*test)(struct module *); 661dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void (*free)(struct module *); 671dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project}; 68654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 691dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct module_kobject 701dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project{ 711dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct kobject kobj; 721dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct module *mod; 73654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 741dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project}; 751dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct exception_table_entry; 761dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#ifdef MODULE 771dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define MODULE_GENERIC_TABLE(gtype,name) extern const struct gtype##_id __mod_##gtype##_table __attribute__ ((unused, alias(__stringify(name)))) 78654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 791dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define THIS_MODULE (&__this_module) 801dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#else 811dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define MODULE_GENERIC_TABLE(gtype,name) 821dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define THIS_MODULE ((struct module *)0) 83654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 841dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif 851dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define MODULE_INFO(tag, info) __MODULE_INFO(tag, tag, info) 861dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define MODULE_ALIAS(_alias) MODULE_INFO(alias, _alias) 871dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define MODULE_LICENSE(_license) MODULE_INFO(license, _license) 88654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 891dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define MODULE_AUTHOR(_author) MODULE_INFO(author, _author) 901dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define MODULE_DESCRIPTION(_description) MODULE_INFO(description, _description) 911dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define MODULE_PARM_DESC(_parm, desc) __MODULE_INFO(parm, _parm, #_parm ":" desc) 921dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define MODULE_DEVICE_TABLE(type,name) MODULE_GENERIC_TABLE(type##_device,name) 93654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 941dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define MODULE_VERSION(_version) MODULE_INFO(version, _version) 951dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct notifier_block; 961dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXPORT_SYMBOL(sym) 971dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXPORT_SYMBOL_GPL(sym) 98654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 991dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXPORT_SYMBOL_GPL_FUTURE(sym) 1001dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXPORT_UNUSED_SYMBOL(sym) 1011dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXPORT_UNUSED_SYMBOL_GPL(sym) 1021dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define symbol_get(x) ({ extern typeof(x) x __attribute__((weak)); &(x); }) 103654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1041dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define symbol_put(x) do { } while(0) 1051dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define symbol_put_addr(x) do { } while(0) 1061dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define module_name(mod) "kernel" 1071dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __unsafe(mod) 108654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1091dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define module_put_and_exit(code) do_exit(code) 110654325de026a2ca5b76b8b40e576c959d8211fdcBen Chengstruct device_driver; 1111dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct module; 1121dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define symbol_request(x) try_then_request_module(symbol_get(x), "symbol:" #x) 113654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1141dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define __MODULE_STRING(x) __stringify(x) 1151dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif 116