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