summaryrefslogtreecommitdiffstats
path: root/9/platforms/android-18/arch-mips/usr/include/linux/sunrpc/svc.h
diff options
context:
space:
mode:
authorAndrew Hsieh <andrewhsieh@google.com>2013-09-06 18:37:46 +0800
committerAndrew Hsieh <andrewhsieh@google.com>2013-09-06 19:04:40 +0800
commit6986c6e7f06bb3bdedfc3bb08694da9b1227048c (patch)
tree5c0f01f1f54d9040100858182232c1fb4134b58f /9/platforms/android-18/arch-mips/usr/include/linux/sunrpc/svc.h
parent30ee84f92cb832c789366c516fcadb718ccc25e8 (diff)
downloadprebuilts_ndk-6986c6e7f06bb3bdedfc3bb08694da9b1227048c.zip
prebuilts_ndk-6986c6e7f06bb3bdedfc3bb08694da9b1227048c.tar.gz
prebuilts_ndk-6986c6e7f06bb3bdedfc3bb08694da9b1227048c.tar.bz2
Add NDK r9 part 1/2: platforms/
Change-Id: Ie572e90ffda7f982d931dda1a9f5a0c68953a762
Diffstat (limited to '9/platforms/android-18/arch-mips/usr/include/linux/sunrpc/svc.h')
-rw-r--r--9/platforms/android-18/arch-mips/usr/include/linux/sunrpc/svc.h82
1 files changed, 82 insertions, 0 deletions
diff --git a/9/platforms/android-18/arch-mips/usr/include/linux/sunrpc/svc.h b/9/platforms/android-18/arch-mips/usr/include/linux/sunrpc/svc.h
new file mode 100644
index 0000000..7a0cc2d
--- /dev/null
+++ b/9/platforms/android-18/arch-mips/usr/include/linux/sunrpc/svc.h
@@ -0,0 +1,82 @@
+/****************************************************************************
+ ****************************************************************************
+ ***
+ *** 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.
+ ***
+ ****************************************************************************
+ ****************************************************************************/
+#ifndef SUNRPC_SVC_H
+#define SUNRPC_SVC_H
+
+#include <linux/in.h>
+#include <linux/sunrpc/types.h>
+#include <linux/sunrpc/xdr.h>
+#include <linux/sunrpc/svcauth.h>
+#include <linux/wait.h>
+#include <linux/mm.h>
+
+struct svc_serv {
+ struct list_head sv_threads;
+ struct list_head sv_sockets;
+ struct svc_program * sv_program;
+ struct svc_stat * sv_stats;
+ spinlock_t sv_lock;
+ unsigned int sv_nrthreads;
+ unsigned int sv_bufsz;
+ unsigned int sv_xdrsize;
+
+ struct list_head sv_permsocks;
+ struct list_head sv_tempsocks;
+ int sv_tmpcnt;
+
+ char * sv_name;
+};
+
+#define RPCSVC_MAXPAYLOAD (64*1024u)
+
+#define RPCSVC_MAXPAGES ((RPCSVC_MAXPAYLOAD+PAGE_SIZE-1)/PAGE_SIZE + 2)
+
+struct svc_program {
+ struct svc_program * pg_next;
+ u32 pg_prog;
+ unsigned int pg_lovers;
+ unsigned int pg_hivers;
+ unsigned int pg_nvers;
+ struct svc_version ** pg_vers;
+ char * pg_name;
+ char * pg_class;
+ struct svc_stat * pg_stats;
+ int (*pg_authenticate)(struct svc_rqst *);
+};
+
+struct svc_version {
+ u32 vs_vers;
+ u32 vs_nproc;
+ struct svc_procedure * vs_proc;
+ u32 vs_xdrsize;
+
+ int (*vs_dispatch)(struct svc_rqst *, u32 *);
+};
+
+typedef int (*svc_procfunc)(struct svc_rqst *, void *argp, void *resp);
+struct svc_procedure {
+ svc_procfunc pc_func;
+ kxdrproc_t pc_decode;
+ kxdrproc_t pc_encode;
+ kxdrproc_t pc_release;
+ unsigned int pc_argsize;
+ unsigned int pc_ressize;
+ unsigned int pc_count;
+ unsigned int pc_cachetype;
+ unsigned int pc_xdrressize;
+};
+
+typedef void (*svc_thread_fn)(struct svc_rqst *);
+
+struct svc_serv * svc_create(struct svc_program *, unsigned int);
+
+#endif