/*
 * @DEC_COPYRIGHT@
 */
/*
 * HISTORY
 * $Log:	varargs.h,v $
 * Revision 1.1.3.2  91/11/20  13:50:07  Hal_Project
 * 	Moved from dec/machine/mips; pool reorg.
 * 	[91/11/18  00:11:19  Donald_Dutile]
 * 
 * Revision 4.2  91/09/19  23:12:32  devbld
 * 	Adding ODE Headers
 * 
 * $EndLog$
 */
/*	
 *	@(#)$RCSfile: varargs.h,v $ $Revision: 1.1.3.2 $ (DEC) $Date: 91/11/20 13:50:07 $
 */ 
/*
 */
/*
 * (c) Copyright 1990, OPEN SOFTWARE FOUNDATION, INC.
 * ALL RIGHTS RESERVED
 */
/*
 * OSF/1 Release 1.0
 */

/*	varargs.h	4.1	83/05/03	*/

#include <sys/types.h>		/* for va_list */

#if	ibmrt
# define va_alist va_alist1, va_alist2, va_alist3, va_alist4
# define va_dcl int va_alist1, va_alist2, va_alist3, va_alist4;
# define va_start(list) list = (char *) &va_alist1
#else	/* ibmrt */
# define va_dcl int va_alist;
# define va_start(list) list = (char *) &va_alist
#endif	/* ibmrt */

# define va_end(list)

#ifdef	mips
# define va_arg(list, mode) ((mode *)(list = \
	(char *) (sizeof(mode) > 4 ? ((int)list + 2*8 - 1) & -8 \
				   : ((int)list + 2*4 - 1) & -4)))[-1]
#else	/* mips */
#if	BYTE_MSF
# define va_arg(list,mode) ((mode *)((list += (sizeof(mode)+3)&(-4))\
		-((sizeof(mode)<4)?sizeof(mode):(sizeof(mode)+3)&(-4))))[0]
#else	/* BYTE_MSF */
# define va_arg(list,mode) ((mode *)((list += (sizeof(mode)+3)&(-4))\
		-((sizeof(mode)+3)&(-4))))[0]
#endif	/* BYTE_MSF */
#endif	/* mips */
