1 // This file is part of BOINC. 2 // http://boinc.berkeley.edu 3 // Copyright (C) 2008 University of California 4 // 5 // BOINC is free software; you can redistribute it and/or modify it 6 // under the terms of the GNU Lesser General Public License 7 // as published by the Free Software Foundation, 8 // either version 3 of the License, or (at your option) any later version. 9 // 10 // BOINC is distributed in the hope that it will be useful, 11 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 // See the GNU Lesser General Public License for more details. 14 // 15 // You should have received a copy of the GNU Lesser General Public License 16 // along with BOINC. If not, see <http://www.gnu.org/licenses/>. 17 18 #ifndef BOINC_ERROR_NUMBERS_H 19 #define BOINC_ERROR_NUMBERS_H 20 21 // The following are process exit codes (not function return values). 22 // They are used by the core client and apps. 23 // NOTE: Unix passes only 8 bits of exit code, 24 // and Unix uses roughly 1-137, so let's start at 192 25 26 #define EXIT_STATEFILE_WRITE 192 27 // client exit when can't write statefile 28 #define EXIT_SIGNAL 193 29 // app was killed by signal 30 #define EXIT_ABORTED_BY_CLIENT 194 31 #define EXIT_CHILD_FAILED 195 32 #define EXIT_DISK_LIMIT_EXCEEDED 196 33 #define EXIT_TIME_LIMIT_EXCEEDED 197 34 #define EXIT_MEM_LIMIT_EXCEEDED 198 35 #define EXIT_CLIENT_EXITING 199 36 #define EXIT_UNSTARTED_LATE 200 37 #define EXIT_MISSING_COPROC 201 38 #define EXIT_ABORTED_BY_PROJECT 202 39 #define EXIT_ABORTED_VIA_GUI 203 40 #define EXIT_UNKNOWN 204 41 #define EXIT_OUT_OF_MEMORY 205 42 #define EXIT_INIT_FAILURE 206 43 #define EXIT_NO_SUB_TASKS 207 44 #define EXIT_SUB_TASK_FAILURE 208 45 46 // Function return values. 47 // NOTE: add new errors to the end of the list and don't change 48 // old error numbers to avoid confusion between versions. 49 // Add a text description of your error to the text description 50 // function boincerror() in str_util.cpp. 51 // 52 #define BOINC_SUCCESS 0 53 #define ERR_SELECT -100 54 #define ERR_MALLOC -101 55 #define ERR_READ -102 56 #define ERR_WRITE -103 57 #define ERR_FREAD -104 58 #define ERR_FWRITE -105 59 #define ERR_IO -106 60 #define ERR_CONNECT -107 61 #define ERR_FOPEN -108 62 #define ERR_RENAME -109 63 #define ERR_UNLINK -110 64 #define ERR_OPENDIR -111 65 #define ERR_XML_PARSE -112 66 // Unexpected XML tag or XML format 67 #define ERR_GETHOSTBYNAME -113 68 // Couldn't resolve hostname 69 #define ERR_GIVEUP_DOWNLOAD -114 70 // too much time has elapsed without progress on file xfer, 71 // or we got a 404 (not found) status code from server 72 #define ERR_GIVEUP_UPLOAD -115 73 #define ERR_NULL -116 74 // unexpected NULL pointer 75 #define ERR_NEG -117 76 // unexpected negative value 77 #define ERR_BUFFER_OVERFLOW -118 78 // caught buffer overflow 79 #define ERR_MD5_FAILED -119 80 // MD5 checksum failed for a file 81 #define ERR_RSA_FAILED -120 82 // RSA key check failed for a file 83 #define ERR_OPEN -121 84 #define ERR_DUP2 -122 85 #define ERR_NO_SIGNATURE -123 86 #define ERR_THREAD -124 87 // Error creating a thread 88 #define ERR_SIGNAL_CATCH -125 89 #define ERR_BAD_FORMAT -126 90 #define ERR_UPLOAD_TRANSIENT -127 91 #define ERR_UPLOAD_PERMANENT -128 92 #define ERR_IDLE_PERIOD -129 93 // can't start work because of user prefs 94 #define ERR_ALREADY_ATTACHED -130 95 #define ERR_FILE_TOO_BIG -131 96 // an output file was bigger than max_nbytes 97 #define ERR_GETRUSAGE -132 98 // getrusage failed 99 #define ERR_BENCHMARK_FAILED -133 100 #define ERR_BAD_HEX_FORMAT -134 101 // hex-format key data is bad 102 #define ERR_GETADDRINFO -135 103 #define ERR_DB_NOT_FOUND -136 104 // no rows found in lookup() or enumerate() 105 #define ERR_DB_NOT_UNIQUE -137 106 // not unique in lookup() 107 #define ERR_DB_CANT_CONNECT -138 108 #define ERR_GETS -139 109 // gets() or fgets() 110 #define ERR_SCANF -140 111 // scanf() or fscanf() 112 #define ERR_READDIR -143 113 #define ERR_SHMGET -144 114 #define ERR_SHMCTL -145 115 #define ERR_SHMAT -146 116 #define ERR_FORK -147 117 #define ERR_EXEC -148 118 #define ERR_NOT_EXITED -149 119 // a process didn't exit that was supposed to 120 #define ERR_NOT_IMPLEMENTED -150 121 // a system call not implemented on this platform 122 #define ERR_GETHOSTNAME -151 123 #define ERR_NETOPEN -152 124 #define ERR_SOCKET -153 125 #define ERR_FCNTL -154 126 #define ERR_AUTHENTICATOR -155 127 // scheduler request host ID doesn't match authenticator 128 #define ERR_SCHED_SHMEM -156 129 // sched shmem has bad contents 130 #define ERR_ASYNCSELECT -157 131 #define ERR_BAD_RESULT_STATE -158 132 #define ERR_DB_CANT_INIT -159 133 #define ERR_NOT_UNIQUE -160 134 // state files had redundant entries 135 #define ERR_NOT_FOUND -161 136 // catch-all lookup error 137 #define ERR_NO_EXIT_STATUS -162 138 // exit_status not found in scheduler request 139 #define ERR_FILE_MISSING -163 140 #define ERR_KILL -164 141 #define ERR_SEMGET -165 142 #define ERR_SEMCTL -166 143 #define ERR_SEMOP -167 144 #define ERR_FTOK -168 145 #define ERR_SOCKS_UNKNOWN_FAILURE -169 146 #define ERR_SOCKS_REQUEST_FAILED -170 147 #define ERR_SOCKS_BAD_USER_PASS -171 148 #define ERR_SOCKS_UNKNOWN_SERVER_VERSION -172 149 #define ERR_SOCKS_UNSUPPORTED -173 150 #define ERR_SOCKS_CANT_REACH_HOST -174 151 #define ERR_SOCKS_CONN_REFUSED -175 152 #define ERR_TIMER_INIT -176 153 #define ERR_INVALID_PARAM -178 154 #define ERR_SIGNAL_OP -179 155 #define ERR_BIND -180 156 #define ERR_LISTEN -181 157 #define ERR_TIMEOUT -182 158 #define ERR_PROJECT_DOWN -183 159 #define ERR_HTTP_TRANSIENT -184 160 // HTTP errors other than 404 and 416 161 #define ERR_RESULT_START -185 162 #define ERR_RESULT_DOWNLOAD -186 163 #define ERR_RESULT_UPLOAD -187 164 #define ERR_BAD_USER_NAME -188 165 #define ERR_INVALID_URL -189 166 #define ERR_MAJOR_VERSION -190 167 #define ERR_NO_OPTION -191 168 #define ERR_MKDIR -192 169 #define ERR_INVALID_EVENT -193 170 #define ERR_ALREADY_RUNNING -194 171 #define ERR_NO_APP_VERSION -195 172 #define ERR_WU_USER_RULE -196 173 #define ERR_ABORTED_VIA_GUI -197 174 #define ERR_INSUFFICIENT_RESOURCE -198 175 #define ERR_RETRY -199 176 #define ERR_WRONG_SIZE -200 177 #define ERR_USER_PERMISSION -201 178 // e.g. user didn't allow network connection 179 #define ERR_SHMEM_NAME -202 180 #define ERR_NO_NETWORK_CONNECTION -203 181 #define ERR_IN_PROGRESS -204 182 #define ERR_BAD_EMAIL_ADDR -205 183 #define ERR_BAD_PASSWD -206 184 #define ERR_NONUNIQUE_EMAIL -207 185 #define ERR_ACCT_CREATION_DISABLED -208 186 #define ERR_ATTACH_FAIL_INIT -209 187 #define ERR_ATTACH_FAIL_DOWNLOAD -210 188 #define ERR_ATTACH_FAIL_PARSE -211 189 #define ERR_ATTACH_FAIL_BAD_KEY -212 190 #define ERR_ATTACH_FAIL_FILE_WRITE -213 191 #define ERR_ATTACH_FAIL_SERVER_ERROR -214 192 #define ERR_SIGNING_KEY -215 193 #define ERR_FFLUSH -216 194 #define ERR_FSYNC -217 195 #define ERR_TRUNCATE -218 196 #define ERR_WRONG_URL -219 197 #define ERR_DUP_NAME -220 198 #define ERR_GETGRNAM -222 199 #define ERR_CHOWN -223 200 #define ERR_HTTP_PERMANENT -224 201 // represents HTTP 404 or 416 error 202 #define ERR_BAD_FILENAME -225 203 #define ERR_TOO_MANY_EXITS -226 204 #define ERR_RMDIR -227 205 #define ERR_SYMLINK -229 206 #define ERR_DB_CONN_LOST -230 207 #define ERR_CRYPTO -231 208 #define ERR_ABORTED_ON_EXIT -232 209 #define ERR_PROC_PARSE -235 210 #define ERR_STATFS -236 211 #define ERR_PIPE -237 212 #define ERR_NEED_HTTPS -238 213 #define ERR_CHMOD -239 214 #define ERR_STAT -240 215 #define ERR_FCLOSE -241 216 217 // PLEASE: add a text description of your error to 218 // the text description function boincerror() in str_util.cpp. 219 220 // returns short text description of error corresponding to 221 // int errornumber from error_numbers.h 222 // 223 extern const char* boincerror(int which_error); 224 225 #endif 226