Numworks Epsilon
1.4.1
Graphing Calculator Operating System
mperrno.h
Go to the documentation of this file.
1
/*
2
* This file is part of the MicroPython project, http://micropython.org/
3
*
4
* The MIT License (MIT)
5
*
6
* Copyright (c) 2016 Damien P. George
7
*
8
* Permission is hereby granted, free of charge, to any person obtaining a copy
9
* of this software and associated documentation files (the "Software"), to deal
10
* in the Software without restriction, including without limitation the rights
11
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12
* copies of the Software, and to permit persons to whom the Software is
13
* furnished to do so, subject to the following conditions:
14
*
15
* The above copyright notice and this permission notice shall be included in
16
* all copies or substantial portions of the Software.
17
*
18
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24
* THE SOFTWARE.
25
*/
26
#ifndef MICROPY_INCLUDED_PY_MPERRNO_H
27
#define MICROPY_INCLUDED_PY_MPERRNO_H
28
29
#include "
py/mpconfig.h
"
30
31
#if MICROPY_USE_INTERNAL_ERRNO
32
33
// MP_Exxx errno's are defined directly as numeric values
34
// (Linux constants are used as a reference)
35
36
#define MP_EPERM (1) // Operation not permitted
37
#define MP_ENOENT (2) // No such file or directory
38
#define MP_ESRCH (3) // No such process
39
#define MP_EINTR (4) // Interrupted system call
40
#define MP_EIO (5) // I/O error
41
#define MP_ENXIO (6) // No such device or address
42
#define MP_E2BIG (7) // Argument list too long
43
#define MP_ENOEXEC (8) // Exec format error
44
#define MP_EBADF (9) // Bad file number
45
#define MP_ECHILD (10) // No child processes
46
#define MP_EAGAIN (11) // Try again
47
#define MP_ENOMEM (12) // Out of memory
48
#define MP_EACCES (13) // Permission denied
49
#define MP_EFAULT (14) // Bad address
50
#define MP_ENOTBLK (15) // Block device required
51
#define MP_EBUSY (16) // Device or resource busy
52
#define MP_EEXIST (17) // File exists
53
#define MP_EXDEV (18) // Cross-device link
54
#define MP_ENODEV (19) // No such device
55
#define MP_ENOTDIR (20) // Not a directory
56
#define MP_EISDIR (21) // Is a directory
57
#define MP_EINVAL (22) // Invalid argument
58
#define MP_ENFILE (23) // File table overflow
59
#define MP_EMFILE (24) // Too many open files
60
#define MP_ENOTTY (25) // Not a typewriter
61
#define MP_ETXTBSY (26) // Text file busy
62
#define MP_EFBIG (27) // File too large
63
#define MP_ENOSPC (28) // No space left on device
64
#define MP_ESPIPE (29) // Illegal seek
65
#define MP_EROFS (30) // Read-only file system
66
#define MP_EMLINK (31) // Too many links
67
#define MP_EPIPE (32) // Broken pipe
68
#define MP_EDOM (33) // Math argument out of domain of func
69
#define MP_ERANGE (34) // Math result not representable
70
#define MP_EWOULDBLOCK MP_EAGAIN // Operation would block
71
#define MP_EOPNOTSUPP (95) // Operation not supported on transport endpoint
72
#define MP_EAFNOSUPPORT (97) // Address family not supported by protocol
73
#define MP_EADDRINUSE (98) // Address already in use
74
#define MP_ECONNABORTED (103) // Software caused connection abort
75
#define MP_ECONNRESET (104) // Connection reset by peer
76
#define MP_ENOBUFS (105) // No buffer space available
77
#define MP_EISCONN (106) // Transport endpoint is already connected
78
#define MP_ENOTCONN (107) // Transport endpoint is not connected
79
#define MP_ETIMEDOUT (110) // Connection timed out
80
#define MP_ECONNREFUSED (111) // Connection refused
81
#define MP_EHOSTUNREACH (113) // No route to host
82
#define MP_EALREADY (114) // Operation already in progress
83
#define MP_EINPROGRESS (115) // Operation now in progress
84
85
#else
86
87
// MP_Exxx errno's are defined in terms of system supplied ones
88
89
#include <
errno.h
>
90
91
#define MP_EPERM EPERM
92
#define MP_ENOENT ENOENT
93
#define MP_ESRCH ESRCH
94
#define MP_EINTR EINTR
95
#define MP_EIO EIO
96
#define MP_ENXIO ENXIO
97
#define MP_E2BIG E2BIG
98
#define MP_ENOEXEC ENOEXEC
99
#define MP_EBADF EBADF
100
#define MP_ECHILD ECHILD
101
#define MP_EAGAIN EAGAIN
102
#define MP_ENOMEM ENOMEM
103
#define MP_EACCES EACCES
104
#define MP_EFAULT EFAULT
105
#define MP_ENOTBLK ENOTBLK
106
#define MP_EBUSY EBUSY
107
#define MP_EEXIST EEXIST
108
#define MP_EXDEV EXDEV
109
#define MP_ENODEV ENODEV
110
#define MP_ENOTDIR ENOTDIR
111
#define MP_EISDIR EISDIR
112
#define MP_EINVAL EINVAL
113
#define MP_ENFILE ENFILE
114
#define MP_EMFILE EMFILE
115
#define MP_ENOTTY ENOTTY
116
#define MP_ETXTBSY ETXTBSY
117
#define MP_EFBIG EFBIG
118
#define MP_ENOSPC ENOSPC
119
#define MP_ESPIPE ESPIPE
120
#define MP_EROFS EROFS
121
#define MP_EMLINK EMLINK
122
#define MP_EPIPE EPIPE
123
#define MP_EDOM EDOM
124
#define MP_ERANGE ERANGE
125
#define MP_EWOULDBLOCK EAGAIN
126
#define MP_EOPNOTSUPP EOPNOTSUPP
127
#define MP_EAFNOSUPPORT EAFNOSUPPORT
128
#define MP_EADDRINUSE EADDRINUSE
129
#define MP_ECONNABORTED ECONNABORTED
130
#define MP_ECONNRESET ECONNRESET
131
#define MP_ENOBUFS ENOBUFS
132
#define MP_EISCONN EISCONN
133
#define MP_ENOTCONN ENOTCONN
134
#define MP_ETIMEDOUT ETIMEDOUT
135
#define MP_ECONNREFUSED ECONNREFUSED
136
#define MP_EHOSTUNREACH EHOSTUNREACH
137
#define MP_EALREADY EALREADY
138
#define MP_EINPROGRESS EINPROGRESS
139
140
#endif
141
142
#if MICROPY_PY_UERRNO
143
144
#include "
py/obj.h
"
145
146
qstr
mp_errno_to_str(
mp_obj_t
errno_val);
147
148
#endif
149
150
#endif // MICROPY_INCLUDED_PY_MPERRNO_H
obj.h
errno.h
qstr
size_t qstr
Definition:
qstr.h:48
mpconfig.h
mp_obj_t
uint64_t mp_obj_t
Definition:
obj.h:39
epsilon
python
src
py
mperrno.h
Generated by
1.8.14