d9d0a8c64f79024c25498f153710313e19304597
[profile/ivi/pulseaudio-panda.git] / src / pulse / error.c
1 /***
2   This file is part of PulseAudio.
3
4   Copyright 2004-2006 Lennart Poettering
5   Copyright 2006 Pierre Ossman <ossman@cendio.se> for Cendio AB
6
7   PulseAudio is free software; you can redistribute it and/or modify
8   it under the terms of the GNU Lesser General Public License as published
9   by the Free Software Foundation; either version 2 of the License,
10   or (at your option) any later version.
11
12   PulseAudio is distributed in the hope that it will be useful, but
13   WITHOUT ANY WARRANTY; without even the implied warranty of
14   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15   General Public License for more details.
16
17   You should have received a copy of the GNU Lesser General Public License
18   along with PulseAudio; if not, write to the Free Software
19   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
20   USA.
21 ***/
22
23 #ifdef HAVE_CONFIG_H
24 #include <config.h>
25 #endif
26
27 #include <errno.h>
28 #include <stdio.h>
29 #include <stdlib.h>
30 #include <string.h>
31
32 #include <pulse/xmalloc.h>
33 #include <pulse/i18n.h>
34
35 #include <pulsecore/core-util.h>
36 #include <pulsecore/native-common.h>
37
38 #include "error.h"
39
40 const char*pa_strerror(int error) {
41
42     static const char* const errortab[PA_ERR_MAX] = {
43         [PA_OK] = N_("OK"),
44         [PA_ERR_ACCESS] = N_("Access denied"),
45         [PA_ERR_COMMAND] = N_("Unknown command"),
46         [PA_ERR_INVALID] = N_("Invalid argument"),
47         [PA_ERR_EXIST] = N_("Entity exists"),
48         [PA_ERR_NOENTITY] = N_("No such entity"),
49         [PA_ERR_CONNECTIONREFUSED] = N_("Connection refused"),
50         [PA_ERR_PROTOCOL] = N_("Protocol error"),
51         [PA_ERR_TIMEOUT] = N_("Timeout"),
52         [PA_ERR_AUTHKEY] = N_("No authorization key"),
53         [PA_ERR_INTERNAL] = N_("Internal error"),
54         [PA_ERR_CONNECTIONTERMINATED] = N_("Connection terminated"),
55         [PA_ERR_KILLED] = N_("Entity killed"),
56         [PA_ERR_INVALIDSERVER] = N_("Invalid server"),
57         [PA_ERR_MODINITFAILED] = N_("Module initalization failed"),
58         [PA_ERR_BADSTATE] = N_("Bad state"),
59         [PA_ERR_NODATA] = N_("No data"),
60         [PA_ERR_VERSION] = N_("Incompatible protocol version"),
61         [PA_ERR_TOOLARGE] = N_("Too large"),
62         [PA_ERR_NOTSUPPORTED] = N_("Not supported"),
63         [PA_ERR_UNKNOWN] = N_("Unknown error code"),
64         [PA_ERR_NOEXTENSION] = N_("No such extension")
65     };
66
67     pa_init_i18n();
68
69     if (error < 0 || error >= PA_ERR_MAX)
70         return NULL;
71
72     return _(errortab[error]);
73 }