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 
7 #if defined(PROVIDES_SOCKET_API) && !defined(__GLIBC__) && !defined(__BIONIC__) && !defined(__APPLE__)
8 
9 #include <string.h>
10 
htonl(uint32_t hostlong)11 inline uint32_t htonl(uint32_t hostlong) {
12   uint8_t result_bytes[4];
13   result_bytes[0] = (uint8_t) ((hostlong >> 24) & 0xFF);
14   result_bytes[1] = (uint8_t) ((hostlong >> 16) & 0xFF);
15   result_bytes[2] = (uint8_t) ((hostlong >> 8) & 0xFF);
16   result_bytes[3] = (uint8_t) (hostlong & 0xFF);
17 
18   uint32_t result;
19   memcpy(&result, result_bytes, 4);
20   return result;
21 }
22 
23 #endif  /* defined(PROVIDES_SOCKET_API) && !defined(__GLIBC__) ... */
24