57 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* The <ansi.h> header attempts to decide whether the compiler has enough
 | 
						|
 * conformance to Standard C for Minix to take advantage of.  If so, the
 | 
						|
 * symbol _ANSI is defined (as 31415).  Otherwise _ANSI is not defined
 | 
						|
 * here, but it may be defined by applications that want to bend the rules.
 | 
						|
 * The magic number in the definition is to inhibit unnecessary bending
 | 
						|
 * of the rules.  (For consistency with the new '#ifdef _ANSI" tests in
 | 
						|
 * the headers, _ANSI should really be defined as nothing, but that would
 | 
						|
 * break many library routines that use "#if _ANSI".)
 | 
						|
 | 
						|
 * If _ANSI ends up being defined, a macro
 | 
						|
 *
 | 
						|
 *	_PROTOTYPE(function, params)
 | 
						|
 *
 | 
						|
 * is defined.  This macro expands in different ways, generating either
 | 
						|
 * ANSI Standard C prototypes or old-style K&R (Kernighan & Ritchie)
 | 
						|
 * prototypes, as needed.  Finally, some programs use _CONST, _VOIDSTAR etc
 | 
						|
 * in such a way that they are portable over both ANSI and K&R compilers.
 | 
						|
 * The appropriate macros are defined here.
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef _ANSI_H
 | 
						|
#define _ANSI_H
 | 
						|
 | 
						|
#if __STDC__ == 1
 | 
						|
#define _ANSI		31459	/* compiler claims full ANSI conformance */
 | 
						|
#endif
 | 
						|
 | 
						|
#ifdef __GNUC__
 | 
						|
#define _ANSI		31459	/* gcc conforms enough even in non-ANSI mode */
 | 
						|
#endif
 | 
						|
 | 
						|
#ifdef _ANSI
 | 
						|
 | 
						|
/* Keep everything for ANSI prototypes. */
 | 
						|
#define	_PROTOTYPE(function, params)	function params
 | 
						|
 | 
						|
#define	_VOIDSTAR	void *
 | 
						|
#define	_VOID		void
 | 
						|
#define	_CONST		const
 | 
						|
#define	_VOLATILE	volatile
 | 
						|
#define _SIZET		size_t
 | 
						|
 | 
						|
#else
 | 
						|
 | 
						|
/* Throw away the parameters for K&R prototypes. */
 | 
						|
#define	_PROTOTYPE(function, params)	function()
 | 
						|
 | 
						|
#define	_VOIDSTAR	void *
 | 
						|
#define	_VOID		void
 | 
						|
#define	_CONST
 | 
						|
#define	_VOLATILE
 | 
						|
#define _SIZET		int
 | 
						|
 | 
						|
#endif /* _ANSI */
 | 
						|
 | 
						|
#endif /* ANSI_H */
 |