summaryrefslogtreecommitdiffstats
path: root/3rdparty/openpgm-svn-r1135/pgm/wsastrerror.c
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/openpgm-svn-r1135/pgm/wsastrerror.c')
-rw-r--r--3rdparty/openpgm-svn-r1135/pgm/wsastrerror.c372
1 files changed, 372 insertions, 0 deletions
diff --git a/3rdparty/openpgm-svn-r1135/pgm/wsastrerror.c b/3rdparty/openpgm-svn-r1135/pgm/wsastrerror.c
new file mode 100644
index 0000000..2e21449
--- /dev/null
+++ b/3rdparty/openpgm-svn-r1135/pgm/wsastrerror.c
@@ -0,0 +1,372 @@
+/* vim:ts=8:sts=8:sw=4:noai:noexpandtab
+ *
+ * Winsock Error strings.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include <impl/i18n.h>
+#include <impl/framework.h>
+
+#ifdef _WIN32
+# include <ws2tcpip.h>
+
+
+char*
+pgm_wsastrerror (
+ const int wsa_errno
+ )
+{
+ switch (wsa_errno) {
+#ifdef WSA_INVALID_HANDLE
+ case WSA_INVALID_HANDLE: return _("Specified event object handle is invalid.");
+#endif
+#ifdef WSA_NOT_ENOUGH_MEMORY
+ case WSA_NOT_ENOUGH_MEMORY: return _("Insufficient memory available.");
+#endif
+#ifdef WSA_INVALID_PARAMETER
+ case WSA_INVALID_PARAMETER: return _("One or more parameters are invalid.");
+#endif
+#ifdef WSA_OPERATION_ABORTED
+ case WSA_OPERATION_ABORTED: return _("Overlapped operation aborted.");
+#endif
+#ifdef WSA_IO_INCOMPLETE
+ case WSA_IO_INCOMPLETE: return _("Overlapped I/O event object not in signaled state.");
+#endif
+#ifdef WSA_IO_PENDING
+ case WSA_IO_PENDING: return _("Overlapped operations will complete later.");
+#endif
+#ifdef WSAEINTR
+ case WSAEINTR: return _("Interrupted function call.");
+#endif
+#ifdef WSAEBADF
+ case WSAEBADF: return _("File handle is not valid.");
+#endif
+#ifdef WSAEACCES
+ case WSAEACCES: return _("Permission denied.");
+#endif
+#ifdef WSAEFAULT
+ case WSAEFAULT: return _("Bad address.");
+#endif
+#ifdef WSAEINVAL
+ case WSAEINVAL: return _("Invalid argument.");
+#endif
+#ifdef WSAEMFILE
+ case WSAEMFILE: return _("Too many open files.");
+#endif
+#ifdef WSAEWOULDBLOCK
+ case WSAEWOULDBLOCK: return _("Resource temporarily unavailable.");
+#endif
+#ifdef WSAEINPROGRESS
+ case WSAEINPROGRESS: return _("Operation now in progress.");
+#endif
+#ifdef WSAEALREADY
+ case WSAEALREADY: return _("Operation already in progress.");
+#endif
+#ifdef WSAENOTSOCK
+ case WSAENOTSOCK: return _("Socket operation on nonsocket.");
+#endif
+#ifdef WSAEDESTADDRREQ
+ case WSAEDESTADDRREQ: return _("Destination address required.");
+#endif
+#ifdef WSAEMSGSIZE
+ case WSAEMSGSIZE: return _("Message too long.");
+#endif
+#ifdef WSAEPROTOTYPE
+ case WSAEPROTOTYPE: return _("Protocol wrong type for socket.");
+#endif
+#ifdef WSAENOPROTOOPT
+ case WSAENOPROTOOPT: return _("Bad protocol option.");
+#endif
+#ifdef WSAEPROTONOSUPPORT
+ case WSAEPROTONOSUPPORT: return _("Protocol not supported.");
+#endif
+#ifdef WSAESOCKTNOSUPPORT
+ case WSAESOCKTNOSUPPORT: return _("Socket type not supported.");
+#endif
+#ifdef WSAEOPNOTSUPP
+ case WSAEOPNOTSUPP: return _("Operation not supported.");
+#endif
+#ifdef WSAEPFNOSUPPORT
+ case WSAEPFNOSUPPORT: return _("Protocol family not supported.");
+#endif
+#ifdef WSAEAFNOSUPPORT
+ case WSAEAFNOSUPPORT: return _("Address family not supported by protocol family.");
+#endif
+#ifdef WSAEADDRINUSE
+ case WSAEADDRINUSE: return _("Address already in use.");
+#endif
+#ifdef WSAEADDRNOTAVAIL
+ case WSAEADDRNOTAVAIL: return _("Cannot assign requested address.");
+#endif
+#ifdef WSAENETDOWN
+ case WSAENETDOWN: return _("Network is down.");
+#endif
+#ifdef WSAENETUNREACH
+ case WSAENETUNREACH: return _("Network is unreachable.");
+#endif
+#ifdef WSAENETRESET
+ case WSAENETRESET: return _("Network dropped connection on reset.");
+#endif
+#ifdef WSAECONNABORTED
+ case WSAECONNABORTED: return _("Software caused connection abort.");
+#endif
+#ifdef WSAECONNRESET
+ case WSAECONNRESET: return _("Connection reset by peer.");
+#endif
+#ifdef WSAENOBUFS
+ case WSAENOBUFS: return _("No buffer space available.");
+#endif
+#ifdef WSAEISCONN
+ case WSAEISCONN: return _("Socket is already connected.");
+#endif
+#ifdef WSAENOTCONN
+ case WSAENOTCONN: return _("Socket is not connected.");
+#endif
+#ifdef WSAESHUTDOWN
+ case WSAESHUTDOWN: return _("Cannot send after socket shutdown.");
+#endif
+#ifdef WSAETOOMANYREFS
+ case WSAETOOMANYREFS: return _("Too many references.");
+#endif
+#ifdef WSAETIMEDOUT
+ case WSAETIMEDOUT: return _("Connection timed out.");
+#endif
+#ifdef WSAECONNREFUSED
+ case WSAECONNREFUSED: return _("Connection refused.");
+#endif
+#ifdef WSAELOOP
+ case WSAELOOP: return _("Cannot translate name.");
+#endif
+#ifdef WSAENAMETOOLONG
+ case WSAENAMETOOLONG: return _("Name too long.");
+#endif
+#ifdef WSAEHOSTDOWN
+ case WSAEHOSTDOWN: return _("Host is down.");
+#endif
+#ifdef WSAEHOSTUNREACH
+ case WSAEHOSTUNREACH: return _("No route to host.");
+#endif
+#ifdef WSAENOTEMPTY
+ case WSAENOTEMPTY: return _("Directory not empty.");
+#endif
+#ifdef WSAEPROCLIM
+ case WSAEPROCLIM: return _("Too many processes.");
+#endif
+#ifdef WSAEUSERS
+ case WSAEUSERS: return _("User quota exceeded.");
+#endif
+#ifdef WSAEDQUOT
+ case WSAEDQUOT: return _("Disk quota exceeded.");
+#endif
+#ifdef WSAESTALE
+ case WSAESTALE: return _("Stale file handle reference.");
+#endif
+#ifdef WSAEREMOTE
+ case WSAEREMOTE: return _("Item is remote.");
+#endif
+#ifdef WSASYSNOTREADY
+ case WSASYSNOTREADY: return _("Network subsystem is unavailable.");
+#endif
+#ifdef WSAVERNOTSUPPORTED
+ case WSAVERNOTSUPPORTED: return _("Winsock.dll version out of range.");
+#endif
+#ifdef WSANOTINITIALISED
+ case WSANOTINITIALISED: return _("Successful WSAStartup not yet performed.");
+#endif
+#ifdef WSAEDISCON
+ case WSAEDISCON: return _("Graceful shutdown in progress.");
+#endif
+#ifdef WSAENOMORE
+ case WSAENOMORE: return _("No more results.");
+#endif
+#ifdef WSAECANCELLED
+ case WSAECANCELLED: return _("Call has been canceled.");
+#endif
+#ifdef WSAEINVALIDPROCTABLE
+ case WSAEINVALIDPROCTABLE: return _("Procedure call table is invalid.");
+#endif
+#ifdef WSAEINVALIDPROVIDER
+ case WSAEINVALIDPROVIDER: return _("Service provider is invalid.");
+#endif
+#ifdef WSAEPROVIDERFAILEDINIT
+ case WSAEPROVIDERFAILEDINIT: return _("Service provider failed to initialize.");
+#endif
+#ifdef WSASYSCALLFAILURE
+ case WSASYSCALLFAILURE: return _("System call failure.");
+#endif
+#ifdef WSASERVICE_NOT_FOUND
+ case WSASERVICE_NOT_FOUND: return _("Service not found.");
+#endif
+#ifdef WSATYPE_NOT_FOUND
+ case WSATYPE_NOT_FOUND: return _("Class type not found.");
+#endif
+#ifdef WSA_E_NO_MORE
+ case WSA_E_NO_MORE: return _("No more results.");
+#endif
+#ifdef WSA_E_CANCELLED
+ case WSA_E_CANCELLED: return _("Call was canceled.");
+#endif
+#ifdef WSAEREFUSED
+ case WSAEREFUSED: return _("Database query was refused.");
+#endif
+#ifdef WSAHOST_NOT_FOUND
+ case WSAHOST_NOT_FOUND: return _("Host not found.");
+#endif
+#ifdef WSATRY_AGAIN
+ case WSATRY_AGAIN: return _("Nonauthoritative host not found.");
+#endif
+#ifdef WSANO_RECOVERY
+ case WSANO_RECOVERY: return _("This is a nonrecoverable error.");
+#endif
+#ifdef WSANO_DATA
+ case WSANO_DATA: return _("Valid name, no data record of requested type.");
+#endif
+#ifdef WSA_QOS_RECEIVERS
+ case WSA_QOS_RECEIVERS: return _("QOS receivers.");
+#endif
+#ifdef WSA_QOS_SENDERS
+ case WSA_QOS_SENDERS: return _("QOS senders.");
+#endif
+#ifdef WSA_QOS_NO_SENDERS
+ case WSA_QOS_NO_SENDERS: return _("No QOS senders.");
+#endif
+#ifdef WSA_QOS_NO_RECEIVERS
+ case WSA_QOS_NO_RECEIVERS: return _("QOS no receivers.");
+#endif
+#ifdef WSA_QOS_REQUEST_CONFIRMED
+ case WSA_QOS_REQUEST_CONFIRMED: return _("QOS request confirmed.");
+#endif
+#ifdef WSA_QOS_ADMISSION_FAILURE
+ case WSA_QOS_ADMISSION_FAILURE: return _("QOS admission error.");
+#endif
+#ifdef WSA_QOS_POLICY_FAILURE
+ case WSA_QOS_POLICY_FAILURE: return _("QOS policy failure.");
+#endif
+#ifdef WSA_QOS_BAD_STYLE
+ case WSA_QOS_BAD_STYLE: return _("QOS bad style.");
+#endif
+#ifdef WSA_QOS_BAD_OBJECT
+ case WSA_QOS_BAD_OBJECT: return _("QOS bad object.");
+#endif
+#ifdef WSA_QOS_TRAFFIC_CTRL_ERROR
+ case WSA_QOS_TRAFFIC_CTRL_ERROR: return _("QOS traffic control error.");
+#endif
+#ifdef WSA_QOS_GENERIC_ERROR
+ case WSA_QOS_GENERIC_ERROR: return _("QOS generic error.");
+#endif
+#ifdef WSA_QOS_ESERVICETYPE
+ case WSA_QOS_ESERVICETYPE: return _("QOS service type error.");
+#endif
+#ifdef WSA_QOS_EFLOWSPEC
+ case WSA_QOS_EFLOWSPEC: return _("QOS flowspec error.");
+#endif
+#ifdef WSA_QOS_EPROVSPECBUF
+ case WSA_QOS_EPROVSPECBUF: return _("Invalid QOS provider buffer.");
+#endif
+#ifdef WSA_QOS_EFILTERSTYLE
+ case WSA_QOS_EFILTERSTYLE: return _("Invalid QOS filter style.");
+#endif
+#ifdef WSA_QOS_EFILTERTYPE
+ case WSA_QOS_EFILTERTYPE: return _("Invalid QOS filter type.");
+#endif
+#ifdef WSA_QOS_EFILTERCOUNT
+ case WSA_QOS_EFILTERCOUNT: return _("Incorrect QOS filter count.");
+#endif
+#ifdef WSA_QOS_EOBJLENGTH
+ case WSA_QOS_EOBJLENGTH: return _("Invalid QOS object length.");
+#endif
+#ifdef WSA_QOS_EFLOWCOUNT
+ case WSA_QOS_EFLOWCOUNT: return _("Incorrect QOS flow count.");
+#endif
+#ifdef WSA_QOS_EUNKOWNPSOBJ
+ case WSA_QOS_EUNKOWNPSOBJ: return _("Unrecognized QOS object.");
+#endif
+#ifdef WSA_QOS_EPOLICYOBJ
+ case WSA_QOS_EPOLICYOBJ: return _("Invalid QOS policy object.");
+#endif
+#ifdef WSA_QOS_EFLOWDESC
+ case WSA_QOS_EFLOWDESC: return _("Invalid QOS flow descriptor.");
+#endif
+#ifdef WSA_QOS_EPSFLOWSPEC
+ case WSA_QOS_EPSFLOWSPEC: return _("Invalid QOS provider-specific flowspec.");
+#endif
+#ifdef WSA_QOS_EPSFILTERSPEC
+ case WSA_QOS_EPSFILTERSPEC: return _("Invalid QOS provider-specific filterspec.");
+#endif
+#ifdef WSA_QOS_ESDMODEOBJ
+ case WSA_QOS_ESDMODEOBJ: return _("Invalid QOS shape discard mode object.");
+#endif
+#ifdef WSA_QOS_ESHAPERATEOBJ
+ case WSA_QOS_ESHAPERATEOBJ: return _("Invalid QOS shaping rate object.");
+#endif
+#ifdef WSA_QOS_RESERVED_PETYPE
+ case WSA_QOS_RESERVED_PETYPE: return _("Reserved policy QOS element type.");
+#endif
+ default: return _("Unknown.");
+ }
+}
+
+char*
+pgm_adapter_strerror (
+ const int adapter_errno
+ )
+{
+ switch (adapter_errno) {
+#ifdef ERROR_ADDRESS_NOT_ASSOCIATED
+ case ERROR_ADDRESS_NOT_ASSOCIATED: return _("DHCP lease information was available.");
+#endif
+#ifdef ERROR_BUFFER_OVERFLOW
+ case ERROR_BUFFER_OVERFLOW: return _("The buffer to receive the adapter information is too small.");
+#endif
+#ifdef ERROR_INVALID_DATA
+ case ERROR_INVALID_DATA: return _("Invalid adapter information was retrieved.");
+#endif
+#ifdef ERROR_INVALID_PARAMETER
+ case ERROR_INVALID_PARAMETER: return _("One of the parameters is invalid.");
+#endif
+#ifdef ERROR_NOT_ENOUGH_MEMORY
+ case ERROR_NOT_ENOUGH_MEMORY: return _("Insufficient memory resources are available to complete the operation.");
+#endif
+#ifdef ERROR_NO_DATA
+ case ERROR_NO_DATA: return _("No adapter information exists for the local computer.");
+#endif
+#ifdef ERROR_NOT_SUPPORTED
+ case ERROR_NOT_SUPPORTED: return _("The GetAdaptersInfo function is not supported by the operating system running on the local computer..");
+#endif
+ default: return _("Other.");
+ }
+}
+
+char*
+pgm_win_strerror (
+ char* buf,
+ size_t buflen,
+ const int win_errno
+ )
+{
+ const DWORD nSize = buflen;
+ FormatMessage (FORMAT_MESSAGE_FROM_SYSTEM,
+ NULL, /* source */
+ win_errno, /* message id */
+ MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT), /* language id */
+ (LPTSTR)buf,
+ buflen,
+ NULL); /* arguments */
+ return buf;
+}
+#endif /* _WIN32 */
+
+/* eof */