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

SCSI/ASPI

开发平台:

MultiPlatform

  1. /* @(#)standard.h 1.23 00/01/21 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. #ifndef _MCONFIG_H
  39. #include <mconfig.h>
  40. #endif
  41. #ifndef _PROTOTYP_H
  42. #include <prototyp.h>
  43. #endif
  44. /*
  45.  * fundamental constants
  46.  */
  47. #ifndef NULL
  48. # define NULL 0
  49. #endif
  50. #ifndef TRUE
  51. # define TRUE 1
  52. # define FALSE 0
  53. #endif
  54. #define YES 1
  55. #define NO 0
  56. /*
  57.  * Program exit codes
  58.  */
  59. #define EX_BAD (-1)
  60. /*
  61.  * standard storage class definitions
  62.  */
  63. #define GLOBAL extern
  64. #define IMPORT extern
  65. #define EXPORT
  66. #define INTERN static
  67. #define LOCAL static
  68. #define FAST register
  69. #if defined(_JOS) || defined(JOS)
  70. # define global extern
  71. # define import extern
  72. # define export
  73. # define intern static
  74. # define local static
  75. # define fast register
  76. #endif
  77. #ifndef PROTOTYPES
  78. # ifndef const
  79. # define const
  80. # endif
  81. # ifndef signed
  82. # define signed
  83. # endif
  84. # ifndef volatile
  85. # define volatile
  86. # endif
  87. #endif /* PROTOTYPES */
  88. /*
  89.  * standard type definitions
  90.  *
  91.  * The hidden Schily BOOL definition is used in case we need to deal
  92.  * with other BOOL defines on systems we like to port to.
  93.  */
  94. typedef int __SBOOL;
  95. typedef int BOOL;
  96. typedef int bool;
  97. #ifdef JOS
  98. # define NO_VOID
  99. #endif
  100. #ifdef NO_VOID
  101. typedef int VOID;
  102. # ifndef lint
  103. typedef int void;
  104. # endif
  105. #else
  106. typedef void VOID;
  107. #endif
  108. #if defined(_SIZE_T)     || defined(_T_SIZE_) || defined(_T_SIZE) || 
  109. defined(__SIZE_T)    || defined(_SIZE_T_) || 
  110. defined(_GCC_SIZE_T) || defined(_SIZET_)  || 
  111. defined(__sys_stdtypes_h) || defined(___int_size_t_h) || defined(size_t)
  112. #ifndef HAVE_SIZE_T
  113. # define HAVE_SIZE_T /* We already included a size_t definition */
  114. #endif
  115. #endif
  116. /*
  117.  * Until we fixed all programs that #include <standard.h>
  118.  */
  119. #include <schily.h>
  120. #if defined(_JOS) || defined(JOS)
  121. # include <jos_io.h>
  122. #endif
  123. #endif /* _STANDARD_H */