1 /* 2 * This header was generated from the Linux kernel headers by update_headers.py, 3 * to provide necessary information from kernel to userspace, such as constants, 4 * structures, and macros, and thus, contains no copyrightable information. 5 */ 6 #ifndef __LINUX_PUBLIC_GNTALLOC_H__ 7 #define __LINUX_PUBLIC_GNTALLOC_H__ 8 #include <linux/types.h> 9 #define IOCTL_GNTALLOC_ALLOC_GREF \ 10 _IOC(_IOC_NONE, 'G', 5, sizeof(struct ioctl_gntalloc_alloc_gref)) 11 struct ioctl_gntalloc_alloc_gref { 12 13 14 __u16 domid; 15 16 __u16 flags; 17 18 __u32 count; 19 20 21 __u64 index; 22 23 24 __u32 gref_ids[1]; 25 }; 26 #define GNTALLOC_FLAG_WRITABLE 1 27 #define IOCTL_GNTALLOC_DEALLOC_GREF \ 28 _IOC(_IOC_NONE, 'G', 6, sizeof(struct ioctl_gntalloc_dealloc_gref)) 29 struct ioctl_gntalloc_dealloc_gref { 30 31 32 __u64 index; 33 34 __u32 count; 35 }; 36 #define IOCTL_GNTALLOC_SET_UNMAP_NOTIFY \ 37 _IOC(_IOC_NONE, 'G', 7, sizeof(struct ioctl_gntalloc_unmap_notify)) 38 struct ioctl_gntalloc_unmap_notify { 39 40 41 __u64 index; 42 43 __u32 action; 44 45 __u32 event_channel_port; 46 }; 47 #define UNMAP_NOTIFY_CLEAR_BYTE 0x1 48 #define UNMAP_NOTIFY_SEND_EVENT 0x2 49 #endif 50