Home | History | Annotate | Download | only in linux
      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 SCIF_IOCTL_H
     20 #define SCIF_IOCTL_H
     21 #include <linux/types.h>
     22 struct scif_port_id {
     23   __u16 node;
     24   __u16 port;
     25 };
     26 struct scifioctl_connect {
     27   struct scif_port_id self;
     28   struct scif_port_id peer;
     29 };
     30 struct scifioctl_accept {
     31   __s32 flags;
     32   struct scif_port_id peer;
     33   __u64 endpt;
     34 };
     35 struct scifioctl_msg {
     36   __u64 msg;
     37   __s32 len;
     38   __s32 flags;
     39   __s32 out_len;
     40 };
     41 struct scifioctl_reg {
     42   __u64 addr;
     43   __u64 len;
     44   __s64 offset;
     45   __s32 prot;
     46   __s32 flags;
     47   __s64 out_offset;
     48 };
     49 struct scifioctl_unreg {
     50   __s64 offset;
     51   __u64 len;
     52 };
     53 struct scifioctl_copy {
     54   __s64 loffset;
     55   __u64 len;
     56   __s64 roffset;
     57   __u64 addr;
     58   __s32 flags;
     59 };
     60 struct scifioctl_fence_mark {
     61   __s32 flags;
     62   __u64 mark;
     63 };
     64 struct scifioctl_fence_signal {
     65   __s64 loff;
     66   __u64 lval;
     67   __s64 roff;
     68   __u64 rval;
     69   __s32 flags;
     70 };
     71 struct scifioctl_node_ids {
     72   __u64 nodes;
     73   __u64 self;
     74   __s32 len;
     75 };
     76 #define SCIF_BIND _IOWR('s', 1, __u64)
     77 #define SCIF_LISTEN _IOW('s', 2, __s32)
     78 #define SCIF_CONNECT _IOWR('s', 3, struct scifioctl_connect)
     79 #define SCIF_ACCEPTREQ _IOWR('s', 4, struct scifioctl_accept)
     80 #define SCIF_ACCEPTREG _IOWR('s', 5, __u64)
     81 #define SCIF_SEND _IOWR('s', 6, struct scifioctl_msg)
     82 #define SCIF_RECV _IOWR('s', 7, struct scifioctl_msg)
     83 #define SCIF_REG _IOWR('s', 8, struct scifioctl_reg)
     84 #define SCIF_UNREG _IOWR('s', 9, struct scifioctl_unreg)
     85 #define SCIF_READFROM _IOWR('s', 10, struct scifioctl_copy)
     86 #define SCIF_WRITETO _IOWR('s', 11, struct scifioctl_copy)
     87 #define SCIF_VREADFROM _IOWR('s', 12, struct scifioctl_copy)
     88 #define SCIF_VWRITETO _IOWR('s', 13, struct scifioctl_copy)
     89 #define SCIF_GET_NODEIDS _IOWR('s', 14, struct scifioctl_node_ids)
     90 #define SCIF_FENCE_MARK _IOWR('s', 15, struct scifioctl_fence_mark)
     91 #define SCIF_FENCE_WAIT _IOWR('s', 16, __s32)
     92 #define SCIF_FENCE_SIGNAL _IOWR('s', 17, struct scifioctl_fence_signal)
     93 #endif
     94