--- /dev/null
+#ifndef __SYS_SOCKET_H
+#define __SYS_SOCKET_H
+
+#include <sys/types.h>
+
+typedef size_t socklen_t;
+
+#define PF_UNIX 0
+#define PF_LOCAL PF_UNIX
+#define PF_INET 1
+#define PF_INET6 2
+
+#define AF_UNIX PF_UNIX
+#define AF_LOCAL AF_UNIX
+#define AF_INET PF_INET
+#define AF_INET6 PF_INET6
+
+#define SOCK_RAW 0
+#define SOCK_DGRAM 1
+#define SOCK_STREAM 2
+#define SOCK_SEQPACKET 3
+
+struct sockaddr {
+ u16_t so_family;
+ /*
+ * struct sockaddr has to be big enough to fit all
+ * supported sockaddr types. The biggest one is
+ * struct sockaddr_un with 110 bytes.
+ */
+ u8_t so_data[108];
+};
+
+#endif /* __SYS_SOCKET_H */