Upstream version 10.38.222.0
[platform/framework/web/crosswalk.git] / src / native_client_sdk / src / libraries / nacl_io / syscalls / htons.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 uint16_t htons(uint16_t hostshort) {
12   uint8_t result_bytes[2];
13   result_bytes[0] = (uint8_t) ((hostshort >> 8) & 0xFF);
14   result_bytes[1] = (uint8_t) (hostshort & 0xFF);
15
16   uint16_t result;
17   memcpy(&result, result_bytes, 2);
18   return result;
19 }
20
21 #endif  /* defined(PROVIDES_SOCKET_API) && !defined(__GLIBC__) ... */