Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / native_client_sdk / src / libraries / nacl_io / syscalls / socket / htons.c
blob9cf325cad596d67c27df6e370a7203f58a008184
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. */
5 #include "nacl_io/ossocket.h"
7 #if defined(PROVIDES_SOCKET_API) && !defined(__GLIBC__) && !defined(__BIONIC__) && !defined(__APPLE__)
9 #include <string.h>
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);
16 uint16_t result;
17 memcpy(&result, result_bytes, 2);
18 return result;
21 #endif /* defined(PROVIDES_SOCKET_API) && !defined(__GLIBC__) ... */