blob: 1cff308fa805053852dd383250b08818f90c3880 [file] [log] [blame]
The Android Open Source Project1dc9e472009-03-03 19:28:35 -08001/****************************************************************************
2 ****************************************************************************
3 ***
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
9 ***
Ben Cheng654325d2012-03-07 21:13:49 -080010 *** To edit the content of this header, modify the corresponding
11 *** source file (e.g. under external/kernel-headers/original/) then
12 *** run bionic/libc/kernel/tools/update_all.py
13 ***
14 *** Any manual change here will be lost the next time this script will
15 *** be run. You've been warned!
16 ***
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080017 ****************************************************************************
18 ****************************************************************************/
19#ifndef SUNRPC_SVC_H
20#define SUNRPC_SVC_H
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080021#include <linux/in.h>
22#include <linux/sunrpc/types.h>
Ben Cheng654325d2012-03-07 21:13:49 -080023/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080024#include <linux/sunrpc/xdr.h>
25#include <linux/sunrpc/svcauth.h>
26#include <linux/wait.h>
27#include <linux/mm.h>
Ben Cheng654325d2012-03-07 21:13:49 -080028/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080029struct svc_serv {
30 struct list_head sv_threads;
31 struct list_head sv_sockets;
32 struct svc_program * sv_program;
Ben Cheng654325d2012-03-07 21:13:49 -080033/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080034 struct svc_stat * sv_stats;
35 spinlock_t sv_lock;
36 unsigned int sv_nrthreads;
37 unsigned int sv_bufsz;
Ben Cheng654325d2012-03-07 21:13:49 -080038/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080039 unsigned int sv_xdrsize;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080040 struct list_head sv_permsocks;
41 struct list_head sv_tempsocks;
42 int sv_tmpcnt;
Ben Cheng654325d2012-03-07 21:13:49 -080043/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080044 char * sv_name;
45};
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080046#define RPCSVC_MAXPAYLOAD (64*1024u)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080047#define RPCSVC_MAXPAGES ((RPCSVC_MAXPAYLOAD+PAGE_SIZE-1)/PAGE_SIZE + 2)
Ben Cheng654325d2012-03-07 21:13:49 -080048/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49struct svc_rqst {
50 struct list_head rq_list;
51 struct svc_sock * rq_sock;
52 struct sockaddr_in rq_addr;
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54 int rq_addrlen;
55 struct svc_serv * rq_server;
56 struct svc_procedure * rq_procinfo;
57 struct auth_ops * rq_authop;
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59 struct svc_cred rq_cred;
60 struct sk_buff * rq_skbuff;
61 struct svc_deferred_req*rq_deferred;
62 struct xdr_buf rq_arg;
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64 struct xdr_buf rq_res;
65 struct page * rq_argpages[RPCSVC_MAXPAGES];
66 struct page * rq_respages[RPCSVC_MAXPAGES];
67 int rq_restailpage;
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69 short rq_argused;
70 short rq_arghi;
71 short rq_resused;
72 u32 rq_xid;
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74 u32 rq_prog;
75 u32 rq_vers;
76 u32 rq_proc;
77 u32 rq_prot;
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79 unsigned short
80 rq_secure : 1;
81 __u32 rq_daddr;
82 void * rq_argp;
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84 void * rq_resp;
85 void * rq_auth_data;
86 int rq_reserved;
87 struct cache_req rq_chandle;
88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89 struct auth_domain * rq_client;
90 struct svc_cacherep * rq_cacherep;
91 struct knfsd_fh * rq_reffh;
92 int rq_sendfile_ok;
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94 wait_queue_head_t rq_wait;
95};
96struct svc_deferred_req {
97 u32 prot;
98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99 struct sockaddr_in addr;
100 struct svc_sock *svsk;
101 u32 daddr;
102 struct cache_deferred_req handle;
103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104 int argslen;
105 u32 args[0];
106};
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800107struct svc_program {
Ben Cheng654325d2012-03-07 21:13:49 -0800108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800109 struct svc_program * pg_next;
110 u32 pg_prog;
111 unsigned int pg_lovers;
112 unsigned int pg_hivers;
Ben Cheng654325d2012-03-07 21:13:49 -0800113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800114 unsigned int pg_nvers;
115 struct svc_version ** pg_vers;
116 char * pg_name;
117 char * pg_class;
Ben Cheng654325d2012-03-07 21:13:49 -0800118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800119 struct svc_stat * pg_stats;
120 int (*pg_authenticate)(struct svc_rqst *);
121};
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800122struct svc_version {
Ben Cheng654325d2012-03-07 21:13:49 -0800123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800124 u32 vs_vers;
125 u32 vs_nproc;
126 struct svc_procedure * vs_proc;
127 u32 vs_xdrsize;
Ben Cheng654325d2012-03-07 21:13:49 -0800128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800129 int (*vs_dispatch)(struct svc_rqst *, u32 *);
130};
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800131typedef int (*svc_procfunc)(struct svc_rqst *, void *argp, void *resp);
132struct svc_procedure {
Ben Cheng654325d2012-03-07 21:13:49 -0800133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800134 svc_procfunc pc_func;
135 kxdrproc_t pc_decode;
136 kxdrproc_t pc_encode;
137 kxdrproc_t pc_release;
Ben Cheng654325d2012-03-07 21:13:49 -0800138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800139 unsigned int pc_argsize;
140 unsigned int pc_ressize;
141 unsigned int pc_count;
142 unsigned int pc_cachetype;
Ben Cheng654325d2012-03-07 21:13:49 -0800143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800144 unsigned int pc_xdrressize;
145};
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800146typedef void (*svc_thread_fn)(struct svc_rqst *);
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800147struct svc_serv * svc_create(struct svc_program *, unsigned int);
Ben Cheng654325d2012-03-07 21:13:49 -0800148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800149#endif