Home | History | Annotate | Download | only in xen
      1 /****************************************************************************
      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 __LINUX_PUBLIC_GNTDEV_H__
     20 #define __LINUX_PUBLIC_GNTDEV_H__
     21 #include <linux/types.h>
     22 struct ioctl_gntdev_grant_ref {
     23   __u32 domid;
     24   __u32 ref;
     25 };
     26 #define IOCTL_GNTDEV_MAP_GRANT_REF _IOC(_IOC_NONE, 'G', 0, sizeof(struct ioctl_gntdev_map_grant_ref))
     27 struct ioctl_gntdev_map_grant_ref {
     28   __u32 count;
     29   __u32 pad;
     30   __u64 index;
     31   struct ioctl_gntdev_grant_ref refs[1];
     32 };
     33 #define IOCTL_GNTDEV_UNMAP_GRANT_REF _IOC(_IOC_NONE, 'G', 1, sizeof(struct ioctl_gntdev_unmap_grant_ref))
     34 struct ioctl_gntdev_unmap_grant_ref {
     35   __u64 index;
     36   __u32 count;
     37   __u32 pad;
     38 };
     39 #define IOCTL_GNTDEV_GET_OFFSET_FOR_VADDR _IOC(_IOC_NONE, 'G', 2, sizeof(struct ioctl_gntdev_get_offset_for_vaddr))
     40 struct ioctl_gntdev_get_offset_for_vaddr {
     41   __u64 vaddr;
     42   __u64 offset;
     43   __u32 count;
     44   __u32 pad;
     45 };
     46 #define IOCTL_GNTDEV_SET_MAX_GRANTS _IOC(_IOC_NONE, 'G', 3, sizeof(struct ioctl_gntdev_set_max_grants))
     47 struct ioctl_gntdev_set_max_grants {
     48   __u32 count;
     49 };
     50 #define IOCTL_GNTDEV_SET_UNMAP_NOTIFY _IOC(_IOC_NONE, 'G', 7, sizeof(struct ioctl_gntdev_unmap_notify))
     51 struct ioctl_gntdev_unmap_notify {
     52   __u64 index;
     53   __u32 action;
     54   __u32 event_channel_port;
     55 };
     56 struct gntdev_grant_copy_segment {
     57   union {
     58     void __user * virt;
     59     struct {
     60       grant_ref_t ref;
     61       __u16 offset;
     62       domid_t domid;
     63     } foreign;
     64   } source, dest;
     65   __u16 len;
     66   __u16 flags;
     67   __s16 status;
     68 };
     69 #define IOCTL_GNTDEV_GRANT_COPY _IOC(_IOC_NONE, 'G', 8, sizeof(struct ioctl_gntdev_grant_copy))
     70 struct ioctl_gntdev_grant_copy {
     71   unsigned int count;
     72   struct gntdev_grant_copy_segment __user * segments;
     73 };
     74 #define UNMAP_NOTIFY_CLEAR_BYTE 0x1
     75 #define UNMAP_NOTIFY_SEND_EVENT 0x2
     76 #endif
     77