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 SUNRPC_SVC_H 201dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define SUNRPC_SVC_H 211dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/in.h> 221dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/sunrpc/types.h> 23654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 241dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/sunrpc/xdr.h> 251dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/sunrpc/svcauth.h> 261dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/wait.h> 271dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/mm.h> 28654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 291dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct svc_serv { 301dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct list_head sv_threads; 311dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct list_head sv_sockets; 321dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct svc_program * sv_program; 33654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 341dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct svc_stat * sv_stats; 351dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project spinlock_t sv_lock; 361dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned int sv_nrthreads; 371dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned int sv_bufsz; 38654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 391dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned int sv_xdrsize; 401dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct list_head sv_permsocks; 411dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct list_head sv_tempsocks; 421dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int sv_tmpcnt; 43654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 441dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project char * sv_name; 451dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project}; 461dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define RPCSVC_MAXPAYLOAD (64*1024u) 471dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define RPCSVC_MAXPAGES ((RPCSVC_MAXPAYLOAD+PAGE_SIZE-1)/PAGE_SIZE + 2) 48654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 49654325de026a2ca5b76b8b40e576c959d8211fdcBen Chengstruct svc_rqst { 50654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng struct list_head rq_list; 51654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng struct svc_sock * rq_sock; 52654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng struct sockaddr_in rq_addr; 53654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 54654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng int rq_addrlen; 55654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng struct svc_serv * rq_server; 56654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng struct svc_procedure * rq_procinfo; 57654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng struct auth_ops * rq_authop; 58654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 59654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng struct svc_cred rq_cred; 60654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng struct sk_buff * rq_skbuff; 61654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng struct svc_deferred_req*rq_deferred; 62654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng struct xdr_buf rq_arg; 63654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 64654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng struct xdr_buf rq_res; 65654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng struct page * rq_argpages[RPCSVC_MAXPAGES]; 66654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng struct page * rq_respages[RPCSVC_MAXPAGES]; 67654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng int rq_restailpage; 68654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 69654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng short rq_argused; 70654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng short rq_arghi; 71654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng short rq_resused; 72654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng u32 rq_xid; 73654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 74654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng u32 rq_prog; 75654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng u32 rq_vers; 76654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng u32 rq_proc; 77654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng u32 rq_prot; 78654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 79654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng unsigned short 80654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng rq_secure : 1; 81654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng __u32 rq_daddr; 82654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng void * rq_argp; 83654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 84654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng void * rq_resp; 85654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng void * rq_auth_data; 86654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng int rq_reserved; 87654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng struct cache_req rq_chandle; 88654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 89654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng struct auth_domain * rq_client; 90654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng struct svc_cacherep * rq_cacherep; 91654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng struct knfsd_fh * rq_reffh; 92654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng int rq_sendfile_ok; 93654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 94654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng wait_queue_head_t rq_wait; 95654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng}; 96654325de026a2ca5b76b8b40e576c959d8211fdcBen Chengstruct svc_deferred_req { 97654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng u32 prot; 98654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 99654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng struct sockaddr_in addr; 100654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng struct svc_sock *svsk; 101654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng u32 daddr; 102654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng struct cache_deferred_req handle; 103654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 104654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng int argslen; 105654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng u32 args[0]; 106654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng}; 1071dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct svc_program { 108654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1091dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct svc_program * pg_next; 1101dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project u32 pg_prog; 1111dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned int pg_lovers; 1121dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned int pg_hivers; 113654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1141dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned int pg_nvers; 1151dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct svc_version ** pg_vers; 1161dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project char * pg_name; 1171dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project char * pg_class; 118654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1191dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct svc_stat * pg_stats; 1201dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int (*pg_authenticate)(struct svc_rqst *); 1211dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project}; 1221dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct svc_version { 123654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1241dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project u32 vs_vers; 1251dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project u32 vs_nproc; 1261dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct svc_procedure * vs_proc; 1271dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project u32 vs_xdrsize; 128654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1291dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int (*vs_dispatch)(struct svc_rqst *, u32 *); 1301dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project}; 1311dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef int (*svc_procfunc)(struct svc_rqst *, void *argp, void *resp); 1321dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct svc_procedure { 133654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1341dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project svc_procfunc pc_func; 1351dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project kxdrproc_t pc_decode; 1361dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project kxdrproc_t pc_encode; 1371dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project kxdrproc_t pc_release; 138654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1391dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned int pc_argsize; 1401dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned int pc_ressize; 1411dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned int pc_count; 1421dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned int pc_cachetype; 143654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1441dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project unsigned int pc_xdrressize; 1451dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project}; 1461dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef void (*svc_thread_fn)(struct svc_rqst *); 1471dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct svc_serv * svc_create(struct svc_program *, unsigned int); 148654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1491dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif 150