1100360Smarkm/*	$NetBSD: param.h,v 1.2 2002/02/05 03:04:26 thorpej Exp $	*/
291586Smarkm
391586Smarkm/*
491586Smarkm * Copyright (c) 1994, 1995 Jochen Pohl
591586Smarkm * All Rights Reserved.
691586Smarkm *
791586Smarkm * Redistribution and use in source and binary forms, with or without
891586Smarkm * modification, are permitted provided that the following conditions
991586Smarkm * are met:
1091586Smarkm * 1. Redistributions of source code must retain the above copyright
1191586Smarkm *    notice, this list of conditions and the following disclaimer.
1291586Smarkm * 2. Redistributions in binary form must reproduce the above copyright
1391586Smarkm *    notice, this list of conditions and the following disclaimer in the
1491586Smarkm *    documentation and/or other materials provided with the distribution.
1591586Smarkm * 3. All advertising materials mentioning features or use of this software
1691586Smarkm *    must display the following acknowledgement:
1791586Smarkm *      This product includes software developed by Jochen Pohl for
1891586Smarkm *	The NetBSD Project.
1991586Smarkm * 4. The name of the author may not be used to endorse or promote products
2091586Smarkm *    derived from this software without specific prior written permission.
2191586Smarkm *
2291586Smarkm * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
2391586Smarkm * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
2491586Smarkm * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
2591586Smarkm * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
2691586Smarkm * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
2791586Smarkm * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
2891586Smarkm * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
2991586Smarkm * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
3091586Smarkm * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
3191586Smarkm * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3291586Smarkm */
3391586Smarkm
3491586Smarkm/*
3591586Smarkm * Minimun size of string buffer. If this is not enough, the buffer
3691586Smarkm * is enlarged in steps of STRBLEN bytes.
3791586Smarkm */
3891586Smarkm#define	STRBLEN		256
3991586Smarkm
4091586Smarkm/*
4191586Smarkm * This defines the size of memory blocks which are used to allocate
4291586Smarkm * memory in larger chunks.
4391586Smarkm */
4491586Smarkm#define	MBLKSIZ		((size_t)0x4000)
4591586Smarkm
4691586Smarkm/*
4791586Smarkm * Sizes of hash tables
4891586Smarkm * Should be a prime. Possible primes are
4991586Smarkm * 307, 401, 503, 601, 701, 809, 907, 1009, 1103, 1201, 1301, 1409, 1511.
5091586Smarkm *
5191586Smarkm * HSHSIZ1	symbol table 1st pass
5291586Smarkm * HSHSIZ2	symbol table 2nd pass
5391586Smarkm * THSHSIZ2	type table 2nd pass
5491586Smarkm */
5591586Smarkm#define	HSHSIZ1		503
5691586Smarkm#define HSHSIZ2		1009
5791586Smarkm#define	THSHSIZ2	1009
5891586Smarkm
5991586Smarkm/*
6091586Smarkm * Pull in target-specific parameters.
6191586Smarkm */
6291586Smarkm#include "targparam.h"
6391586Smarkm
6491586Smarkm/*
6591586Smarkm * Make sure this matches wchar_t.
6691586Smarkm */
6791586Smarkm#define WCHAR	INT
6891586Smarkm
6991586Smarkm/*
7091586Smarkm * And the sparc64 long double code generation is broken.
7191586Smarkm */
72100360Smarkm#if !defined(__sparc64__)
7391586Smarkmtypedef	long double ldbl_t;
7491586Smarkm#else
7591586Smarkmtypedef	double	ldbl_t;
7691586Smarkm#endif
7791586Smarkm
7891586Smarkm/*
7991586Smarkm * Some traditional compilers are not able to assign structures.
8091586Smarkm */
8191586Smarkm#define STRUCT_ASSIGN(dest, src)	(dest) = (src)
82