Mentioned the auto-protect rule for --backup.
[rsync/rsync.git] / errcode.h
CommitLineData
af642a61
MP
1/* -*- c-file-style: "linux"; -*-
2
3 Copyright (C) 1998-2000 by Andrew Tridgell
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
9
10 This program 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. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18*/
19
20/*
21 * error codes returned by rsync. If you change these, please also update the
b11b50bc 22 * string mappings in log.c and the EXIT VALUES in rsync.yo
af642a61 23 */
65417579 24
56cf38ac 25#define RERR_OK 0
65417579
AT
26#define RERR_SYNTAX 1 /* syntax or usage error */
27#define RERR_PROTOCOL 2 /* protocol incompatibility */
28#define RERR_FILESELECT 3 /* errors selecting input/output files, dirs */
e0ed4e40 29#define RERR_UNSUPPORTED 4 /* requested action not supported */
088aac85 30#define RERR_STARTCLIENT 5 /* error starting client-server protocol */
65417579
AT
31
32#define RERR_SOCKETIO 10 /* error in socket IO */
33#define RERR_FILEIO 11 /* error in file IO */
34#define RERR_STREAMIO 12 /* error in rsync protocol data stream */
35#define RERR_MESSAGEIO 13 /* errors with program diagnostics */
36#define RERR_IPC 14 /* error in IPC code */
60168410 37#define RERR_CRASHED 15 /* sibling crashed */
90eca40d 38#define RERR_TERMINATED 16 /* sibling terminated abnormally */
65417579
AT
39
40#define RERR_SIGNAL 20 /* status returned when sent SIGUSR1, SIGINT */
41#define RERR_WAITCHILD 21 /* some error returned by waitpid() */
42#define RERR_MALLOC 22 /* error allocating core memory buffers */
19b27a48 43#define RERR_PARTIAL 23 /* partial transfer */
e0ed4e40 44#define RERR_VANISHED 24 /* file(s) vanished on sender side */
821ff7f4 45#define RERR_DEL_LIMIT 25 /* skipped some deletes due to --max-delete */
65417579
AT
46
47#define RERR_TIMEOUT 30 /* timeout in data send/receive */
19b27a48
AT
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