aboutsummaryrefslogtreecommitdiff
path: root/sys/coda/coda_kernel.h
diff options
context:
space:
mode:
authorRobert V. Baron <rvb@FreeBSD.org>1998-08-29 21:14:52 +0000
committerRobert V. Baron <rvb@FreeBSD.org>1998-08-29 21:14:52 +0000
commite19a190886495d9814246faeaae9e9b0658fe82a (patch)
treeb1b4229d5a7b8f25caebd9fb695f6188440ad089 /sys/coda/coda_kernel.h
parent622bd6c6903ccd5c573bbc22cebd83738cd4780c (diff)
Very Preliminary Coda
Notes
Notes: svn path=/cvs2svn/branches/CODA/; revision=38625
Diffstat (limited to 'sys/coda/coda_kernel.h')
-rw-r--r--sys/coda/coda_kernel.h64
1 files changed, 64 insertions, 0 deletions
diff --git a/sys/coda/coda_kernel.h b/sys/coda/coda_kernel.h
new file mode 100644
index 000000000000..5bdcd41442ec
--- /dev/null
+++ b/sys/coda/coda_kernel.h
@@ -0,0 +1,64 @@
+/*
+
+ Coda: an Experimental Distributed File System
+ Release 3.1
+
+ Copyright (c) 1987-1998 Carnegie Mellon University
+ All Rights Reserved
+
+Permission to use, copy, modify and distribute this software and its
+documentation is hereby granted, provided that both the copyright
+notice and this permission notice appear in all copies of the
+software, derivative works or modified versions, and any portions
+thereof, and that both notices appear in supporting documentation, and
+that credit is given to Carnegie Mellon University in all documents
+and publicity pertaining to direct or indirect use of this code or its
+derivatives.
+
+CODA IS AN EXPERIMENTAL SOFTWARE SYSTEM AND IS KNOWN TO HAVE BUGS,
+SOME OF WHICH MAY HAVE SERIOUS CONSEQUENCES. CARNEGIE MELLON ALLOWS
+FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION. CARNEGIE MELLON
+DISCLAIMS ANY LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER
+RESULTING DIRECTLY OR INDIRECTLY FROM THE USE OF THIS SOFTWARE OR OF
+ANY DERIVATIVE WORK.
+
+Carnegie Mellon encourages users of this software to return any
+improvements or extensions that they make, and to grant Carnegie
+Mellon the rights to redistribute these changes without encumbrance.
+*/
+
+/* $Header: /afs/cs/project/coda-src/cvs/coda/kernel-src/vfs/freebsd/cfs/cfsk.h,v 1.9 1998/08/18 17:05:23 rvb Exp $ */
+
+/* Macros to manipulate the queue */
+#ifndef INIT_QUEUE
+struct queue {
+ struct queue *forw, *back;
+};
+
+#define INIT_QUEUE(head) \
+do { \
+ (head).forw = (struct queue *)&(head); \
+ (head).back = (struct queue *)&(head); \
+} while (0)
+
+#define GETNEXT(head) (head).forw
+
+#define EMPTY(head) ((head).forw == &(head))
+
+#define EOQ(el, head) ((struct queue *)(el) == (struct queue *)&(head))
+
+#define INSQUE(el, head) \
+do { \
+ (el).forw = ((head).back)->forw; \
+ (el).back = (head).back; \
+ ((head).back)->forw = (struct queue *)&(el); \
+ (head).back = (struct queue *)&(el); \
+} while (0)
+
+#define REMQUE(el) \
+do { \
+ ((el).forw)->back = (el).back; \
+ (el).back->forw = (el).forw; \
+} while (0)
+
+#endif INIT_QUEUE