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