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 IB_USER_MAD_H 20#define IB_USER_MAD_H 21#include <linux/types.h> 22#include <linux/ioctl.h> 23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 24#define IB_USER_MAD_ABI_VERSION 5 25struct ib_user_mad_hdr_old { 26 __u32 id; 27 __u32 status; 28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 29 __u32 timeout_ms; 30 __u32 retries; 31 __u32 length; 32 __be32 qpn; 33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 34 __be32 qkey; 35 __be16 lid; 36 __u8 sl; 37 __u8 path_bits; 38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 39 __u8 grh_present; 40 __u8 gid_index; 41 __u8 hop_limit; 42 __u8 traffic_class; 43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 44 __u8 gid[16]; 45 __be32 flow_label; 46}; 47struct ib_user_mad_hdr { 48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 49 __u32 id; 50 __u32 status; 51 __u32 timeout_ms; 52 __u32 retries; 53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 54 __u32 length; 55 __be32 qpn; 56 __be32 qkey; 57 __be16 lid; 58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 59 __u8 sl; 60 __u8 path_bits; 61 __u8 grh_present; 62 __u8 gid_index; 63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 64 __u8 hop_limit; 65 __u8 traffic_class; 66 __u8 gid[16]; 67 __be32 flow_label; 68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 69 __u16 pkey_index; 70 __u8 reserved[6]; 71}; 72struct ib_user_mad { 73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 74 struct ib_user_mad_hdr hdr; 75 __u64 data[0]; 76}; 77typedef unsigned long __attribute__((aligned(4))) packed_ulong; 78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 79#define IB_USER_MAD_LONGS_PER_METHOD_MASK (128 / (8 * sizeof (long))) 80struct ib_user_mad_reg_req { 81 __u32 id; 82 packed_ulong method_mask[IB_USER_MAD_LONGS_PER_METHOD_MASK]; 83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 84 __u8 qpn; 85 __u8 mgmt_class; 86 __u8 mgmt_class_version; 87 __u8 oui[3]; 88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 89 __u8 rmpp_version; 90}; 91#define IB_IOCTL_MAGIC 0x1b 92#define IB_USER_MAD_REGISTER_AGENT _IOWR(IB_IOCTL_MAGIC, 1, struct ib_user_mad_reg_req) 93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 94#define IB_USER_MAD_UNREGISTER_AGENT _IOW(IB_IOCTL_MAGIC, 2, __u32) 95#define IB_USER_MAD_ENABLE_PKEY _IO(IB_IOCTL_MAGIC, 3) 96#endif 97