123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215 |
- #ifndef SCIF_IOCTL_H
- #define SCIF_IOCTL_H
- #include <linux/types.h>
- struct scif_port_id {
- __u16 node;
- __u16 port;
- };
- struct scifioctl_connect {
- struct scif_port_id self;
- struct scif_port_id peer;
- };
- struct scifioctl_accept {
- __s32 flags;
- struct scif_port_id peer;
- __u64 endpt;
- };
- struct scifioctl_msg {
- __u64 msg;
- __s32 len;
- __s32 flags;
- __s32 out_len;
- };
- struct scifioctl_reg {
- __u64 addr;
- __u64 len;
- __s64 offset;
- __s32 prot;
- __s32 flags;
- __s64 out_offset;
- };
- struct scifioctl_unreg {
- __s64 offset;
- __u64 len;
- };
- struct scifioctl_copy {
- __s64 loffset;
- __u64 len;
- __s64 roffset;
- __u64 addr;
- __s32 flags;
- };
- struct scifioctl_fence_mark {
- __s32 flags;
- __u64 mark;
- };
- struct scifioctl_fence_signal {
- __s64 loff;
- __u64 lval;
- __s64 roff;
- __u64 rval;
- __s32 flags;
- };
- struct scifioctl_node_ids {
- __u64 nodes;
- __u64 self;
- __s32 len;
- };
- #define SCIF_BIND _IOWR('s', 1, __u64)
- #define SCIF_LISTEN _IOW('s', 2, __s32)
- #define SCIF_CONNECT _IOWR('s', 3, struct scifioctl_connect)
- #define SCIF_ACCEPTREQ _IOWR('s', 4, struct scifioctl_accept)
- #define SCIF_ACCEPTREG _IOWR('s', 5, __u64)
- #define SCIF_SEND _IOWR('s', 6, struct scifioctl_msg)
- #define SCIF_RECV _IOWR('s', 7, struct scifioctl_msg)
- #define SCIF_REG _IOWR('s', 8, struct scifioctl_reg)
- #define SCIF_UNREG _IOWR('s', 9, struct scifioctl_unreg)
- #define SCIF_READFROM _IOWR('s', 10, struct scifioctl_copy)
- #define SCIF_WRITETO _IOWR('s', 11, struct scifioctl_copy)
- #define SCIF_VREADFROM _IOWR('s', 12, struct scifioctl_copy)
- #define SCIF_VWRITETO _IOWR('s', 13, struct scifioctl_copy)
- #define SCIF_GET_NODEIDS _IOWR('s', 14, struct scifioctl_node_ids)
- #define SCIF_FENCE_MARK _IOWR('s', 15, struct scifioctl_fence_mark)
- #define SCIF_FENCE_WAIT _IOWR('s', 16, __s32)
- #define SCIF_FENCE_SIGNAL _IOWR('s', 17, struct scifioctl_fence_signal)
- #endif
|