]> code.delx.au - pulseaudio/blob - src/pulse/error.c
50bbf703a382b453a887b50c8bfb355b36cd7dfd
[pulseaudio] / 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
34 #include <pulsecore/core-util.h>
35 #include <pulsecore/native-common.h>
36
37 #include "error.h"
38
39 const char*pa_strerror(int error) {
40
41 static const char* const errortab[PA_ERR_MAX] = {
42 [PA_OK] = "OK",
43 [PA_ERR_ACCESS] = "Access denied",
44 [PA_ERR_COMMAND] = "Unknown command",
45 [PA_ERR_INVALID] = "Invalid argument",
46 [PA_ERR_EXIST] = "Entity exists",
47 [PA_ERR_NOENTITY] = "No such entity",
48 [PA_ERR_CONNECTIONREFUSED] = "Connection refused",
49 [PA_ERR_PROTOCOL] = "Protocol error",
50 [PA_ERR_TIMEOUT] = "Timeout",
51 [PA_ERR_AUTHKEY] = "No authorization key",
52 [PA_ERR_INTERNAL] = "Internal error",
53 [PA_ERR_CONNECTIONTERMINATED] = "Connection terminated",
54 [PA_ERR_KILLED] = "Entity killed",
55 [PA_ERR_INVALIDSERVER] = "Invalid server",
56 [PA_ERR_MODINITFAILED] = "Module initalization failed",
57 [PA_ERR_BADSTATE] = "Bad state",
58 [PA_ERR_NODATA] = "No data",
59 [PA_ERR_VERSION] = "Incompatible protocol version",
60 [PA_ERR_TOOLARGE] = "Too large",
61 [PA_ERR_NOTSUPPORTED] = "Not supported",
62 [PA_ERR_UNKNOWN] = "Unknown error code",
63 [PA_ERR_NOEXTENSION] = "No such extension"
64 };
65
66 if (error < 0 || error >= PA_ERR_MAX)
67 return NULL;
68
69 return errortab[error];
70 }