xref: /aosp_15_r20/frameworks/native/libs/binder/vm_sockets.h (revision 38e8c45f13ce32b0dcecb25141ffecaf386fa17f)
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