xref: /csrg-svn/lib/libcompat/4.3/insque.c (revision 42625)
130424Smckusick /*
230424Smckusick  * Copyright (c) 1987 Regents of the University of California.
335110Sbostic  * All rights reserved.
435110Sbostic  *
5*42625Sbostic  * %sccs.include.redist.c%
630424Smckusick  */
730424Smckusick 
830424Smckusick #if defined(LIBC_SCCS) && !defined(lint)
9*42625Sbostic static char sccsid[] = "@(#)insque.c	5.3 (Berkeley) 06/01/90";
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 
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