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