summaryrefslogtreecommitdiff
path: root/src/sys/socket/mod.rs
diff options
context:
space:
mode:
authorStefano Garzarella <sgarzare@redhat.com>2019-06-25 12:34:09 +0200
committerStefano Garzarella <sgarzare@redhat.com>2019-07-12 08:50:28 +0200
commitb1b0e0771bde7905186fc5ac37787297621d42fd (patch)
tree044bddd6f62744def552987abe51ebd502fc8ee5 /src/sys/socket/mod.rs
parent5e463aa51f0e644d54c21f0db2effa4b757f982a (diff)
downloadnix-b1b0e0771bde7905186fc5ac37787297621d42fd.zip
socket: add support for AF_VSOCK
This patch adds AF_VSOCK support to AddressFamily in order to use VSOCK socket. Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Diffstat (limited to 'src/sys/socket/mod.rs')
-rw-r--r--src/sys/socket/mod.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/sys/socket/mod.rs b/src/sys/socket/mod.rs
index 0e27216f..d3cbdaac 100644
--- a/src/sys/socket/mod.rs
+++ b/src/sys/socket/mod.rs
@@ -33,6 +33,8 @@ pub use self::addr::{
pub use ::sys::socket::addr::netlink::NetlinkAddr;
#[cfg(any(target_os = "android", target_os = "linux"))]
pub use sys::socket::addr::alg::AlgAddr;
+#[cfg(target_os = "linux")]
+pub use sys::socket::addr::vsock::VsockAddr;
pub use libc::{
cmsghdr,
@@ -1254,6 +1256,11 @@ pub unsafe fn sockaddr_storage_to_addr(
use libc::sockaddr_alg;
Ok(SockAddr::Alg(AlgAddr(*(addr as *const _ as *const sockaddr_alg))))
}
+ #[cfg(target_os = "linux")]
+ libc::AF_VSOCK => {
+ use libc::sockaddr_vm;
+ Ok(SockAddr::Vsock(VsockAddr(*(addr as *const _ as *const sockaddr_vm))))
+ }
af => panic!("unexpected address family {}", af),
}
}