Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(20)

Unified Diff: native_client_sdk/src/libraries/nacl_io/syscalls/htonl.c

Issue 22625004: Adds htonl, htons, ntohl, and ntohs to newlib (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@gethostbyname
Patch Set: Fixed Merge Conflict with Master Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
+
+ uint32_t result;
+ memcpy(&result, result_bytes, 4);
+ return result;
+}
+
+#endif /* defined(PROVIDES_SOCKET_API) && !defined(__GLIBC__) */
« no previous file with comments | « native_client_sdk/src/libraries/nacl_io/library.dsc ('k') | native_client_sdk/src/libraries/nacl_io/syscalls/htons.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698