Upstream version 10.38.222.0
[platform/framework/web/crosswalk.git] / src / native_client_sdk / src / libraries / nacl_io / syscalls / gai_strerror.c
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