xref: /original-bsd/lib/libcompat/4.3/insque.c (revision 883fb6be)
1 /*
2  * Copyright (c) 1987 Regents of the University of California.
3  * All rights reserved.  The Berkeley software License Agreement
4  * specifies the terms and conditions for redistribution.
5  */
6 
7 #if defined(LIBC_SCCS) && !defined(lint)
8 static char sccsid[] = "@(#)insque.c	5.1 (Berkeley) 01/27/87";
9 #endif LIBC_SCCS and not lint
10 
11 /*
12  * insque -- vax insque instruction
13  *
14  * NOTE: this implementation is non-atomic!!
15  */
16 
17 struct vaxque {		/* queue format expected by VAX queue instructions */
18 	struct vaxque	*vq_next;
19 	struct vaxque	*vq_prev;
20 };
21 
22 insque(e, prev)
23 	register struct vaxque *e, *prev;
24 {
25 	e->vq_prev = prev;
26 	e->vq_next = prev->vq_next;
27 	prev->vq_next->vq_prev = e;
28 	prev->vq_next = e;
29 }
30