Home | History | Annotate | Download | only in syscalls
      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