1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165
|
/*
* This file has been modified for the cdrkit suite.
*
* The behaviour and appearence of the program code below can differ to a major
* extent from the version distributed by the original author(s).
*
* For details, see Changelog file distributed with the cdrkit package. If you
* received this file from another source then ask the distributing person for
* a log of modifications.
*
*/
/* @(#)standard.h 1.31 03/08/23 Copyright 1985 J. Schilling */
/*
* standard definitions
*
* This file should be included past:
*
* mconfig.h / config.h
* stdio.h
* stdlib.h (better use stdxlib.h)
* unistd.h (better use unixstd.h) needed LARGEFILE support
*
* If you need stdio.h, you must include it before standard.h
*
* Copyright (c) 1985 J. Schilling
*/
/*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with
* this program; see the file COPYING. If not, write to the Free Software
* Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef _STANDARD_H
#define _STANDARD_H
#ifndef _MCONFIG_H
#include <mconfig.h>
#endif
#ifndef _PROTOTYP_H
#include <prototyp.h>
#endif
#ifdef M68000
# ifndef tos
# define JOS 1
# endif
#endif
/*
* fundamental constants
*/
#ifndef NULL
# define NULL 0
#endif
#ifndef TRUE
# define TRUE 1
# define FALSE 0
#endif
/*
* Program exit codes
*/
#define EX_BAD (-1)
/*
* standard storage class definitions
*/
#define GLOBAL extern
#define IMPORT extern
#define EXPORT
#define INTERN static
#define LOCAL static
#define FAST register
#ifndef PROTOTYPES
# ifndef const
# define const
# endif
# ifndef signed
# define signed
# endif
# ifndef volatile
# define volatile
# endif
#endif /* PROTOTYPES */
/*
* standard type definitions
*
* The hidden Schily BOOL definition is used in case we need to deal
* with other BOOL defines on systems we like to port to.
*/
typedef int __SBOOL;
typedef int BOOL;
#ifdef JOS
# ifndef __GNUC__
# define NO_VOID
# endif
#endif
#ifdef NO_VOID
typedef int VOID;
# ifndef lint
typedef int void;
# endif
#else
typedef void VOID;
#endif
#if defined(_INCL_SYS_TYPES_H) || defined(off_t)
# ifndef FOUND_OFF_T
# define FOUND_OFF_T
# endif
#endif
#if defined(_INCL_SYS_TYPES_H) || defined(size_t)
# ifndef FOUND_SIZE_T
# define FOUND_SIZE_T
# endif
#endif
#ifdef __never_def__
/*
* It turns out that we cannot use the folloginw definition because there are
* some platforms that do not behave application friendly. These are mainly
* BSD-4.4 based systems (which #undef a definition when size_t is available.
* We actually removed this code because of a problem with QNX Neutrino.
* For this reason, it is important not to include <sys/types.h> directly but
* via the Schily SING include files so we know whether it has been included
* before we come here.
*/
#if defined(_SIZE_T) || defined(_T_SIZE_) || defined(_T_SIZE) || \
defined(__SIZE_T) || defined(_SIZE_T_) || \
defined(_GCC_SIZE_T) || defined(_SIZET_) || \
defined(__sys_stdtypes_h) || defined(___int_size_t_h) || defined(size_t)
#ifndef FOUND_SIZE_T
# define FOUND_SIZE_T /* We already included a size_t definition */
#endif
#endif
#endif /* __never_def__ */
#if defined(_JOS) || defined(JOS)
# ifndef _SCHILY_H
# include <schily.h>
# endif
# ifndef _JOS_DEFS_H
# include <jos_defs.h>
# endif
# ifndef _JOS_IO_H
# include <jos_io.h>
# endif
#endif
#endif /* _STANDARD_H */
|