diff --git a/libc-test/build.rs b/libc-test/build.rs
index 0bb9d1d0a7ffa8706a1f19801e51be0db66db578..c5ed6fbc4232831de2e402cade39ebafc34cfdf4 100755
--- a/libc-test/build.rs
+++ b/libc-test/build.rs
@@ -1487,6 +1487,7 @@ fn test_android(target: &str) {
                 "linux/seccomp.h",
                 "linux/sched.h",
                 "linux/sockios.h",
+                "linux/vm_sockets.h",
                 "linux/wait.h",
 
     }
diff --git a/src/unix/linux_like/android/mod.rs b/src/unix/linux_like/android/mod.rs
index 81d42fbc3b552d8ea6aec92414ed4864f96b7b90..02e2baa495404df1fcb17ec38204de72c3bc6e09 100644
--- a/src/unix/linux_like/android/mod.rs
+++ b/src/unix/linux_like/android/mod.rs
@@ -236,6 +236,14 @@ s! {
         pub rm_so: ::ssize_t,
         pub rm_eo: ::ssize_t,
     }
+
+    pub struct sockaddr_vm {
+        pub svm_family: ::sa_family_t,
+        pub svm_reserved1: ::c_ushort,
+        pub svm_port: ::c_uint,
+        pub svm_cid: ::c_uint,
+        pub svm_zero: [u8; 4]
+    }
 }
 
 s_no_extra_traits! {
@@ -2241,6 +2249,12 @@ pub const SCHED_DEADLINE: ::c_int = 6;
 pub const SEEK_DATA: ::c_int = 3;
 pub const SEEK_HOLE: ::c_int = 4;
 
+// sys/socket.h
+pub const AF_NFC: ::c_int = 39;
+pub const AF_VSOCK: ::c_int = 40;
+pub const PF_NFC: ::c_int = AF_NFC;
+pub const PF_VSOCK: ::c_int = AF_VSOCK;
+
 f! {
     pub fn CMSG_NXTHDR(mhdr: *const msghdr,
                        cmsg: *const cmsghdr) -> *mut cmsghdr {