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