Finish socket implementation

Change-Id: Ifa4c628656a81255478c1ce4d786e7209d45ffbb
Author: Chris Dearman <chris@mips.com>
diff --git a/libportable/arch-mips/socket.c b/libportable/arch-mips/socket.c
index fc0e4fd..aab73c8 100644
--- a/libportable/arch-mips/socket.c
+++ b/libportable/arch-mips/socket.c
@@ -2,8 +2,13 @@
 #include <sys/socket.h>
 #include <sys/linux-syscalls.h>
 
-#define SOCK_STREAM_PORTABLE 1
-#define SOCK_DGRAM_PORTABLE 2
+/* From ndk/platforms/android-3/include/sys/socket.h */
+#define SOCK_STREAM_PORTABLE   1
+#define SOCK_DGRAM_PORTABLE    2
+#define SOCK_RAW_PORTABLE      3
+#define SOCK_RDM_PORTABLE      4
+#define SOCK_SEQPACKET_PORTABLE        5
+#define SOCK_PACKET_PORTABLE   10
 
 #if SOCK_STREAM==SOCK_STREAM_PORTABLE
 #error Bad build environment
@@ -12,8 +17,12 @@
 static inline int mips_change_type(int type)
 {
     switch (type) {
-      case SOCK_DGRAM_PORTABLE: return SOCK_DGRAM;
       case SOCK_STREAM_PORTABLE: return SOCK_STREAM;
+      case SOCK_DGRAM_PORTABLE: return SOCK_DGRAM;
+      case SOCK_RAW_PORTABLE: return SOCK_RAW;
+      case SOCK_RDM_PORTABLE: return SOCK_RDM;
+      case SOCK_SEQPACKET_PORTABLE: return SOCK_SEQPACKET;
+      case SOCK_PACKET_PORTABLE: return SOCK_PACKET;
     }
     return type;
 }
@@ -21,5 +30,5 @@
 extern int socket(int, int, int);
 
 int socket_portable(int domain, int type, int protocol) {
-    return socket(domain,mips_change_type(type),protocol);
+    return socket(domain, mips_change_type(type), protocol);
 }