blob: ad74adc88581efb023f6868cef356ad39db3d82a [file] [log] [blame]
Elliott Hughes180edef2023-11-02 00:08:05 +00001/*
2 * This file is auto-generated. Modifications will be lost.
3 *
4 * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5 * for more information.
6 */
Ben Cheng655a7c02013-10-16 16:09:24 -07007#ifndef _UAPI_VM_SOCKETS_H
8#define _UAPI_VM_SOCKETS_H
9#include <linux/socket.h>
Christopher Ferris05667cd2021-02-16 16:01:34 -080010#include <linux/types.h>
Ben Cheng655a7c02013-10-16 16:09:24 -070011#define SO_VM_SOCKETS_BUFFER_SIZE 0
Ben Cheng655a7c02013-10-16 16:09:24 -070012#define SO_VM_SOCKETS_BUFFER_MIN_SIZE 1
13#define SO_VM_SOCKETS_BUFFER_MAX_SIZE 2
14#define SO_VM_SOCKETS_PEER_HOST_VM_ID 3
15#define SO_VM_SOCKETS_TRUSTED 5
Christopher Ferrisa4792612022-01-10 13:51:15 -080016#define SO_VM_SOCKETS_CONNECT_TIMEOUT_OLD 6
Ben Cheng655a7c02013-10-16 16:09:24 -070017#define SO_VM_SOCKETS_NONBLOCK_TXRX 7
Christopher Ferrisa4792612022-01-10 13:51:15 -080018#define SO_VM_SOCKETS_CONNECT_TIMEOUT_NEW 8
19#if __BITS_PER_LONG == 64 || defined(__x86_64__) && defined(__ILP32__)
20#define SO_VM_SOCKETS_CONNECT_TIMEOUT SO_VM_SOCKETS_CONNECT_TIMEOUT_OLD
21#else
22#define SO_VM_SOCKETS_CONNECT_TIMEOUT (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_VM_SOCKETS_CONNECT_TIMEOUT_OLD : SO_VM_SOCKETS_CONNECT_TIMEOUT_NEW)
23#endif
Tao Baod7db5942015-01-28 10:07:51 -080024#define VMADDR_CID_ANY - 1U
25#define VMADDR_PORT_ANY - 1U
Ben Cheng655a7c02013-10-16 16:09:24 -070026#define VMADDR_CID_HYPERVISOR 0
Christopher Ferrisbb9fcb42020-04-06 11:38:04 -070027#define VMADDR_CID_LOCAL 1
Ben Cheng655a7c02013-10-16 16:09:24 -070028#define VMADDR_CID_HOST 2
Christopher Ferris05667cd2021-02-16 16:01:34 -080029#define VMADDR_FLAG_TO_HOST 0x01
Tao Baod7db5942015-01-28 10:07:51 -080030#define VM_SOCKETS_INVALID_VERSION - 1U
Ben Cheng655a7c02013-10-16 16:09:24 -070031#define VM_SOCKETS_VERSION_EPOCH(_v) (((_v) & 0xFF000000) >> 24)
32#define VM_SOCKETS_VERSION_MAJOR(_v) (((_v) & 0x00FF0000) >> 16)
33#define VM_SOCKETS_VERSION_MINOR(_v) (((_v) & 0x0000FFFF))
34struct sockaddr_vm {
Tao Baod7db5942015-01-28 10:07:51 -080035 __kernel_sa_family_t svm_family;
36 unsigned short svm_reserved1;
37 unsigned int svm_port;
38 unsigned int svm_cid;
Christopher Ferris05667cd2021-02-16 16:01:34 -080039 __u8 svm_flags;
40 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 -070041};
42#define IOCTL_VM_SOCKETS_GET_LOCAL_CID _IO(7, 0xb9)
43#endif