From 37357abbfc65b3eeb01dbbe2205a6ebae1c5e5ac Mon Sep 17 00:00:00 2001
From: Andrew Walbran <qwandor@google.com>
Date: Tue, 29 Sep 2020 12:17:23 +0100
Subject: [PATCH] Android: Add vsock constants and struct.

---
 libc-test/build.rs                 |  1 +
 src/unix/linux_like/android/mod.rs | 14 ++++++++++++++
 2 files changed, 15 insertions(+)

diff --git a/libc-test/build.rs b/libc-test/build.rs
index 0bb9d1d0..c5ed6fbc 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 81d42fbc..02e2baa4 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 {
-- 
GitLab