blob: 4cc6911e2dae706ae00e8a4b9a934e2f7dfd856e (
plain)
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
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
|
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* @file
* @ingroup Port
* @brief Port Library Error Codes
*
* When an error is reported by the operating system the port library must translate this OS specific error code to a
* portable error code. All portable error codes are negative numbers. Not every module of the port library will have
* error codes dedicated to it's own use, some will use the generic portable error code values.
*
* Errors reported by the OS may be recorded by calling the port library functions @ref hyerror.c::hyerror_set_last_error "hyerror_set_last_error()"
* or @ref hyerror.c::hyerror_set_last_error_with_message "hyerror_set_last_error_with_message()". The mapping of the OS specific error
* code to a portable error code is the responsibility of the calling module.
*/
#if !defined(hyporterror_h)
#define hyporterror_h
/**
* @name Generic Errors
* Generic error codes for modules that do not have their own specific errors. Where possible it is recommended that all
* modules that return error codes have their own set
*
* @internal HYPORT_ERROR* range from -1 to -99 avoid overlap
* @{
*/
#define HYPORT_ERROR_BASE -1
#define HYPORT_ERROR_OPFAILED HYPORT_ERROR_BASE
#define HYPORT_ERROR_EOF HYPORT_ERROR_BASE-1
#define HYPORT_ERROR_NOPERMISSION HYPORT_ERROR_BASE-2
#define HYPORT_ERROR_NOTFOUND HYPORT_ERROR_BASE-3
#define HYPORT_ERROR_NAMETOOLONG HYPORT_ERROR_BASE-4
#define HYPORT_ERROR_DISKFULL HYPORT_ERROR_BASE-5
#define HYPORT_ERROR_EXIST HYPORT_ERROR_BASE-6
#define HYPORT_ERROR_NOTEXIST HYPORT_ERROR_BASE-7
#define HYPORT_ERROR_SYSTEMFULL HYPORT_ERROR_BASE-8
#define HYPORT_ERROR_NOENT HYPORT_ERROR_BASE-9
#define HYPORT_ERROR_DIRECTORY HYPORT_ERROR_BASE-10
#define HYPORT_ERROR_NOTDIRECTORY HYPORT_ERROR_BASE-11
#define HYPORT_ERROR_LOOP HYPORT_ERROR_BASE-12
#define HYPORT_ERROR_BADF HYPORT_ERROR_BASE-13
#define HYPORT_ERROR_WOULDBLOCK HYPORT_ERROR_BASE-14
#define HYPORT_ERROR_INVALID HYPORT_ERROR_BASE-15
/** @} */
/**
* @name Port Library startup failure code
* Failures related to the initialization and startup of the port library.
*
* @internal HYPORT_ERROR_STARTUP* range from -100 to -149 to avoid overlap
* @{
*/
#define HYPORT_ERROR_STARTUP_BASE -100
#define HYPORT_ERROR_STARTUP_THREAD (HYPORT_ERROR_STARTUP_BASE)
#define HYPORT_ERROR_STARTUP_MEM (HYPORT_ERROR_STARTUP_BASE -1)
#define HYPORT_ERROR_STARTUP_TLS (HYPORT_ERROR_STARTUP_BASE -2)
#define HYPORT_ERROR_STARTUP_TLS_ALLOC (HYPORT_ERROR_STARTUP_BASE -3)
#define HYPORT_ERROR_STARTUP_TLS_MUTEX (HYPORT_ERROR_STARTUP_BASE -4)
#define HYPORT_ERROR_STARTUP_CPU (HYPORT_ERROR_STARTUP_BASE -5)
#define HYPORT_ERROR_STARTUP_VMEM (HYPORT_ERROR_STARTUP_BASE -6)
#define HYPORT_ERROR_STARTUP_FILE (HYPORT_ERROR_STARTUP_BASE -7)
#define HYPORT_ERROR_STARTUP_TTY (HYPORT_ERROR_STARTUP_BASE -8)
#define HYPORT_ERROR_STARTUP_TTY_HANDLE (HYPORT_ERROR_STARTUP_BASE -9)
#define HYPORT_ERROR_STARTUP_TTY_CONSOLE (HYPORT_ERROR_STARTUP_BASE -10)
#define HYPORT_ERROR_STARTUP_MMAP (HYPORT_ERROR_STARTUP_BASE -11)
#define HYPORT_ERROR_STARTUP_IPCMUTEX (HYPORT_ERROR_STARTUP_BASE -12)
#define HYPORT_ERROR_STARTUP_NLS (HYPORT_ERROR_STARTUP_BASE -13)
#define HYPORT_ERROR_STARTUP_SOCK (HYPORT_ERROR_STARTUP_BASE -14)
#define HYPORT_ERROR_STARTUP_TIME (HYPORT_ERROR_STARTUP_BASE -15)
#define HYPORT_ERROR_STARTUP_GP (HYPORT_ERROR_STARTUP_BASE -16)
#define HYPORT_ERROR_STARTUP_EXIT (HYPORT_ERROR_STARTUP_BASE -17)
#define HYPORT_ERROR_STARTUP_SYSINFO (HYPORT_ERROR_STARTUP_BASE -18)
#define HYPORT_ERROR_STARTUP_SL (HYPORT_ERROR_STARTUP_BASE -19)
#define HYPORT_ERROR_STARTUP_STR (HYPORT_ERROR_STARTUP_BASE -20)
#define HYPORT_ERROR_STARTUP_SHSEM (HYPORT_ERROR_STARTUP_BASE -21)
#define HYPORT_ERROR_STARTUP_SHMEM (HYPORT_ERROR_STARTUP_BASE -22)
#define HYPORT_ERROR_STARTUP_ERROR (HYPORT_ERROR_STARTUP_BASE -23)
#define HYPORT_ERROR_STARTUP_SIGNAL (HYPORT_ERROR_STARTUP_BASE -24)
/** @} */
/**
* @name Shared Semaphore Errors
* Error codes for shared semaphore operations.
*
* @internal HYPORT_ERROR_SHSEM* range from at -150 to 159 to avoid overlap
* @{
*/
#define HYPORT_ERROR_SHSEM_BASE -150
#define HYPORT_ERROR_SHSEM_OPFAILED (HYPORT_ERROR_SHSEM_BASE)
#define HYPORT_ERROR_SHSEM_HANDLE_INVALID (HYPORT_ERROR_SHSEM_BASE-1)
#define HYPORT_ERROR_SHSEM_SEMSET_INVALID (HYPORT_ERROR_SHSEM_BASE-2)
#define HYPORT_ERROR_SHSEM_NOT_EXIST (HYPORT_ERROR_SHSEM_BASE-3)
#define HYPORT_ERROR_SHSEM_NOPERMISSION (HYPORT_ERROR_SHSEM_BASE-4)
#define HYPORT_ERROR_SHSEM_INVALID_INPUT (HYPORT_ERROR_SHSEM_BASE-5)
#define HYPORT_ERROR_SHSEM_NOSPACE (HYPORT_ERROR_SHSEM_BASE-6)
#define HYPORT_ERROR_SHSEM_ALREADY_EXIST (HYPORT_ERROR_SHSEM_BASE-7)
#define HYPORT_ERROR_SHSEM_DATA_DIRECTORY_FAILED (HYPORT_ERROR_SHSEM_BASE-8)
/** @} */
/**
* @name Shared Memory Errors
* Error codes for shared memory semaphore operations.
*
* @internal HYPORT_ERROR_SHMEM* range from at -160 to -169 to avoid overlap
* @{
*/
#define HYPORT_ERROR_SHMEM_BASE -160
#define HYPORT_ERROR_SHMEM_OPFAILED (HYPORT_ERROR_SHMEM_BASE)
#define HYPORT_ERROR_SHMEM_HANDLE_INVALID (HYPORT_ERROR_SHMEM_BASE-1)
#define HYPORT_ERROR_SHMEM_NOT_EXIST (HYPORT_ERROR_SHMEM_BASE-2)
#define HYPORT_ERROR_SHMEM_NOPERMISSION (HYPORT_ERROR_SHMEM_BASE-3)
#define HYPORT_ERROR_SHMEM_INVALID_INPUT (HYPORT_ERROR_SHMEM_BASE-4)
#define HYPORT_ERROR_SHMEM_NOSPACE (HYPORT_ERROR_SHMEM_BASE-5)
#define HYPORT_ERROR_SHMEM_ALREADY_EXIST (HYPORT_ERROR_SHMEM_BASE-6)
#define HYPORT_ERROR_SHMEM_TOOBIG (HYPORT_ERROR_SHMEM_BASE-7)
#define HYPORT_ERROR_SHMEM_ATTACH_FAILED (HYPORT_ERROR_SHMEM_BASE-8)
#define HYPORT_ERROR_SHMEM_DATA_DIRECTORY_FAILED (HYPORT_ERROR_SHMEM_BASE-9)
/** @} */
/* -170 to -199 available for use */
/**
* @name Socket Errors
* Error codes for socket operations
*
* @internal HYPORT_ERROR_SOCKET* range from -200 to -299 avoid overlap
* @{
*/
#define HYPORT_ERROR_SOCKET_BASE -200
#define HYPORT_ERROR_SOCKET_BADSOCKET HYPORT_ERROR_SOCKET_BASE /* generic error */
#define HYPORT_ERROR_SOCKET_NOTINITIALIZED HYPORT_ERROR_SOCKET_BASE-1 /* socket library uninitialized */
#define HYPORT_ERROR_SOCKET_BADAF HYPORT_ERROR_SOCKET_BASE-2 /* bad address family */
#define HYPORT_ERROR_SOCKET_BADPROTO HYPORT_ERROR_SOCKET_BASE-3 /* bad protocol */
#define HYPORT_ERROR_SOCKET_BADTYPE HYPORT_ERROR_SOCKET_BASE-4 /* bad type */
#define HYPORT_ERROR_SOCKET_SYSTEMBUSY HYPORT_ERROR_SOCKET_BASE-5 /* system busy handling requests */
#define HYPORT_ERROR_SOCKET_SYSTEMFULL HYPORT_ERROR_SOCKET_BASE-6 /* too many sockets */
#define HYPORT_ERROR_SOCKET_NOTCONNECTED HYPORT_ERROR_SOCKET_BASE-7 /* socket is not connected */
#define HYPORT_ERROR_SOCKET_INTERRUPTED HYPORT_ERROR_SOCKET_BASE-8 /* the call was cancelled */
#define HYPORT_ERROR_SOCKET_TIMEOUT HYPORT_ERROR_SOCKET_BASE-9 /* the operation timed out */
#define HYPORT_ERROR_SOCKET_CONNRESET HYPORT_ERROR_SOCKET_BASE-10 /* the connection was reset */
#define HYPORT_ERROR_SOCKET_WOULDBLOCK HYPORT_ERROR_SOCKET_BASE-11 /* the socket is marked as nonblocking operation would block */
#define HYPORT_ERROR_SOCKET_ADDRNOTAVAIL HYPORT_ERROR_SOCKET_BASE-12 /* address not available */
#define HYPORT_ERROR_SOCKET_ADDRINUSE HYPORT_ERROR_SOCKET_BASE-13 /* address already in use */
#define HYPORT_ERROR_SOCKET_NOTBOUND HYPORT_ERROR_SOCKET_BASE-14 /* the socket is not bound */
#define HYPORT_ERROR_SOCKET_UNKNOWNSOCKET HYPORT_ERROR_SOCKET_BASE-15 /* resolution of fileDescriptor to socket failed */
#define HYPORT_ERROR_SOCKET_INVALIDTIMEOUT HYPORT_ERROR_SOCKET_BASE-16 /* the specified timeout is invalid */
#define HYPORT_ERROR_SOCKET_FDSETFULL HYPORT_ERROR_SOCKET_BASE-17 /* Unable to create an FDSET */
#define HYPORT_ERROR_SOCKET_TIMEVALFULL HYPORT_ERROR_SOCKET_BASE-18 /* Unable to create a TIMEVAL */
#define HYPORT_ERROR_SOCKET_REMSOCKSHUTDOWN HYPORT_ERROR_SOCKET_BASE-19 /* The remote socket has shutdown gracefully */
#define HYPORT_ERROR_SOCKET_NOTLISTENING HYPORT_ERROR_SOCKET_BASE-20 /* listen() was not invoked prior to accept() */
#define HYPORT_ERROR_SOCKET_NOTSTREAMSOCK HYPORT_ERROR_SOCKET_BASE-21 /* The socket does not support connection-oriented service */
#define HYPORT_ERROR_SOCKET_ALREADYBOUND HYPORT_ERROR_SOCKET_BASE-22 /* The socket is already bound to an address */
#define HYPORT_ERROR_SOCKET_NBWITHLINGER HYPORT_ERROR_SOCKET_BASE-23 /* The socket is marked non-blocking & SO_LINGER is non-zero */
#define HYPORT_ERROR_SOCKET_ISCONNECTED HYPORT_ERROR_SOCKET_BASE-24 /* The socket is already connected */
#define HYPORT_ERROR_SOCKET_NOBUFFERS HYPORT_ERROR_SOCKET_BASE-25 /* No buffer space is available */
#define HYPORT_ERROR_SOCKET_HOSTNOTFOUND HYPORT_ERROR_SOCKET_BASE-26 /* Authoritative Answer Host not found */
#define HYPORT_ERROR_SOCKET_NODATA HYPORT_ERROR_SOCKET_BASE-27 /* Valid name, no data record of requested type */
#define HYPORT_ERROR_SOCKET_BOUNDORCONN HYPORT_ERROR_SOCKET_BASE-28 /* The socket has not been bound or is already connected */
#define HYPORT_ERROR_SOCKET_OPNOTSUPP HYPORT_ERROR_SOCKET_BASE-29 /* The socket does not support the operation */
#define HYPORT_ERROR_SOCKET_OPTUNSUPP HYPORT_ERROR_SOCKET_BASE-30 /* The socket option is not supported */
#define HYPORT_ERROR_SOCKET_OPTARGSINVALID HYPORT_ERROR_SOCKET_BASE-31 /* The socket option arguments are invalid */
#define HYPORT_ERROR_SOCKET_SOCKLEVELINVALID HYPORT_ERROR_SOCKET_BASE-32 /* The socket level is invalid */
#define HYPORT_ERROR_SOCKET_TIMEOUTFAILURE HYPORT_ERROR_SOCKET_BASE-33
#define HYPORT_ERROR_SOCKET_SOCKADDRALLOCFAIL HYPORT_ERROR_SOCKET_BASE-34 /* Unable to allocate the sockaddr structure */
#define HYPORT_ERROR_SOCKET_FDSET_SIZEBAD HYPORT_ERROR_SOCKET_BASE-35 /* The calculated maximum size of the file descriptor set is bad */
#define HYPORT_ERROR_SOCKET_UNKNOWNFLAG HYPORT_ERROR_SOCKET_BASE-36 /* The flag is unknown */
#define HYPORT_ERROR_SOCKET_MSGSIZE HYPORT_ERROR_SOCKET_BASE-37 /* The datagram was too big to fit the specified buffer & was truncated. */
#define HYPORT_ERROR_SOCKET_NORECOVERY HYPORT_ERROR_SOCKET_BASE-38 /* The operation failed with no recovery possible */
#define HYPORT_ERROR_SOCKET_ARGSINVALID HYPORT_ERROR_SOCKET_BASE-39 /* The arguments are invalid */
#define HYPORT_ERROR_SOCKET_BADDESC HYPORT_ERROR_SOCKET_BASE-40 /* The socket argument is not a valid file descriptor */
#define HYPORT_ERROR_SOCKET_NOTSOCK HYPORT_ERROR_SOCKET_BASE-41 /* The socket argument is not a socket */
#define HYPORT_ERROR_SOCKET_HOSTENTALLOCFAIL HYPORT_ERROR_SOCKET_BASE-42 /* Unable to allocate the hostent structure */
#define HYPORT_ERROR_SOCKET_TIMEVALALLOCFAIL HYPORT_ERROR_SOCKET_BASE-43 /* Unable to allocate the timeval structure */
#define HYPORT_ERROR_SOCKET_LINGERALLOCFAIL HYPORT_ERROR_SOCKET_BASE-44 /* Unable to allocate the linger structure */
#define HYPORT_ERROR_SOCKET_IPMREQALLOCFAIL HYPORT_ERROR_SOCKET_BASE-45 /* Unable to allocate the ipmreq structure */
#define HYPORT_ERROR_SOCKET_FDSETALLOCFAIL HYPORT_ERROR_SOCKET_BASE-46 /* Unable to allocate the fdset structure */
#define HYPORT_ERROR_SOCKET_OPFAILED HYPORT_ERROR_SOCKET_BASE-47
#define HYPORT_ERROR_SOCKET_VALUE_NULL HYPORT_ERROR_SOCKET_BASE-48 /* The value indexed was NULL */
#define HYPORT_ERROR_SOCKET_CONNECTION_REFUSED HYPORT_ERROR_SOCKET_BASE-49 /* connection was refused */
#define HYPORT_ERROR_SOCKET_ENETUNREACH HYPORT_ERROR_SOCKET_BASE-50 /* network is not reachable */
#define HYPORT_ERROR_SOCKET_EACCES HYPORT_ERROR_SOCKET_BASE-51 /* permissions do not allow action on socket */
#define HYPORT_ERROR_SOCKET_WAS_CLOSED (HYPORT_ERROR_SOCKET_BASE-52)
#define HYPORT_ERROR_SOCKET_EINPROGRESS (HYPORT_ERROR_SOCKET_BASE-53)
#define HYPORT_ERROR_SOCKET_ALREADYINPROGRESS (HYPORT_ERROR_SOCKET_BASE-54)
#define HYPORT_ERROR_SOCKET_FIRST_ERROR_NUMBER HYPORT_ERROR_SOCKET_BASE
#define HYPORT_ERROR_SOCKET_LAST_ERROR_NUMBER HYPORT_ERROR_SOCKET_VALUE_NULL /* Equals last used error code */
/**
* @name File Errors
* Error codes for file operations.
*
* @internal HYPORT_ERROR_FILE* range from -300 to -349 avoid overlap
* @{
*/
#define HYPORT_ERROR_FILE_BASE -300
#define HYPORT_ERROR_FILE_OPFAILED (HYPORT_ERROR_FILE_BASE)
#define HYPORT_ERROR_FILE_EOF (HYPORT_ERROR_FILE_BASE-1)
#define HYPORT_ERROR_FILE_NOPERMISSION (HYPORT_ERROR_FILE_BASE-2)
#define HYPORT_ERROR_FILE_NOTFOUND (HYPORT_ERROR_FILE_BASE-3)
#define HYPORT_ERROR_FILE_NAMETOOLONG (HYPORT_ERROR_FILE_BASE-4)
#define HYPORT_ERROR_FILE_DISKFULL (HYPORT_ERROR_FILE_BASE-5)
#define HYPORT_ERROR_FILE_EXIST (HYPORT_ERROR_FILE_BASE-6)
#define HYPORT_ERROR_FILE_SYSTEMFULL (HYPORT_ERROR_FILE_BASE-7)
#define HYPORT_ERROR_FILE_NOENT (HYPORT_ERROR_FILE_BASE-8)
#define HYPORT_ERROR_FILE_NOTDIR (HYPORT_ERROR_FILE_BASE-9)
#define HYPORT_ERROR_FILE_LOOP (HYPORT_ERROR_FILE_BASE-10)
#define HYPORT_ERROR_FILE_BADF (HYPORT_ERROR_FILE_BASE-11)
#define HYPORT_ERROR_FILE_WOULDBLOCK (HYPORT_ERROR_FILE_BASE-12)
#define HYPORT_ERROR_FILE_INVAL (HYPORT_ERROR_FILE_BASE-13)
#define HYPORT_ERROR_FILE_LOCKED (HYPORT_ERROR_FILE_BASE-14)
/** @} */
#endif /* hyporterror_h */
|