1// Copyright 2013 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#if defined(PROVIDES_SOCKET_API) && !defined(__GLIBC__) 7 8#include <string.h> 9#include "sdk_util/macros.h" 10 11static uint8_t GetByte(const void* addr, int byte) { 12 const char* buf = static_cast<const char*>(addr); 13 return static_cast<uint8_t>(buf[byte]); 14} 15 16EXTERN_C_BEGIN 17 18char* inet_ntoa(struct in_addr in) { 19 static char addr[INET_ADDRSTRLEN]; 20 snprintf(addr, INET_ADDRSTRLEN, "%u.%u.%u.%u", 21 GetByte(&in, 0), GetByte(&in, 1), 22 GetByte(&in, 2), GetByte(&in, 3)); 23 return addr; 24} 25 26EXTERN_C_END 27 28#endif // defined(PROVIDES_SOCKET_API) && !defined(__GLIBC__) 29