summaryrefslogtreecommitdiff
path: root/nuttx/fs/nfs/rpc_idgen.h
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-03-02 02:11:31 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-03-02 02:11:31 +0000
commit7f70746d22efea1cec36e172debaaf4031230e96 (patch)
treecfd49b707489ceb80afdd0a15f485cf21c4da9b8 /nuttx/fs/nfs/rpc_idgen.h
parent4d75d2d6cf6e21a4ac904913149140461b0b8dc6 (diff)
downloadpx4-nuttx-7f70746d22efea1cec36e172debaaf4031230e96.tar.gz
px4-nuttx-7f70746d22efea1cec36e172debaaf4031230e96.tar.bz2
px4-nuttx-7f70746d22efea1cec36e172debaaf4031230e96.zip
Add the beginnings of NFS client support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4443 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/fs/nfs/rpc_idgen.h')
-rw-r--r--nuttx/fs/nfs/rpc_idgen.h69
1 files changed, 69 insertions, 0 deletions
diff --git a/nuttx/fs/nfs/rpc_idgen.h b/nuttx/fs/nfs/rpc_idgen.h
new file mode 100644
index 000000000..42babc4d7
--- /dev/null
+++ b/nuttx/fs/nfs/rpc_idgen.h
@@ -0,0 +1,69 @@
+
+/* $OpenBSD: idgen.h,v 1.2 2008/06/25 00:55:53 djm Exp $ */
+
+/*
+ */
+
+/****************************************************************************
+ * fs/nfs/rpc_idgen.h
+ *
+ * Copyright (C) 2012 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2012 Jose Pablo Rojas Vargas. All rights reserved.
+ * Author: Jose Pablo Rojas Vargas <jrojas@nx-engineering.com>
+ *
+ * Leveraged from OpenBSD:
+ *
+ * Copyright (c) 2008 Damien Miller <djm@mindrot.org>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ ****************************************************************************/
+
+#ifndef __FS_NFS_RPC_IDGEN_H
+#define __FS_NFS_RPC_IDGEN_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+#define IDGEN32_ROUNDS 31
+#define IDGEN32_KEYLEN 32
+#define IDGEN32_REKEY_LIMIT 0x60000000
+#define IDGEN32_REKEY_TIME 600
+
+/****************************************************************************
+ * Public Types
+ ****************************************************************************/
+
+struct idgen32_ctx
+{
+ uint32_t id_counter;
+ uint32_t id_offset;
+ uint32_t id_hibit;
+ uint8_t id_key[IDGEN32_KEYLEN];
+ time_t id_rekey_time;
+};
+
+/****************************************************************************
+ * Public Function Prototypes
+ ****************************************************************************/
+
+void idgen32_init(struct idgen32_ctx *);
+uint32_t idgen32(struct idgen32_ctx *);
+
+#endif /* __FS_NFS_RPC_IDGEN_H */
+