/**************************************************************************** **************************************************************************** *** *** This header was automatically generated from a Linux kernel header *** of the same name, to make information necessary for userspace to *** call into the kernel available to libc. It contains only constants, *** structures, and macros generated from the original header, and thus, *** contains no copyrightable information. *** *** Copied and modified from bionic/libc/kernel/uapi/linux/vm_sockets.h *** **************************************************************************** ****************************************************************************/ #pragma once #ifdef __BIONIC__ #include #else #ifndef _UAPI_VM_SOCKETS_H #define _UAPI_VM_SOCKETS_H #define SO_VM_SOCKETS_BUFFER_SIZE 0 #define SO_VM_SOCKETS_BUFFER_MIN_SIZE 1 #define SO_VM_SOCKETS_BUFFER_MAX_SIZE 2 #define SO_VM_SOCKETS_PEER_HOST_VM_ID 3 #define SO_VM_SOCKETS_TRUSTED 5 #define SO_VM_SOCKETS_CONNECT_TIMEOUT 6 #define SO_VM_SOCKETS_NONBLOCK_TXRX 7 #define VMADDR_CID_ANY (-1U) #define VMADDR_PORT_ANY (-1U) #define VMADDR_CID_HYPERVISOR 0 #define VMADDR_CID_LOCAL 1 #define VMADDR_CID_HOST 2 #define VM_SOCKETS_INVALID_VERSION (-1U) #define VM_SOCKETS_VERSION_EPOCH(_v) (((_v)&0xFF000000) >> 24) #define VM_SOCKETS_VERSION_MAJOR(_v) (((_v)&0x00FF0000) >> 16) #define VM_SOCKETS_VERSION_MINOR(_v) (((_v)&0x0000FFFF)) struct sockaddr_vm { sa_family_t svm_family; // NOLINTNEXTLINE(google-runtime-int) unsigned short svm_reserved1; unsigned int svm_port; unsigned int svm_cid; // NOLINTNEXTLINE(google-runtime-int) unsigned char svm_zero[sizeof(struct sockaddr) - sizeof(sa_family_t) - sizeof(unsigned short) - sizeof(unsigned int) - sizeof(unsigned int)]; }; #define IOCTL_VM_SOCKETS_GET_LOCAL_CID _IO(7, 0xb9) #ifndef AF_VSOCK #define AF_VSOCK 40 #endif #endif #endif