1 /* Copyright 2014 The Chromium Authors. All rights reserved. 2 * Use of this source code is governed by a BSD-style license that can be 3 * found in the LICENSE file. */ 4 5 #include "nacl_io/ossocket.h" 6 7 #ifdef PROVIDES_SOCKET_API 8 9 #include <stdio.h> 10 11 #if !defined(__GLIBC__) 12 #if defined(__BIONIC__) 13 const 14 #endif 15 char* gai_strerror(int errcode) { 16 switch (errcode) { 17 case EAI_BADFLAGS: return "Invalid value for `ai_flags' field."; 18 case EAI_NONAME: return "NAME or SERVICE is unknown."; 19 case EAI_AGAIN: return "Temporary failure in name resolution."; 20 case EAI_FAIL: return "Non-recoverable failure in name res."; 21 case EAI_FAMILY: return "`ai_family' not supported."; 22 case EAI_SOCKTYPE: return "`ai_socktype' not supported."; 23 case EAI_SERVICE: return "SERVICE not supported for `ai_socktype'."; 24 case EAI_MEMORY: return "Memory allocation failure."; 25 case EAI_SYSTEM: return "System error returned in `errno'."; 26 case EAI_OVERFLOW: return "Argument buffer overflow."; 27 } 28 29 static char unknown_msg[128]; 30 sprintf(unknown_msg, "Unknown error in getaddrinfo: %d.", errcode); 31 return unknown_msg; 32 } 33 #endif 34 35 #endif // PROVIDES_SOCKET_API 36