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