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