1/* $Id: upnperrors.c,v 1.8 2014/06/10 09:41:48 nanard Exp $ */
2/* Project : miniupnp
3 * Author : Thomas BERNARD
4 * copyright (c) 2007 Thomas Bernard
5 * All Right reserved.
6 * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
7 * This software is subjet to the conditions detailed in the
8 * provided LICENCE file. */
9#include <string.h>
10#include "upnperrors.h"
11#include "upnpcommands.h"
12#include "miniupnpc.h"
13
14const char * strupnperror(int err)
15{
16	const char * s = NULL;
17	switch(err) {
18	case UPNPCOMMAND_SUCCESS:
19		s = "Success";
20		break;
21	case UPNPCOMMAND_UNKNOWN_ERROR:
22		s = "Miniupnpc Unknown Error";
23		break;
24	case UPNPCOMMAND_INVALID_ARGS:
25		s = "Miniupnpc Invalid Arguments";
26		break;
27	case UPNPCOMMAND_INVALID_RESPONSE:
28		s = "Miniupnpc Invalid response";
29		break;
30	case UPNPDISCOVER_SOCKET_ERROR:
31		s = "Miniupnpc Socket error";
32		break;
33	case UPNPDISCOVER_MEMORY_ERROR:
34		s = "Miniupnpc Memory allocation error";
35		break;
36	case 401:
37		s = "Invalid Action";
38		break;
39	case 402:
40		s = "Invalid Args";
41		break;
42	case 501:
43		s = "Action Failed";
44		break;
45	case 606:
46		s = "Action not authorized";
47		break;
48	case 701:
49		s = "PinholeSpaceExhausted";
50		break;
51	case 702:
52		s = "FirewallDisabled";
53		break;
54	case 703:
55		s = "InboundPinholeNotAllowed";
56		break;
57	case 704:
58		s = "NoSuchEntry";
59		break;
60	case 705:
61		s = "ProtocolNotSupported";
62		break;
63	case 706:
64		s = "InternalPortWildcardingNotAllowed";
65		break;
66	case 707:
67		s = "ProtocolWildcardingNotAllowed";
68		break;
69	case 708:
70		s = "WildcardNotPermittedInSrcIP";
71		break;
72	case 709:
73		s = "NoPacketSent";
74		break;
75	case 713:
76		s = "SpecifiedArrayIndexInvalid";
77		break;
78	case 714:
79		s = "NoSuchEntryInArray";
80		break;
81	case 715:
82		s = "WildCardNotPermittedInSrcIP";
83		break;
84	case 716:
85		s = "WildCardNotPermittedInExtPort";
86		break;
87	case 718:
88		s = "ConflictInMappingEntry";
89		break;
90	case 724:
91		s = "SamePortValuesRequired";
92		break;
93	case 725:
94		s = "OnlyPermanentLeasesSupported";
95		break;
96	case 726:
97		s = "RemoteHostOnlySupportsWildcard";
98		break;
99	case 727:
100		s = "ExternalPortOnlySupportsWildcard";
101		break;
102	default:
103		s = "UnknownError";
104		break;
105	}
106	return s;
107}
108