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

Unified Diff: libraries/nacl-mounts/net/newlib_compat.h

Issue 10392070: Socket subsystem implementation (Closed) Base URL: http://naclports.googlecode.com/svn/trunk/src/
Patch Set: Created 8 years, 6 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
« no previous file with comments | « libraries/nacl-mounts/net/TcpSocket.cc ('k') | libraries/nacl-mounts/pepper/PepperMount.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: libraries/nacl-mounts/net/newlib_compat.h
===================================================================
--- libraries/nacl-mounts/net/newlib_compat.h (revision 0)
+++ libraries/nacl-mounts/net/newlib_compat.h (revision 0)
@@ -0,0 +1,97 @@
+/*
+ * Copyright (c) 2012 The Native Client Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+#ifndef PACKAGES_LIBRARIES_NACL_MOUNTS_BASE_NEWLIB_H_
+#define PACKAGES_LIBRARIES_NACL_MOUNTS_BASE_NEWLIB_H_
+
+#include <assert.h>
+
+typedef uint32_t socklen_t;
+struct sockaddr {
+ uint16_t sa_family;
+ char sa_data[14];
+};
+
+typedef uint32_t in_addr_t;
+typedef uint16_t in_port_t;
+
+struct in_addr {
+ in_addr_t s_addr;
+};
+
+struct sockaddr_in {
+ uint16_t sin_family;
+ uint16_t sin_port;
+ struct in_addr sin_addr;
+ char sin_zero[8];
+};
+
+typedef struct addrinfo {
+ int ai_flags;
+ int ai_family;
+ int ai_socktype;
+ int ai_protocol;
+ size_t ai_addrlen;
+ struct sockaddr *ai_addr;
+ char* ai_canonname; /* canonical name */
+ struct addrinfo *ai_next; /* this struct can form a linked list */
+} ADDRINFOA;
+
+struct in6_addr {
+ uint8_t s6_addr[16]; /* IPv6 address */
+};
+
+#define AF_INET 1
+#define AF_INET6 2
+#define AF_UNSPEC 4
+#define SOCK_STREAM 1
+#define SOCK_DGRAM 2
+
+#define EAI_FAIL 1
+#define AI_PASSIVE 1
+#define AI_NUMERICHOST 2
+#define AI_CANONNAME 3
+#define EAI_FAMILY 2
+
+#define NI_MAXHOST 256
+
+#ifndef INET_ADDRSTRLEN
+#define INET_ADDRSTRLEN 16
+#endif
+
+struct hostent {
+ char* h_name; /* official name of host */
+ char** h_aliases; /* alias list */
+ int h_addrtype; /* host address type */
+ int h_length; /* length of address */
+ char** h_addr_list; /* list of addresses */
+};
+
+#define h_addr h_addr_list[0] /* for backward compatibility */
+
+static uint16_t htons(uint16_t v) {
+ assert(0);
+}
+uint16_t ntohs(uint16_t v) {
+ assert(0);
+}
+
+const char*
+inet_ntop(int af, const void *src, char *dst, socklen_t cnt) {
+ assert(0);
+}
+int inet_pton(int af, const char* src, void* dst) {
+ assert(0);
+}
+
+struct sockaddr_in6 {
+ uint16_t sin6_family; /* AF_INET6 */
+ in_port_t sin6_port; /* Transport layer port # */
+ uint32_t sin6_flowinfo; /* IPv6 flow information */
+ struct in6_addr sin6_addr; /* IPv6 address */
+};
+
+#endif // PACKAGES_LIBRARIES_NACL_MOUNTS_BASE_NEWLIB_H_
+
« no previous file with comments | « libraries/nacl-mounts/net/TcpSocket.cc ('k') | libraries/nacl-mounts/pepper/PepperMount.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698