home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Internet 2000 May / MICD_2000_05.iso / CBuilder5 / INSTALL / DATA1.CAB / Program_Built_Files / Include / errno.h < prev    next >
C/C++ Source or Header  |  2000-02-01  |  5KB  |  153 lines

  1. /*  errno.h
  2.  
  3.     Defines the system error variable errno and the error
  4.     numbers set by system calls. Errors which exist in Unix(tm)
  5.     but not MSDOS have value -1.
  6.  
  7. */
  8.  
  9. /*
  10.  *      C/C++ Run Time Library - Version 10.0
  11.  *
  12.  *      Copyright (c) 1987, 2000 by Inprise Corporation
  13.  *      All Rights Reserved.
  14.  *
  15.  */
  16.  
  17. /* $Revision:   9.6  $ */
  18.  
  19. #ifndef __ERRNO_H
  20. #define __ERRNO_H
  21.  
  22. #ifndef ___STDDEF_H
  23. #include <_stddef.h>
  24. #endif
  25.  
  26. #ifdef __cplusplus
  27. namespace std {
  28. extern "C" {
  29. #endif /* __cplusplus */
  30.  
  31. #if !defined(RC_INVOKED)
  32.  
  33.  
  34. #if defined(__STDC__)
  35. #pragma warn -nak
  36. #endif
  37.  
  38. #endif  /* !RC_INVOKED */
  39.  
  40.  
  41. /*  Dos Error Codes */
  42.  
  43. #define EZERO      0    /* Error 0                          */
  44. #define EINVFNC    1    /* Invalid function number          */
  45. #define ENOFILE    2    /* File not found                   */
  46. #define ENOPATH    3    /* Path not found                   */
  47. #define ECONTR     7    /* Memory blocks destroyed          */
  48. #define EINVMEM    9    /* Invalid memory block address     */
  49. #define EINVENV   10    /* Invalid environment              */
  50. #define EINVFMT   11    /* Invalid format                   */
  51. #define EINVACC   12    /* Invalid access code              */
  52. #define EINVDAT   13    /* Invalid data                     */
  53. #define EINVDRV   15    /* Invalid drive specified          */
  54. #define ECURDIR   16    /* Attempt to remove CurDir         */
  55. #define ENOTSAM   17    /* Not same device                  */
  56. #define ENMFILE   18    /* No more files                    */
  57.  
  58. #define ENOENT     2    /* No such file or directory        */
  59. #define EMFILE     4    /* Too many open files              */
  60. #define EACCES     5    /* Permission denied                */
  61. #define EBADF      6    /* Bad file number                  */
  62. #define ENOMEM     8    /* Not enough core                  */
  63. #define EFAULT    14    /* Unknown error                    */
  64. #define ENODEV    15    /* No such device                   */
  65. #define EINVAL    19    /* Invalid argument                 */
  66. #define E2BIG     20    /* Arg list too long                */
  67. #define ENOEXEC   21    /* Exec format error                */
  68. #define EXDEV     22    /* Cross-device link                */
  69. #define ENFILE    23    /* Too many open files              */
  70. #define ECHILD    24    /* No child process                 */
  71. #define ENOTTY    25    /* UNIX - not MSDOS                 */
  72. #define ETXTBSY   26    /* UNIX - not MSDOS                 */
  73. #define EFBIG     27    /* UNIX - not MSDOS                 */
  74. #define ENOSPC    28    /* No space left on device          */
  75. #define ESPIPE    29    /* Illegal seek                     */
  76. #define EROFS     30    /* Read-only file system            */
  77. #define EMLINK    31    /* UNIX - not MSDOS                 */
  78. #define EPIPE     32    /* Broken pipe                      */
  79. #define EDOM      33    /* Math argument                    */
  80. #define ERANGE    34    /* Result too large                 */
  81. #define EEXIST    35    /* File already exists              */
  82. #define EDEADLOCK 36    /* Locking violation                */
  83. #define EPERM     37    /* Operation not permitted          */
  84. #define ESRCH     38    /* UNIX - not MSDOS                 */
  85. #define EINTR     39    /* Interrupted function call        */
  86. #define EIO       40    /* Input/output error               */
  87. #define ENXIO     41    /* No such device or address        */
  88. #define EAGAIN    42    /* Resource temporarily unavailable */
  89. #define ENOTBLK   43    /* UNIX - not MSDOS                 */
  90. #define EBUSY     44    /* Resource busy                    */
  91. #define ENOTDIR   45    /* UNIX - not MSDOS                 */
  92. #define EISDIR    46    /* UNIX - not MSDOS                 */
  93. #define EUCLEAN   47    /* UNIX - not MSDOS                 */
  94. #define ENAMETOOLONG 48 /* Filename too long                */
  95. #define ENOTEMPTY 49    /* Directory not empty              */
  96.  
  97. #if !defined(__STDC__)
  98. #define sys_nerr     _sys_nerr
  99. #define sys_errlist  _sys_errlist
  100. #endif
  101.  
  102. #ifdef _MT
  103.  
  104. #ifdef __cplusplus
  105. extern "C" {
  106. #endif
  107. extern  int * _RTLENTRY _EXPFUNC __errno(void);
  108. extern  int * _RTLENTRY _EXPFUNC __doserrno(void);
  109. #ifdef  __cplusplus
  110. }
  111. #endif
  112. #define errno (*__errno())
  113. #define _doserrno (*__doserrno())
  114.  
  115. #else
  116.  
  117. extern  int _RTLENTRY  _EXPDATA errno;
  118. extern  int _RTLENTRY  _EXPDATA _doserrno;
  119.  
  120. #endif
  121.  
  122. extern  int   _RTLENTRY _EXPDATA _sys_nerr;
  123. extern char * _RTLENTRY _EXPDATA _sys_errlist[];
  124.  
  125. #if !defined(RC_INVOKED)
  126.  
  127. #if defined(__STDC__)
  128. #pragma warn .nak
  129. #endif
  130.  
  131.  
  132. #endif  /* !RC_INVOKED */
  133.  
  134. #ifdef __cplusplus
  135. } // "C"
  136. } // std
  137. #endif /* __cplusplus */
  138.  
  139. #endif  /* __ERRNO_H  */
  140.  
  141. #if defined(__cplusplus) && !defined(__USING_CNAME__) && !defined(__ERRNO_H_USING_LIST)
  142. #define __ERRNO_H_USING_LIST
  143. #    ifdef _MT
  144.        using std:: __errno;
  145.        using std:: __doserrno;
  146. #    else // !_MT
  147.        using std::errno;
  148.        using std::_doserrno;
  149. #    endif // _MT
  150.      using std::_sys_nerr;
  151.      using std::_sys_errlist;
  152. #endif /* __USING_CNAME__ */
  153.