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