• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /****************************************************************************
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  ***
10  ***   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  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef SUNRPC_SVC_H
20 #define SUNRPC_SVC_H
21 #include <linux/in.h>
22 #include <linux/sunrpc/types.h>
23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24 #include <linux/sunrpc/xdr.h>
25 #include <linux/sunrpc/svcauth.h>
26 #include <linux/wait.h>
27 #include <linux/mm.h>
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 struct svc_serv {
30  struct list_head sv_threads;
31  struct list_head sv_sockets;
32  struct svc_program * sv_program;
33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34  struct svc_stat * sv_stats;
35  spinlock_t sv_lock;
36  unsigned int sv_nrthreads;
37  unsigned int sv_bufsz;
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39  unsigned int sv_xdrsize;
40  struct list_head sv_permsocks;
41  struct list_head sv_tempsocks;
42  int sv_tmpcnt;
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44  char * sv_name;
45 };
46 #define RPCSVC_MAXPAYLOAD (64*1024u)
47 #define RPCSVC_MAXPAGES ((RPCSVC_MAXPAYLOAD+PAGE_SIZE-1)/PAGE_SIZE + 2)
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49 struct 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 };
96 struct 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 };
107 struct svc_program {
108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109  struct svc_program * pg_next;
110  u32 pg_prog;
111  unsigned int pg_lovers;
112  unsigned int pg_hivers;
113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114  unsigned int pg_nvers;
115  struct svc_version ** pg_vers;
116  char * pg_name;
117  char * pg_class;
118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119  struct svc_stat * pg_stats;
120  int (*pg_authenticate)(struct svc_rqst *);
121 };
122 struct svc_version {
123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124  u32 vs_vers;
125  u32 vs_nproc;
126  struct svc_procedure * vs_proc;
127  u32 vs_xdrsize;
128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129  int (*vs_dispatch)(struct svc_rqst *, u32 *);
130 };
131 typedef int (*svc_procfunc)(struct svc_rqst *, void *argp, void *resp);
132 struct svc_procedure {
133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134  svc_procfunc pc_func;
135  kxdrproc_t pc_decode;
136  kxdrproc_t pc_encode;
137  kxdrproc_t pc_release;
138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139  unsigned int pc_argsize;
140  unsigned int pc_ressize;
141  unsigned int pc_count;
142  unsigned int pc_cachetype;
143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144  unsigned int pc_xdrressize;
145 };
146 typedef void (*svc_thread_fn)(struct svc_rqst *);
147 struct svc_serv * svc_create(struct svc_program *, unsigned int);
148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149 #endif
150