standard.h
上传用户:weiliju62
上传日期:2007-01-06
资源大小:619k
文件大小:3k
源码类别:

SCSI/ASPI

开发平台:

MultiPlatform

  1. /* @(#)standard.h 1.21 99/08/12 Copyright 1985 J. Schilling */
  2. /*
  3.  * standard definitions
  4.  *
  5.  * This file should be included past:
  6.  *
  7.  * mconfig.h / config.h
  8.  * stdio.h
  9.  * stdlib.h
  10.  * unistd.h
  11.  * string.h
  12.  * sys/types.h
  13.  *
  14.  * Copyright (c) 1985 J. Schilling
  15.  */
  16. /*
  17.  * This program is free software; you can redistribute it and/or modify
  18.  * it under the terms of the GNU General Public License as published by
  19.  * the Free Software Foundation; either version 2, or (at your option)
  20.  * any later version.
  21.  *
  22.  * This program is distributed in the hope that it will be useful,
  23.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  24.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  25.  * GNU General Public License for more details.
  26.  *
  27.  * You should have received a copy of the GNU General Public License
  28.  * along with this program; see the file COPYING.  If not, write to
  29.  * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  30.  */
  31. #ifndef _STANDARD_H
  32. #define _STANDARD_H
  33. #ifdef M68000
  34. # ifndef tos
  35. # define JOS 1
  36. # endif
  37. #endif
  38. #include <prototyp.h>
  39. /*
  40.  * fundamental constants
  41.  */
  42. #ifndef NULL
  43. # define NULL 0
  44. #endif
  45. #ifndef TRUE
  46. # define TRUE 1
  47. # define FALSE 0
  48. #endif
  49. #define YES 1
  50. #define NO 0
  51. /*
  52.  * Program exit codes
  53.  */
  54. #define EX_BAD (-1)
  55. /*
  56.  * standard storage class definitions
  57.  */
  58. #define GLOBAL extern
  59. #define IMPORT extern
  60. #define EXPORT
  61. #define INTERN static
  62. #define LOCAL static
  63. #define FAST register
  64. #if defined(_JOS) || defined(JOS)
  65. # define global extern
  66. # define import extern
  67. # define export
  68. # define intern static
  69. # define local static
  70. # define fast register
  71. #endif
  72. #ifndef PROTOTYPES
  73. # ifndef const
  74. # define const
  75. # endif
  76. # ifndef signed
  77. # define signed
  78. # endif
  79. # ifndef volatile
  80. # define volatile
  81. # endif
  82. #endif /* PROTOTYPES */
  83. /*
  84.  * standard type definitions
  85.  *
  86.  * The hidden Schily BOOL definition is used in case we need to deal
  87.  * with other BOOL defines on systems we like to port to.
  88.  */
  89. typedef int __SBOOL;
  90. typedef int BOOL;
  91. #ifndef __cplusplus
  92. typedef int bool;
  93. #endif
  94. #ifdef JOS
  95. # define NO_VOID
  96. #endif
  97. #ifdef NO_VOID
  98. typedef int VOID;
  99. # ifndef lint
  100. typedef int void;
  101. # endif
  102. #else
  103. typedef void VOID;
  104. #endif
  105. #if defined(_SIZE_T)     || defined(_T_SIZE_) || defined(_T_SIZE) || 
  106. defined(__SIZE_T)    || defined(_SIZE_T_) || 
  107. defined(_GCC_SIZE_T) || defined(_SIZET_)  || 
  108. defined(__sys_stdtypes_h) || defined(___int_size_t_h)
  109. #ifndef HAVE_SIZE_T
  110. # define HAVE_SIZE_T
  111. #endif
  112. #endif
  113. /*
  114.  * Until we fixed all programs that #include <standard.h>
  115.  */
  116. #include <schily.h>
  117. #if defined(_JOS) || defined(JOS)
  118. # include <jos_io.h>
  119. #endif
  120. #endif /* _STANDARD_H */