xref: /csrg-svn/lib/libcompat/4.3/insque.c (revision 61241)
130424Smckusick /*
2*61241Sbostic  * Copyright (c) 1987, 1993
3*61241Sbostic  *	The Regents of the University of California.  All rights reserved.
435110Sbostic  *
542625Sbostic  * %sccs.include.redist.c%
630424Smckusick  */
730424Smckusick 
830424Smckusick #if defined(LIBC_SCCS) && !defined(lint)
9*61241Sbostic static char sccsid[] = "@(#)insque.c	8.1 (Berkeley) 06/04/93";
1035110Sbostic #endif /* LIBC_SCCS and not lint */
1130424Smckusick 
1230424Smckusick /*
1330424Smckusick  * insque -- vax insque instruction
1430424Smckusick  *
1530424Smckusick  * NOTE: this implementation is non-atomic!!
1630424Smckusick  */
1730424Smckusick 
1830424Smckusick struct vaxque {		/* queue format expected by VAX queue instructions */
1930424Smckusick 	struct vaxque	*vq_next;
2030424Smckusick 	struct vaxque	*vq_prev;
2130424Smckusick };
2230424Smckusick 
insque(e,prev)2330424Smckusick insque(e, prev)
2430424Smckusick 	register struct vaxque *e, *prev;
2530424Smckusick {
2630424Smckusick 	e->vq_prev = prev;
2730424Smckusick 	e->vq_next = prev->vq_next;
2830424Smckusick 	prev->vq_next->vq_prev = e;
2930424Smckusick 	prev->vq_next = e;
3030424Smckusick }
31