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