1 /**************************************************************************** 2 **************************************************************************** 3 *** 4 *** This header was automatically generated from a Linux kernel header 5 *** of the same name, to make information necessary for userspace to 6 *** call into the kernel available to libc. It contains only constants, 7 *** structures, and macros generated from the original header, and thus, 8 *** contains no copyrightable information. 9 *** 10 *** Copied and modified from bionic/libc/kernel/uapi/linux/vm_sockets.h 11 *** 12 **************************************************************************** 13 ****************************************************************************/ 14 #ifndef _UAPI_VM_SOCKETS_H 15 #define _UAPI_VM_SOCKETS_H 16 #include <linux/socket.h> 17 #define SO_VM_SOCKETS_BUFFER_SIZE 0 18 #define SO_VM_SOCKETS_BUFFER_MIN_SIZE 1 19 #define SO_VM_SOCKETS_BUFFER_MAX_SIZE 2 20 #define SO_VM_SOCKETS_PEER_HOST_VM_ID 3 21 #define SO_VM_SOCKETS_TRUSTED 5 22 #define SO_VM_SOCKETS_CONNECT_TIMEOUT 6 23 #define SO_VM_SOCKETS_NONBLOCK_TXRX 7 24 #define VMADDR_CID_ANY - 1U 25 #define VMADDR_PORT_ANY - 1U 26 #define VMADDR_CID_HYPERVISOR 0 27 #define VMADDR_CID_RESERVED 1 28 #define VMADDR_CID_HOST 2 29 #define VM_SOCKETS_INVALID_VERSION - 1U 30 #define VM_SOCKETS_VERSION_EPOCH(_v) (((_v) & 0xFF000000) >> 24) 31 #define VM_SOCKETS_VERSION_MAJOR(_v) (((_v) & 0x00FF0000) >> 16) 32 #define VM_SOCKETS_VERSION_MINOR(_v) (((_v) & 0x0000FFFF)) 33 struct sockaddr_vm { 34 __kernel_sa_family_t svm_family; 35 unsigned short svm_reserved1; 36 unsigned int svm_port; 37 unsigned int svm_cid; 38 unsigned char svm_zero[sizeof(struct sockaddr) - sizeof(sa_family_t) - sizeof(unsigned short) - sizeof(unsigned int) - sizeof(unsigned int)]; 39 }; 40 #define IOCTL_VM_SOCKETS_GET_LOCAL_CID _IO(7, 0xb9) 41 #ifndef AF_VSOCK 42 #define AF_VSOCK 40 43 #endif 44 #endif 45