blob: 73b5d490c5a8556b9c78bc16221071a666038b2f [file] [log] [blame]
Christopher Ferris49f525c2016-12-12 14:55:36 -08001/****************************************************************************
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_LINUX_VIRTIO_VSOCK_H
20#define _UAPI_LINUX_VIRTIO_VSOCK_H
21#include <linux/types.h>
22#include <linux/virtio_ids.h>
Christopher Ferris49f525c2016-12-12 14:55:36 -080023#include <linux/virtio_config.h>
Christopher Ferris3a39c0b2021-09-02 00:03:38 +000024#define VIRTIO_VSOCK_F_SEQPACKET 1
Christopher Ferris49f525c2016-12-12 14:55:36 -080025struct virtio_vsock_config {
26 __le64 guest_cid;
27} __attribute__((packed));
Christopher Ferris49f525c2016-12-12 14:55:36 -080028enum virtio_vsock_event_id {
29 VIRTIO_VSOCK_EVENT_TRANSPORT_RESET = 0,
30};
31struct virtio_vsock_event {
Christopher Ferris49f525c2016-12-12 14:55:36 -080032 __le32 id;
33} __attribute__((packed));
34struct virtio_vsock_hdr {
35 __le64 src_cid;
Christopher Ferris49f525c2016-12-12 14:55:36 -080036 __le64 dst_cid;
37 __le32 src_port;
38 __le32 dst_port;
39 __le32 len;
Christopher Ferris49f525c2016-12-12 14:55:36 -080040 __le16 type;
41 __le16 op;
42 __le32 flags;
43 __le32 buf_alloc;
Christopher Ferris49f525c2016-12-12 14:55:36 -080044 __le32 fwd_cnt;
45} __attribute__((packed));
46enum virtio_vsock_type {
47 VIRTIO_VSOCK_TYPE_STREAM = 1,
Christopher Ferris3a39c0b2021-09-02 00:03:38 +000048 VIRTIO_VSOCK_TYPE_SEQPACKET = 2,
Christopher Ferris49f525c2016-12-12 14:55:36 -080049};
50enum virtio_vsock_op {
51 VIRTIO_VSOCK_OP_INVALID = 0,
52 VIRTIO_VSOCK_OP_REQUEST = 1,
Christopher Ferris49f525c2016-12-12 14:55:36 -080053 VIRTIO_VSOCK_OP_RESPONSE = 2,
54 VIRTIO_VSOCK_OP_RST = 3,
55 VIRTIO_VSOCK_OP_SHUTDOWN = 4,
56 VIRTIO_VSOCK_OP_RW = 5,
Christopher Ferris49f525c2016-12-12 14:55:36 -080057 VIRTIO_VSOCK_OP_CREDIT_UPDATE = 6,
58 VIRTIO_VSOCK_OP_CREDIT_REQUEST = 7,
59};
60enum virtio_vsock_shutdown {
Christopher Ferris49f525c2016-12-12 14:55:36 -080061 VIRTIO_VSOCK_SHUTDOWN_RCV = 1,
62 VIRTIO_VSOCK_SHUTDOWN_SEND = 2,
63};
Christopher Ferris3a39c0b2021-09-02 00:03:38 +000064enum virtio_vsock_rw {
Christopher Ferris2abfa9e2021-11-01 16:26:06 -070065 VIRTIO_VSOCK_SEQ_EOM = 1,
66 VIRTIO_VSOCK_SEQ_EOR = 2,
Christopher Ferris3a39c0b2021-09-02 00:03:38 +000067};
Christopher Ferris49f525c2016-12-12 14:55:36 -080068#endif