text: /* $Id: upnperrors.c,v 1.10 2019/08/24 08:49:53 nanard Exp $ */
  /* vim: tabstop=4 shiftwidth=4 noexpandtab
   * Project : miniupnp
   * Author : Thomas BERNARD
   * copyright (c) 2007-2019 Thomas Bernard
   * All Right reserved.
   * http://miniupnp.free.fr/ or https://miniupnp.tuxfamily.org/
   * This software is subjet to the conditions detailed in the
   * provided LICENCE file. */
  #include <string.h>
  #include "upnperrors.h"
  #include "upnpcommands.h"
  #include "miniupnpc.h"
  
  const char * strupnperror(int err)
  {
  	const char * s = NULL;
  	switch(err) {
  	case UPNPCOMMAND_SUCCESS:
  		s = "Success";
  		break;
  	case UPNPCOMMAND_UNKNOWN_ERROR:
  		s = "Miniupnpc Unknown Error";
  		break;
  	case UPNPCOMMAND_INVALID_ARGS:
  		s = "Miniupnpc Invalid Arguments";
  		break;
  	case UPNPCOMMAND_INVALID_RESPONSE:
  		s = "Miniupnpc Invalid response";
  		break;
  	case UPNPCOMMAND_HTTP_ERROR:
  		s = "Miniupnpc HTTP error";
  		break;
  	case UPNPDISCOVER_SOCKET_ERROR:
  		s = "Miniupnpc Socket error";
  		break;
  	case UPNPDISCOVER_MEMORY_ERROR:
  	case UPNPCOMMAND_MEM_ALLOC_ERROR:
  		s = "Miniupnpc Memory allocation error";
  		break;
  	case 401:
  		s = "Invalid Action";
  		break;
  	case 402:
  		s = "Invalid Args";
  		break;
  	case 501:
  		s = "Action Failed";
  		break;
  	case 606:
  		s = "Action not authorized";
  		break;
  	case 701:
  		s = "PinholeSpaceExhausted";
  		break;
  	case 702:
  		s = "FirewallDisabled";
  		break;
  	case 703:
  		s = "InboundPinholeNotAllowed";
  		break;
  	case 704:
  		s = "NoSuchEntry";
  		break;
  	case 705:
  		s = "ProtocolNotSupported";
  		break;
  	case 706:
  		s = "InternalPortWildcardingNotAllowed";
  		break;
  	case 707:
  		s = "ProtocolWildcardingNotAllowed";
  		break;
  	case 708:
  		s = "InvalidLayer2Address";
  		break;
  	case 709:
  		s = "NoPacketSent";
  		break;
  	case 713:
  		s = "SpecifiedArrayIndexInvalid";
  		break;
  	case 714:
  		s = "NoSuchEntryInArray";
  		break;
  	case 715:
  		s = "WildCardNotPermittedInSrcIP";
  		break;
  	case 716:
  		s = "WildCardNotPermittedInExtPort";
  		break;
  	case 718:
  		s = "ConflictInMappingEntry";
  		break;
  	case 724:
  		s = "SamePortValuesRequired";
  		break;
  	case 725:
  		s = "OnlyPermanentLeasesSupported";
  		break;
  	case 726:
  		s = "RemoteHostOnlySupportsWildcard";
  		break;
  	case 727:
  		s = "ExternalPortOnlySupportsWildcard";
  		break;
  	default:
  		s = "UnknownError";
  		break;
  	}
  	return s;
  }
  