summaryrefslogtreecommitdiff
path: root/librsync/msg.c
blob: d3f8cbfe75bb73b22b2df11bdcc42e6c13a445df (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
/*= -*- c-basic-offset: 4; indent-tabs-mode: nil; -*-
 *
 * librsync -- the library for network deltas
 * Id: msg.c,v 1.14 2001/03/19 04:57:37 mbp Exp 
 * 
 * Copyright (C) 2000, 2001 by Martin Pool <mbp@samba.org>
 * 
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public License
 * as published by the Free Software Foundation; either version 2.1 of
 * the License, or (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 * 
 * You should have received a copy of the GNU Lesser General Public
 * License along with this program; if not, write to the Free Software
 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */


                              /*
                               | Welcome to Arco AM/PM Mini-Market. We
                               | would like to advise our customers
                               | that any individual who offers to
                               | pump gas, wash windows or solicit
                               | products is not employed by or
                               | associated with this facility.  We
                               | discourage any contact with these
                               | individuals and ask that you report
                               | any problems to uniformed personal
                               | inside. Thankyou for shopping at
                               | Arco, and have a nice day.
                               */

#include <config.h>

#include <stdlib.h>
#include <stdio.h>

#include "rsync.h"

/*
 * TODO: (Suggestion by tridge) Add a function which outputs a
 * complete text description of a job, including only the fields
 * relevant to the current encoding function.
 */


/** \brief Translate from rs_result to human-readable messages. */
char const *rs_strerror(rs_result r)
{
    switch (r) {
    case RS_DONE:
        return "OK";
    case RS_RUNNING:
        return "still running";
    case RS_BLOCKED:
        return "blocked waiting for input or output buffers";
    case RS_BAD_MAGIC:
        return "bad magic number at start of stream";
    case RS_INPUT_ENDED:
        return "unexpected end of input";
    case RS_CORRUPT:
        return "stream corrupt";
    case RS_UNIMPLEMENTED:
        return "unimplemented case";
    case RS_MEM_ERROR:
        return "out of memory";
    case RS_IO_ERROR:
        return "IO error";
    case RS_SYNTAX_ERROR:
        return "bad command line syntax";
    case RS_INTERNAL_ERROR:
        return "library internal error";

    default:
        return "unexplained problem";
    }
}