Upstream version 10.38.222.0
[platform/framework/web/crosswalk.git] / src / native_client_sdk / src / libraries / nacl_io / syscalls / htonl.c
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__)
8
9 #include <string.h>
10
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__) ... */