chiark / gitweb /
Create readable text `.bas' for each tokenized BASIC `,ffb' file.
[ssr] / StraySrc / Libraries / DLLLib / h / errno
1 #pragma force_top_level
2 #pragma include_only_once
3
4 /* errno.h: ANSI 'C' (X3J11 Oct 88) library header, section 4.1.3 */
5 /* Copyright (C) Codemist Ltd. */
6 /* Copyright (C) Acorn Computers Ltd. 1991, 1992 */
7 /* version 2.00 */
8
9 #ifndef __errno_h
10 #define __errno_h
11
12 #ifndef errno
13   #ifdef __cplusplus
14     extern "C" {
15     #define _VOLATILE
16   #else
17     #define _VOLATILE volatile
18   #endif
19
20   #ifdef SYSTEM_STATICS
21     extern _VOLATILE int *__errno;
22     #define errno *__errno
23   #elif defined(_DLL)
24     extern int *_dll_errno(void);
25     #define errno (*_dll_errno())
26   #else
27     extern _VOLATILE int __errno;
28     #define errno __errno
29   #endif
30
31   #ifdef __cplusplus
32     }
33   #endif
34
35   #undef _VOLATILE
36
37 #endif
38
39    /*
40     * expands to a modifiable lvalue that has type volatile int, the value of
41     * which is set to a positive error code by several library functions. It is
42     * initialised to zero at program startup, but is never set to zero by any
43     * library function. The value of errno may be set to nonzero by a library
44     * function call whether or not there is an error, provided the use of errno
45     * is not documented in the description of the function in the Standard.
46     */
47
48 #define EDOM    1
49    /*
50     * if a domain error occurs (an input argument is outside the domain over
51     * which the mathematical function is defined) the integer expression errno
52     * acquires the value of the macro EDOM and HUGE_VAL is returned. EDOM may
53     * be used by non-mathematical functions.
54     */
55 #define ERANGE 2
56    /*
57     * a range error occurs if the result of a function can not be represented
58     * as a double value. If the result overflows (the magnitude of the result
59     * is so large that it cannot be represented in an object of the specified
60     * type), the function returns the value of the macro HUGE_VAL, with the
61     * same sign as the correct value of the function; the integer expression
62     * errno acquires the value of the macro ERANGE. If the result underflows
63     * (the magnitude of the result is so small that it cannot be represented
64     * in an object of the specified type), the function returns zero; the
65     * integer expression errno acquires the value of the macro ERANGE. ERANGE
66     * may be used by non-mathematical functions.
67     */
68 #define ESIGNUM 3
69
70 #endif
71
72 /* end of errno.h */