/**************************************************************************** **************************************************************************** *** *** This header was automatically generated from a Linux kernel header *** of the same name, to make information necessary for userspace to *** call into the kernel available to libc. It contains only constants, *** structures, and macros generated from the original header, and thus, *** contains no copyrightable information. *** *** To edit the content of this header, modify the corresponding *** source file (e.g. under external/kernel-headers/original/) then *** run bionic/libc/kernel/tools/update_all.py *** *** Any manual change here will be lost the next time this script will *** be run. You've been warned! *** **************************************************************************** ****************************************************************************/ #ifndef SUNRPC_SVC_H #define SUNRPC_SVC_H #include #include /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #include #include #include #include /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct svc_serv { struct list_head sv_threads; struct list_head sv_sockets; struct svc_program * sv_program; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct svc_stat * sv_stats; spinlock_t sv_lock; unsigned int sv_nrthreads; unsigned int sv_bufsz; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ unsigned int sv_xdrsize; struct list_head sv_permsocks; struct list_head sv_tempsocks; int sv_tmpcnt; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ char * sv_name; }; #define RPCSVC_MAXPAYLOAD (64*1024u) #define RPCSVC_MAXPAGES ((RPCSVC_MAXPAYLOAD+PAGE_SIZE-1)/PAGE_SIZE + 2) /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct svc_rqst { struct list_head rq_list; struct svc_sock * rq_sock; struct sockaddr_in rq_addr; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ int rq_addrlen; struct svc_serv * rq_server; struct svc_procedure * rq_procinfo; struct auth_ops * rq_authop; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct svc_cred rq_cred; struct sk_buff * rq_skbuff; struct svc_deferred_req*rq_deferred; struct xdr_buf rq_arg; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct xdr_buf rq_res; struct page * rq_argpages[RPCSVC_MAXPAGES]; struct page * rq_respages[RPCSVC_MAXPAGES]; int rq_restailpage; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ short rq_argused; short rq_arghi; short rq_resused; u32 rq_xid; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ u32 rq_prog; u32 rq_vers; u32 rq_proc; u32 rq_prot; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ unsigned short rq_secure : 1; __u32 rq_daddr; void * rq_argp; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ void * rq_resp; void * rq_auth_data; int rq_reserved; struct cache_req rq_chandle; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct auth_domain * rq_client; struct svc_cacherep * rq_cacherep; struct knfsd_fh * rq_reffh; int rq_sendfile_ok; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ wait_queue_head_t rq_wait; }; struct svc_deferred_req { u32 prot; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct sockaddr_in addr; struct svc_sock *svsk; u32 daddr; struct cache_deferred_req handle; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ int argslen; u32 args[0]; }; struct svc_program { /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct svc_program * pg_next; u32 pg_prog; unsigned int pg_lovers; unsigned int pg_hivers; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ unsigned int pg_nvers; struct svc_version ** pg_vers; char * pg_name; char * pg_class; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct svc_stat * pg_stats; int (*pg_authenticate)(struct svc_rqst *); }; struct svc_version { /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ u32 vs_vers; u32 vs_nproc; struct svc_procedure * vs_proc; u32 vs_xdrsize; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ int (*vs_dispatch)(struct svc_rqst *, u32 *); }; typedef int (*svc_procfunc)(struct svc_rqst *, void *argp, void *resp); struct svc_procedure { /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ svc_procfunc pc_func; kxdrproc_t pc_decode; kxdrproc_t pc_encode; kxdrproc_t pc_release; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ unsigned int pc_argsize; unsigned int pc_ressize; unsigned int pc_count; unsigned int pc_cachetype; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ unsigned int pc_xdrressize; }; typedef void (*svc_thread_fn)(struct svc_rqst *); struct svc_serv * svc_create(struct svc_program *, unsigned int); /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #endif