105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/**************************************************************************** 205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris **************************************************************************** 305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris *** 405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris *** This header was automatically generated from a Linux kernel header 505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris *** of the same name, to make information necessary for userspace to 605d08e9716b5974d6ed08973f44930804890b902Christopher Ferris *** call into the kernel available to libc. It contains only constants, 705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris *** structures, and macros generated from the original header, and thus, 805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris *** contains no copyrightable information. 905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris *** 1005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris *** To edit the content of this header, modify the corresponding 1105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris *** source file (e.g. under external/kernel-headers/original/) then 1205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris *** run bionic/libc/kernel/tools/update_all.py 1305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris *** 1405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris *** Any manual change here will be lost the next time this script will 1505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris *** be run. You've been warned! 1605d08e9716b5974d6ed08973f44930804890b902Christopher Ferris *** 1705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris **************************************************************************** 1805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris ****************************************************************************/ 1905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#ifndef SCIF_IOCTL_H 2005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SCIF_IOCTL_H 2105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#include <linux/types.h> 2205d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisstruct scif_port_id { 2305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u16 node; 2405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u16 port; 2505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 2605d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisstruct scifioctl_connect { 2705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris struct scif_port_id self; 2805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris struct scif_port_id peer; 2905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 3005d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisstruct scifioctl_accept { 3105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __s32 flags; 3205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris struct scif_port_id peer; 3305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u64 endpt; 3405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 3505d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisstruct scifioctl_msg { 3605d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u64 msg; 3705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __s32 len; 3805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __s32 flags; 3905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __s32 out_len; 4005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 4105d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisstruct scifioctl_reg { 4205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u64 addr; 4305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u64 len; 4405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __s64 offset; 4505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __s32 prot; 4605d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __s32 flags; 4705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __s64 out_offset; 4805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 4905d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisstruct scifioctl_unreg { 5005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __s64 offset; 5105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u64 len; 5205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 5305d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisstruct scifioctl_copy { 5405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __s64 loffset; 5505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u64 len; 5605d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __s64 roffset; 5705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u64 addr; 5805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __s32 flags; 5905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 6005d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisstruct scifioctl_fence_mark { 6105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __s32 flags; 6205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u64 mark; 6305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 6405d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisstruct scifioctl_fence_signal { 6505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __s64 loff; 6605d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u64 lval; 6705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __s64 roff; 6805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u64 rval; 6905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __s32 flags; 7005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 7105d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisstruct scifioctl_node_ids { 7205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u64 nodes; 7305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u64 self; 7405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __s32 len; 7505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 7605d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SCIF_BIND _IOWR('s', 1, __u64) 7705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SCIF_LISTEN _IOW('s', 2, __s32) 7805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SCIF_CONNECT _IOWR('s', 3, struct scifioctl_connect) 7905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SCIF_ACCEPTREQ _IOWR('s', 4, struct scifioctl_accept) 8005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SCIF_ACCEPTREG _IOWR('s', 5, __u64) 8105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SCIF_SEND _IOWR('s', 6, struct scifioctl_msg) 8205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SCIF_RECV _IOWR('s', 7, struct scifioctl_msg) 8305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SCIF_REG _IOWR('s', 8, struct scifioctl_reg) 8405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SCIF_UNREG _IOWR('s', 9, struct scifioctl_unreg) 8505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SCIF_READFROM _IOWR('s', 10, struct scifioctl_copy) 8605d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SCIF_WRITETO _IOWR('s', 11, struct scifioctl_copy) 8705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SCIF_VREADFROM _IOWR('s', 12, struct scifioctl_copy) 8805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SCIF_VWRITETO _IOWR('s', 13, struct scifioctl_copy) 8905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SCIF_GET_NODEIDS _IOWR('s', 14, struct scifioctl_node_ids) 9005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SCIF_FENCE_MARK _IOWR('s', 15, struct scifioctl_fence_mark) 9105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SCIF_FENCE_WAIT _IOWR('s', 16, __s32) 9205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define SCIF_FENCE_SIGNAL _IOWR('s', 17, struct scifioctl_fence_signal) 9305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#endif 94