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> 22struct scif_port_id { 23 __u16 node; 24 __u16 port; 25}; 26struct scifioctl_connect { 27 struct scif_port_id self; 28 struct scif_port_id peer; 29}; 30struct scifioctl_accept { 31 __s32 flags; 32 struct scif_port_id peer; 33 __u64 endpt; 34}; 35struct scifioctl_msg { 36 __u64 msg; 37 __s32 len; 38 __s32 flags; 39 __s32 out_len; 40}; 41struct scifioctl_reg { 42 __u64 addr; 43 __u64 len; 44 __s64 offset; 45 __s32 prot; 46 __s32 flags; 47 __s64 out_offset; 48}; 49struct scifioctl_unreg { 50 __s64 offset; 51 __u64 len; 52}; 53struct scifioctl_copy { 54 __s64 loffset; 55 __u64 len; 56 __s64 roffset; 57 __u64 addr; 58 __s32 flags; 59}; 60struct scifioctl_fence_mark { 61 __s32 flags; 62 __u64 mark; 63}; 64struct scifioctl_fence_signal { 65 __s64 loff; 66 __u64 lval; 67 __s64 roff; 68 __u64 rval; 69 __s32 flags; 70}; 71struct 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