Home | History | Annotate | Download | only in sunrpc
      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