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 _RIO_CM_CDEV_H_ 7 #define _RIO_CM_CDEV_H_ 8 #include <linux/types.h> 9 struct rio_cm_channel { 10 __u16 id; 11 __u16 remote_channel; 12 __u16 remote_destid; 13 __u8 mport_id; 14 }; 15 struct rio_cm_msg { 16 __u16 ch_num; 17 __u16 size; 18 __u32 rxto; 19 __u64 msg; 20 }; 21 struct rio_cm_accept { 22 __u16 ch_num; 23 __u16 pad0; 24 __u32 wait_to; 25 }; 26 #define RIO_CM_IOC_MAGIC 'c' 27 #define RIO_CM_EP_GET_LIST_SIZE _IOWR(RIO_CM_IOC_MAGIC, 1, __u32) 28 #define RIO_CM_EP_GET_LIST _IOWR(RIO_CM_IOC_MAGIC, 2, __u32) 29 #define RIO_CM_CHAN_CREATE _IOWR(RIO_CM_IOC_MAGIC, 3, __u16) 30 #define RIO_CM_CHAN_CLOSE _IOW(RIO_CM_IOC_MAGIC, 4, __u16) 31 #define RIO_CM_CHAN_BIND _IOW(RIO_CM_IOC_MAGIC, 5, struct rio_cm_channel) 32 #define RIO_CM_CHAN_LISTEN _IOW(RIO_CM_IOC_MAGIC, 6, __u16) 33 #define RIO_CM_CHAN_ACCEPT _IOWR(RIO_CM_IOC_MAGIC, 7, struct rio_cm_accept) 34 #define RIO_CM_CHAN_CONNECT _IOW(RIO_CM_IOC_MAGIC, 8, struct rio_cm_channel) 35 #define RIO_CM_CHAN_SEND _IOW(RIO_CM_IOC_MAGIC, 9, struct rio_cm_msg) 36 #define RIO_CM_CHAN_RECEIVE _IOWR(RIO_CM_IOC_MAGIC, 10, struct rio_cm_msg) 37 #define RIO_CM_MPORT_GET_LIST _IOWR(RIO_CM_IOC_MAGIC, 11, __u32) 38 #endif 39