14311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch/* Copyright 2013 The Chromium Authors. All rights reserved.
24311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch * Use of this source code is governed by a BSD-style license that can be
34311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch * found in the LICENSE file. */
44311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch
54311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch#include "nacl_io/ossocket.h"
64311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch
74311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch#if defined(PROVIDES_SOCKET_API) && !defined(__GLIBC__)
84311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch
94311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch#include <string.h>
104311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch
114311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdochinline uint32_t ntohl(uint32_t networklong) {
124311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch  uint8_t input[4];
134311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch  memcpy(input, &networklong, 4);
144311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch
154311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch  return ((((uint32_t) input[0]) << 24) |
164311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch          (((uint32_t) input[1]) << 16) |
174311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch          (((uint32_t) input[2]) << 8) |
184311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch          ((uint32_t) input[3]));
194311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch}
204311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch
214311e82a78ceafbe0585f51d4c8a86df9f21aa0dBen Murdoch#endif  /* defined(PROVIDES_SOCKET_API) && !defined(__GLIBC__) */
22