ansi.h revision 1.1
11.1Seeh/* $NetBSD: ansi.h,v 1.1 1998/06/20 04:58:51 eeh Exp $ */ 21.1Seeh 31.1Seeh/*- 41.1Seeh * Copyright (c) 1990, 1993 51.1Seeh * The Regents of the University of California. All rights reserved. 61.1Seeh * 71.1Seeh * Redistribution and use in source and binary forms, with or without 81.1Seeh * modification, are permitted provided that the following conditions 91.1Seeh * are met: 101.1Seeh * 1. Redistributions of source code must retain the above copyright 111.1Seeh * notice, this list of conditions and the following disclaimer. 121.1Seeh * 2. Redistributions in binary form must reproduce the above copyright 131.1Seeh * notice, this list of conditions and the following disclaimer in the 141.1Seeh * documentation and/or other materials provided with the distribution. 151.1Seeh * 3. All advertising materials mentioning features or use of this software 161.1Seeh * must display the following acknowledgement: 171.1Seeh * This product includes software developed by the University of 181.1Seeh * California, Berkeley and its contributors. 191.1Seeh * 4. Neither the name of the University nor the names of its contributors 201.1Seeh * may be used to endorse or promote products derived from this software 211.1Seeh * without specific prior written permission. 221.1Seeh * 231.1Seeh * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 241.1Seeh * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 251.1Seeh * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 261.1Seeh * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 271.1Seeh * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 281.1Seeh * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 291.1Seeh * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 301.1Seeh * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 311.1Seeh * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 321.1Seeh * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 331.1Seeh * SUCH DAMAGE. 341.1Seeh * 351.1Seeh * @(#)ansi.h 8.2 (Berkeley) 1/4/94 361.1Seeh */ 371.1Seeh 381.1Seeh#ifndef _ANSI_H_ 391.1Seeh#define _ANSI_H_ 401.1Seeh 411.1Seeh/* 421.1Seeh * Types which are fundamental to the implementation and may appear in 431.1Seeh * more than one standard header are defined here. Standard headers 441.1Seeh * then use: 451.1Seeh * #ifdef _BSD_SIZE_T_ 461.1Seeh * typedef _BSD_SIZE_T_ size_t; 471.1Seeh * #undef _BSD_SIZE_T_ 481.1Seeh * #endif 491.1Seeh */ 501.1Seeh#define _BSD_CLOCK_T_ unsigned long /* clock() */ 511.1Seeh#define _BSD_PTRDIFF_T_ int /* ptr1 - ptr2 */ 521.1Seeh#define _BSD_SIZE_T_ unsigned int /* sizeof() */ 531.1Seeh#define _BSD_SSIZE_T_ int /* byte count or error */ 541.1Seeh#define _BSD_TIME_T_ long /* time() */ 551.1Seeh#define _BSD_VA_LIST_ char * /* va_list */ 561.1Seeh#define _BSD_CLOCKID_T_ int 571.1Seeh#define _BSD_TIMER_T_ int 581.1Seeh 591.1Seeh/* 601.1Seeh * Runes (wchar_t) is declared to be an ``int'' instead of the more natural 611.1Seeh * ``unsigned long'' or ``long''. Two things are happening here. It is not 621.1Seeh * unsigned so that EOF (-1) can be naturally assigned to it and used. Also, 631.1Seeh * it looks like 10646 will be a 31 bit standard. This means that if your 641.1Seeh * ints cannot hold 32 bits, you will be in trouble. The reason an int was 651.1Seeh * chosen over a long is that the is*() and to*() routines take ints (says 661.1Seeh * ANSI C), but they use _RUNE_T_ instead of int. By changing it here, you 671.1Seeh * lose a bit of ANSI conformance, but your programs will still work. 681.1Seeh * 691.1Seeh * Note that _WCHAR_T_ and _RUNE_T_ must be of the same type. When wchar_t 701.1Seeh * and rune_t are typedef'd, _WCHAR_T_ will be undef'd, but _RUNE_T remains 711.1Seeh * defined for ctype.h. 721.1Seeh */ 731.1Seeh#define _BSD_WCHAR_T_ int /* wchar_t */ 741.1Seeh#define _BSD_WINT_T_ int /* wint_t */ 751.1Seeh#define _BSD_RUNE_T_ int /* rune_t */ 761.1Seeh 771.1Seeh#endif /* _ANSI_H_ */ 78