aboutsummaryrefslogtreecommitdiffstats
path: root/libical/MacOS/errno.h
blob: 4be3479b505f64112d6569122e7ee738b74d17a4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
/*
 * Copyright (c) 1982, 1986, 1989 Regents of the University of California.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgement:
 *  This product includes software developed by the University of
 *  California, Berkeley and its contributors.
 * 4. Neither the name of the University nor the names of its contributors
 *    may be used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 *
 *  @(#)errno.h 7.13 (Berkeley) 2/19/91
 */

#ifdef macintosh
#include <errno.h>
#else
#ifndef KERNEL
extern int errno;           /* global error number */
#endif
#endif


#define EPERM           1       /* Operation not permitted */
/* MSL defines ENOMEM, EACCES, ENOENT, ENOSYS. We give in. */
#ifndef ENOENT
#define ENOENT      2       /* No such file or directory */
#endif
#define ESRCH           3       /* No such process */
#define EINTR           4       /* Interrupted system call */
#define EIO         5       /* Input/output error */
#define ENXIO           6       /* Device not configured */
#define E2BIG           7       /* Argument list too long */
#define ENOEXEC     8       /* Exec format error */
#define EBADF           9       /* Bad file descriptor */
#define ECHILD      10      /* No child processes */
#define EDEADLK     11      /* Resource deadlock avoided */
                    /* 11 was EAGAIN */
#ifndef ENOMEM  
#define ENOMEM      12      /* Cannot allocate memory */
#define EACCES      13      /* Permission denied */
#endif
#define EFAULT      14      /* Bad address */
#ifndef _POSIX_SOURCE
#define ENOTBLK     15      /* Block device required */
#define EBUSY           16      /* Device busy */
#endif
#define EEXIST      17      /* File exists */
#define EXDEV           18      /* Cross-device link */
#define ENODEV      19      /* Operation not supported by device */
#define ENOTDIR     20      /* Not a directory */
#define EISDIR      21      /* Is a directory */
#define EINVAL      22      /* Invalid argument */
#define ENFILE      23      /* Too many open files in system */
#define EMFILE      24      /* Too many open files */
#define ENOTTY      25      /* Inappropriate ioctl for device */
#ifndef _POSIX_SOURCE
#define ETXTBSY     26      /* Text file busy */
#endif
#define EFBIG           27      /* File too large */
#define ENOSPC      28      /* No space left on device */
#define ESPIPE      29      /* Illegal seek */
#define EROFS           30      /* Read-only file system */
#define EMLINK      31      /* Too many links */
#define EPIPE           32      /* Broken pipe */

#ifndef __MWERKS__
/* math software */
#define EDOM            33      /* Numerical argument out of domain */
#define ERANGE      34      /* Result too large */
#endif

/* non-blocking and interrupt i/o */
#if defined(macintosh) 
#ifndef EAGAIN
#define EAGAIN      11
#endif
#else
#define EAGAIN      35      /* Resource temporarily unavailable */
#endif
#define EWOULDBLOCK EAGAIN  /* Operation would block */
#ifndef _POSIX_SOURCE
/* Did I tell that MSL also occupies errnos 33-40? We give in. */
#if ENOMEM==37
#define EINPROGRESS 136     /* Operation now in progress */
#define EALREADY        137     /* Operation already in progress */

/* ipc/network software -- argument errors */
#define ENOTSOCK        138     /* Socket operation on non-socket */
#define EDESTADDRREQ    139     /* Destination address required */
#define EMSGSIZE        140     /* Message too long */
#else
#define EINPROGRESS 36      /* Operation now in progress */
#define EALREADY        37      /* Operation already in progress */

/* ipc/network software -- argument errors */
#define ENOTSOCK        38      /* Socket operation on non-socket */
#define EDESTADDRREQ    39      /* Destination address required */
#define EMSGSIZE        40      /* Message too long */
#endif
#define EPROTOTYPE  41      /* Protocol wrong type for socket */
#define ENOPROTOOPT 42      /* Protocol not available */
#define EPROTONOSUPPORT 43      /* Protocol not supported */
#define ESOCKTNOSUPPORT 44      /* Socket type not supported */
#define EOPNOTSUPP      45      /* Operation not supported on socket */
#define EPFNOSUPPORT    46      /* Protocol family not supported */
#define EAFNOSUPPORT    47      /* Address family not supported by protocol family */
#define EADDRINUSE      48      /* Address already in use */
#define EADDRNOTAVAIL   49      /* Can't assign requested address */

/* ipc/network software -- operational errors */
#define ENETDOWN            50      /* Network is down */
#define ENETUNREACH     51      /* Network is unreachable */
#define ENETRESET       52      /* Network dropped connection on reset */
#define ECONNABORTED    53      /* Software caused connection abort */
#define ECONNRESET      54      /* Connection reset by peer */
#define ENOBUFS         55      /* No buffer space available */
#define EISCONN         56      /* Socket is already connected */
#define ENOTCONN            57      /* Socket is not connected */
#define ESHUTDOWN       58      /* Can't send after socket shutdown */
#define ETOOMANYREFS    59      /* Too many references: can't splice */
#define ETIMEDOUT       60      /* Connection timed out */
#define ECONNREFUSED    61      /* Connection refused */

#define ELOOP               62      /* Too many levels of symbolic links */
#endif /* _POSIX_SOURCE */
#define ENAMETOOLONG    63      /* File name too long */

/* should be rearranged */
#ifndef _POSIX_SOURCE
#define EHOSTDOWN       64      /* Host is down */
#define EHOSTUNREACH    65      /* No route to host */
#endif /* _POSIX_SOURCE */
#define ENOTEMPTY       66      /* Directory not empty */

/* quotas & mush */
#ifndef _POSIX_SOURCE
#define EPROCLIM            67      /* Too many processes */
#define EUSERS          68      /* Too many users */
#define EDQUOT          69      /* Disc quota exceeded */

/* Network File System */
#define ESTALE          70      /* Stale NFS file handle */
#define EREMOTE         71      /* Too many levels of remote in path */
#define EBADRPC         72      /* RPC struct is bad */
#define ERPCMISMATCH    73      /* RPC version wrong */
#define EPROGUNAVAIL    74      /* RPC prog. not avail */
#define EPROGMISMATCH   75      /* Program version wrong */
#define EPROCUNAVAIL    76      /* Bad procedure for program */
#endif /* _POSIX_SOURCE */

#define ENOLCK          77      /* No locks available */

#ifndef ENOSYS
#define ENOSYS          78      /* Function not implemented */
#endif

#define EFTYPE          79      /* Inappropriate file type or format */

#ifdef KERNEL
/* pseudo-errors returned inside kernel to modify return to process */
#define ERESTART    -1      /* restart syscall */
#define EJUSTRETURN -2      /* don't modify regs, just return */
#endif