Added a comment to the do_chmod() to mark it as a discouraged function.
[rsync/rsync.git] / errcode.h
1 /*
2  * Error codes returned by rsync.
3  *
4  * Copyright (C) 1998-2000 Andrew Tridgell
5  * Copyright (C) 2003-2007 Wayne Davison
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License version 2 as
9  * published by the Free Software Foundation.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License along
17  * with this program; if not, write to the Free Software Foundation, Inc.,
18  * 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
19  */
20
21 /* If you change these, please also update the string mappings in log.c and
22  * the EXIT VALUES in rsync.yo. */
23
24 #define RERR_OK         0
25 #define RERR_SYNTAX     1       /* syntax or usage error */
26 #define RERR_PROTOCOL   2       /* protocol incompatibility */
27 #define RERR_FILESELECT 3       /* errors selecting input/output files, dirs */
28 #define RERR_UNSUPPORTED 4      /* requested action not supported */
29 #define RERR_STARTCLIENT 5      /* error starting client-server protocol */
30
31 #define RERR_SOCKETIO   10      /* error in socket IO */
32 #define RERR_FILEIO     11      /* error in file IO */
33 #define RERR_STREAMIO   12      /* error in rsync protocol data stream */
34 #define RERR_MESSAGEIO  13      /* errors with program diagnostics */
35 #define RERR_IPC        14      /* error in IPC code */
36 #define RERR_CRASHED    15      /* sibling crashed */
37 #define RERR_TERMINATED 16      /* sibling terminated abnormally */
38
39 #define RERR_SIGNAL1    19      /* status returned when sent SIGUSR1 */
40 #define RERR_SIGNAL     20      /* status returned when sent SIGINT, SIGTERM, SIGHUP */
41 #define RERR_WAITCHILD  21      /* some error returned by waitpid() */
42 #define RERR_MALLOC     22      /* error allocating core memory buffers */
43 #define RERR_PARTIAL    23      /* partial transfer */
44 #define RERR_VANISHED   24      /* file(s) vanished on sender side */
45 #define RERR_DEL_LIMIT  25      /* skipped some deletes due to --max-delete */
46
47 #define RERR_TIMEOUT    30      /* timeout in data send/receive */
48
49 /* Although it doesn't seem to be specified anywhere,
50  * ssh and the shell seem to return these values:
51  *
52  * 124 if the command exited with status 255
53  * 125 if the command is killed by a signal
54  * 126 if the command cannot be run
55  * 127 if the command is not found
56  *
57  * and we could use this to give a better explanation if the remote
58  * command is not found.
59  */
60 #define RERR_CMD_FAILED 124
61 #define RERR_CMD_KILLED 125
62 #define RERR_CMD_RUN 126
63 #define RERR_CMD_NOTFOUND 127