xref: /aosp_15_r20/prebuilts/build-tools/sysroots/i686-unknown-linux-musl/include/xen/gntdev.h (revision cda5da8d549138a6648c5ee6d7a49cf8f4a657be)
1*cda5da8dSAndroid Build Coastguard Worker /*
2*cda5da8dSAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*cda5da8dSAndroid Build Coastguard Worker  *
4*cda5da8dSAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*cda5da8dSAndroid Build Coastguard Worker  * for more information.
6*cda5da8dSAndroid Build Coastguard Worker  */
7*cda5da8dSAndroid Build Coastguard Worker #ifndef __LINUX_PUBLIC_GNTDEV_H__
8*cda5da8dSAndroid Build Coastguard Worker #define __LINUX_PUBLIC_GNTDEV_H__
9*cda5da8dSAndroid Build Coastguard Worker #include <linux/types.h>
10*cda5da8dSAndroid Build Coastguard Worker struct ioctl_gntdev_grant_ref {
11*cda5da8dSAndroid Build Coastguard Worker   __u32 domid;
12*cda5da8dSAndroid Build Coastguard Worker   __u32 ref;
13*cda5da8dSAndroid Build Coastguard Worker };
14*cda5da8dSAndroid Build Coastguard Worker #define IOCTL_GNTDEV_MAP_GRANT_REF _IOC(_IOC_NONE, 'G', 0, sizeof(struct ioctl_gntdev_map_grant_ref))
15*cda5da8dSAndroid Build Coastguard Worker struct ioctl_gntdev_map_grant_ref {
16*cda5da8dSAndroid Build Coastguard Worker   __u32 count;
17*cda5da8dSAndroid Build Coastguard Worker   __u32 pad;
18*cda5da8dSAndroid Build Coastguard Worker   __u64 index;
19*cda5da8dSAndroid Build Coastguard Worker   struct ioctl_gntdev_grant_ref refs[1];
20*cda5da8dSAndroid Build Coastguard Worker };
21*cda5da8dSAndroid Build Coastguard Worker #define IOCTL_GNTDEV_UNMAP_GRANT_REF _IOC(_IOC_NONE, 'G', 1, sizeof(struct ioctl_gntdev_unmap_grant_ref))
22*cda5da8dSAndroid Build Coastguard Worker struct ioctl_gntdev_unmap_grant_ref {
23*cda5da8dSAndroid Build Coastguard Worker   __u64 index;
24*cda5da8dSAndroid Build Coastguard Worker   __u32 count;
25*cda5da8dSAndroid Build Coastguard Worker   __u32 pad;
26*cda5da8dSAndroid Build Coastguard Worker };
27*cda5da8dSAndroid Build Coastguard Worker #define IOCTL_GNTDEV_GET_OFFSET_FOR_VADDR _IOC(_IOC_NONE, 'G', 2, sizeof(struct ioctl_gntdev_get_offset_for_vaddr))
28*cda5da8dSAndroid Build Coastguard Worker struct ioctl_gntdev_get_offset_for_vaddr {
29*cda5da8dSAndroid Build Coastguard Worker   __u64 vaddr;
30*cda5da8dSAndroid Build Coastguard Worker   __u64 offset;
31*cda5da8dSAndroid Build Coastguard Worker   __u32 count;
32*cda5da8dSAndroid Build Coastguard Worker   __u32 pad;
33*cda5da8dSAndroid Build Coastguard Worker };
34*cda5da8dSAndroid Build Coastguard Worker #define IOCTL_GNTDEV_SET_MAX_GRANTS _IOC(_IOC_NONE, 'G', 3, sizeof(struct ioctl_gntdev_set_max_grants))
35*cda5da8dSAndroid Build Coastguard Worker struct ioctl_gntdev_set_max_grants {
36*cda5da8dSAndroid Build Coastguard Worker   __u32 count;
37*cda5da8dSAndroid Build Coastguard Worker };
38*cda5da8dSAndroid Build Coastguard Worker #define IOCTL_GNTDEV_SET_UNMAP_NOTIFY _IOC(_IOC_NONE, 'G', 7, sizeof(struct ioctl_gntdev_unmap_notify))
39*cda5da8dSAndroid Build Coastguard Worker struct ioctl_gntdev_unmap_notify {
40*cda5da8dSAndroid Build Coastguard Worker   __u64 index;
41*cda5da8dSAndroid Build Coastguard Worker   __u32 action;
42*cda5da8dSAndroid Build Coastguard Worker   __u32 event_channel_port;
43*cda5da8dSAndroid Build Coastguard Worker };
44*cda5da8dSAndroid Build Coastguard Worker struct gntdev_grant_copy_segment {
45*cda5da8dSAndroid Build Coastguard Worker   union {
46*cda5da8dSAndroid Build Coastguard Worker     void  * virt;
47*cda5da8dSAndroid Build Coastguard Worker     struct {
48*cda5da8dSAndroid Build Coastguard Worker       grant_ref_t ref;
49*cda5da8dSAndroid Build Coastguard Worker       __u16 offset;
50*cda5da8dSAndroid Build Coastguard Worker       domid_t domid;
51*cda5da8dSAndroid Build Coastguard Worker     } foreign;
52*cda5da8dSAndroid Build Coastguard Worker   } source, dest;
53*cda5da8dSAndroid Build Coastguard Worker   __u16 len;
54*cda5da8dSAndroid Build Coastguard Worker   __u16 flags;
55*cda5da8dSAndroid Build Coastguard Worker   __s16 status;
56*cda5da8dSAndroid Build Coastguard Worker };
57*cda5da8dSAndroid Build Coastguard Worker #define IOCTL_GNTDEV_GRANT_COPY _IOC(_IOC_NONE, 'G', 8, sizeof(struct ioctl_gntdev_grant_copy))
58*cda5da8dSAndroid Build Coastguard Worker struct ioctl_gntdev_grant_copy {
59*cda5da8dSAndroid Build Coastguard Worker   unsigned int count;
60*cda5da8dSAndroid Build Coastguard Worker   struct gntdev_grant_copy_segment  * segments;
61*cda5da8dSAndroid Build Coastguard Worker };
62*cda5da8dSAndroid Build Coastguard Worker #define UNMAP_NOTIFY_CLEAR_BYTE 0x1
63*cda5da8dSAndroid Build Coastguard Worker #define UNMAP_NOTIFY_SEND_EVENT 0x2
64*cda5da8dSAndroid Build Coastguard Worker #define GNTDEV_DMA_FLAG_WC (1 << 0)
65*cda5da8dSAndroid Build Coastguard Worker #define GNTDEV_DMA_FLAG_COHERENT (1 << 1)
66*cda5da8dSAndroid Build Coastguard Worker #define IOCTL_GNTDEV_DMABUF_EXP_FROM_REFS _IOC(_IOC_NONE, 'G', 9, sizeof(struct ioctl_gntdev_dmabuf_exp_from_refs))
67*cda5da8dSAndroid Build Coastguard Worker struct ioctl_gntdev_dmabuf_exp_from_refs {
68*cda5da8dSAndroid Build Coastguard Worker   __u32 flags;
69*cda5da8dSAndroid Build Coastguard Worker   __u32 count;
70*cda5da8dSAndroid Build Coastguard Worker   __u32 fd;
71*cda5da8dSAndroid Build Coastguard Worker   __u32 domid;
72*cda5da8dSAndroid Build Coastguard Worker   __u32 refs[1];
73*cda5da8dSAndroid Build Coastguard Worker };
74*cda5da8dSAndroid Build Coastguard Worker #define IOCTL_GNTDEV_DMABUF_EXP_WAIT_RELEASED _IOC(_IOC_NONE, 'G', 10, sizeof(struct ioctl_gntdev_dmabuf_exp_wait_released))
75*cda5da8dSAndroid Build Coastguard Worker struct ioctl_gntdev_dmabuf_exp_wait_released {
76*cda5da8dSAndroid Build Coastguard Worker   __u32 fd;
77*cda5da8dSAndroid Build Coastguard Worker   __u32 wait_to_ms;
78*cda5da8dSAndroid Build Coastguard Worker };
79*cda5da8dSAndroid Build Coastguard Worker #define IOCTL_GNTDEV_DMABUF_IMP_TO_REFS _IOC(_IOC_NONE, 'G', 11, sizeof(struct ioctl_gntdev_dmabuf_imp_to_refs))
80*cda5da8dSAndroid Build Coastguard Worker struct ioctl_gntdev_dmabuf_imp_to_refs {
81*cda5da8dSAndroid Build Coastguard Worker   __u32 fd;
82*cda5da8dSAndroid Build Coastguard Worker   __u32 count;
83*cda5da8dSAndroid Build Coastguard Worker   __u32 domid;
84*cda5da8dSAndroid Build Coastguard Worker   __u32 reserved;
85*cda5da8dSAndroid Build Coastguard Worker   __u32 refs[1];
86*cda5da8dSAndroid Build Coastguard Worker };
87*cda5da8dSAndroid Build Coastguard Worker #define IOCTL_GNTDEV_DMABUF_IMP_RELEASE _IOC(_IOC_NONE, 'G', 12, sizeof(struct ioctl_gntdev_dmabuf_imp_release))
88*cda5da8dSAndroid Build Coastguard Worker struct ioctl_gntdev_dmabuf_imp_release {
89*cda5da8dSAndroid Build Coastguard Worker   __u32 fd;
90*cda5da8dSAndroid Build Coastguard Worker   __u32 reserved;
91*cda5da8dSAndroid Build Coastguard Worker };
92*cda5da8dSAndroid Build Coastguard Worker #endif
93