Chromium Code Reviews| Index: native_client_sdk/src/libraries/nacl_io/syscalls/htonl.c |
| diff --git a/native_client_sdk/src/libraries/nacl_io/syscalls/htonl.c b/native_client_sdk/src/libraries/nacl_io/syscalls/htonl.c |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..8bf5eaa77fa3f3a5a5bf26445291e1b49b5e5ac2 |
| --- /dev/null |
| +++ b/native_client_sdk/src/libraries/nacl_io/syscalls/htonl.c |
| @@ -0,0 +1,23 @@ |
| +/* Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| + * Use of this source code is governed by a BSD-style license that can be |
| + * found in the LICENSE file. */ |
| + |
| +#include "nacl_io/ossocket.h" |
| + |
| +#if defined(PROVIDES_SOCKET_API) && !defined(__GLIBC__) |
| + |
| +#include <string.h> |
| + |
| +inline uint32_t htonl(uint32_t hostlong) { |
| + uint8_t result_bytes[4]; |
| + result_bytes[0] = (uint8_t) ((hostlong >> 24) & 0xFF); |
| + result_bytes[1] = (uint8_t) ((hostlong >> 16) & 0xFF); |
| + result_bytes[2] = (uint8_t) ((hostlong >> 8) & 0xFF); |
| + result_bytes[3] = (uint8_t) (hostlong & 0xFF); |
|
Sam Clegg
2013/08/08 19:34:44
This code is endian depend thought right?
I'd rat
|
| + |
| + uint32_t result; |
| + memcpy(&result, result_bytes, 4); |
| + return result; |
| +} |
| + |
| +#endif /* defined(PROVIDES_SOCKET_API) && !defined(__GLIBC__) */ |