• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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