blob: 50e84566bb8cfd1c1616490356a2ae861b549ae0 [file] [log] [blame]
Ben Cheng655a7c02013-10-16 16:09:24 -07001/****************************************************************************
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 *** To edit the content of this header, modify the corresponding
11 *** source file (e.g. under external/kernel-headers/original/) then
12 *** run bionic/libc/kernel/tools/update_all.py
13 ***
14 *** Any manual change here will be lost the next time this script will
15 *** be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _UAPI_VM_SOCKETS_H
20#define _UAPI_VM_SOCKETS_H
21#include <linux/socket.h>
Christopher Ferris05667cd2021-02-16 16:01:34 -080022#include <linux/types.h>
Ben Cheng655a7c02013-10-16 16:09:24 -070023#define SO_VM_SOCKETS_BUFFER_SIZE 0
Ben Cheng655a7c02013-10-16 16:09:24 -070024#define SO_VM_SOCKETS_BUFFER_MIN_SIZE 1
25#define SO_VM_SOCKETS_BUFFER_MAX_SIZE 2
26#define SO_VM_SOCKETS_PEER_HOST_VM_ID 3
27#define SO_VM_SOCKETS_TRUSTED 5
Ben Cheng655a7c02013-10-16 16:09:24 -070028#define SO_VM_SOCKETS_CONNECT_TIMEOUT 6
29#define SO_VM_SOCKETS_NONBLOCK_TXRX 7
Tao Baod7db5942015-01-28 10:07:51 -080030#define VMADDR_CID_ANY - 1U
31#define VMADDR_PORT_ANY - 1U
Ben Cheng655a7c02013-10-16 16:09:24 -070032#define VMADDR_CID_HYPERVISOR 0
Christopher Ferrisbb9fcb42020-04-06 11:38:04 -070033#define VMADDR_CID_LOCAL 1
Ben Cheng655a7c02013-10-16 16:09:24 -070034#define VMADDR_CID_HOST 2
Christopher Ferris05667cd2021-02-16 16:01:34 -080035#define VMADDR_FLAG_TO_HOST 0x01
Tao Baod7db5942015-01-28 10:07:51 -080036#define VM_SOCKETS_INVALID_VERSION - 1U
Ben Cheng655a7c02013-10-16 16:09:24 -070037#define VM_SOCKETS_VERSION_EPOCH(_v) (((_v) & 0xFF000000) >> 24)
38#define VM_SOCKETS_VERSION_MAJOR(_v) (((_v) & 0x00FF0000) >> 16)
39#define VM_SOCKETS_VERSION_MINOR(_v) (((_v) & 0x0000FFFF))
40struct sockaddr_vm {
Tao Baod7db5942015-01-28 10:07:51 -080041 __kernel_sa_family_t svm_family;
42 unsigned short svm_reserved1;
43 unsigned int svm_port;
44 unsigned int svm_cid;
Christopher Ferris05667cd2021-02-16 16:01:34 -080045 __u8 svm_flags;
46 unsigned char svm_zero[sizeof(struct sockaddr) - sizeof(sa_family_t) - sizeof(unsigned short) - sizeof(unsigned int) - sizeof(unsigned int) - sizeof(__u8)];
Ben Cheng655a7c02013-10-16 16:09:24 -070047};
48#define IOCTL_VM_SOCKETS_GET_LOCAL_CID _IO(7, 0xb9)
49#endif