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 IB_USER_IOCTL_CMDS_H 7 #define IB_USER_IOCTL_CMDS_H 8 #define UVERBS_ID_NS_MASK 0xF000 9 #define UVERBS_ID_NS_SHIFT 12 10 #define UVERBS_UDATA_DRIVER_DATA_NS 1 11 #define UVERBS_UDATA_DRIVER_DATA_FLAG (1UL << UVERBS_ID_NS_SHIFT) 12 enum uverbs_default_objects { 13 UVERBS_OBJECT_DEVICE, 14 UVERBS_OBJECT_PD, 15 UVERBS_OBJECT_COMP_CHANNEL, 16 UVERBS_OBJECT_CQ, 17 UVERBS_OBJECT_QP, 18 UVERBS_OBJECT_SRQ, 19 UVERBS_OBJECT_AH, 20 UVERBS_OBJECT_MR, 21 UVERBS_OBJECT_MW, 22 UVERBS_OBJECT_FLOW, 23 UVERBS_OBJECT_XRCD, 24 UVERBS_OBJECT_RWQ_IND_TBL, 25 UVERBS_OBJECT_WQ, 26 UVERBS_OBJECT_FLOW_ACTION, 27 UVERBS_OBJECT_DM, 28 UVERBS_OBJECT_COUNTERS, 29 }; 30 enum { 31 UVERBS_ATTR_UHW_IN = UVERBS_UDATA_DRIVER_DATA_FLAG, 32 UVERBS_ATTR_UHW_OUT, 33 }; 34 enum uverbs_attrs_create_cq_cmd_attr_ids { 35 UVERBS_ATTR_CREATE_CQ_HANDLE, 36 UVERBS_ATTR_CREATE_CQ_CQE, 37 UVERBS_ATTR_CREATE_CQ_USER_HANDLE, 38 UVERBS_ATTR_CREATE_CQ_COMP_CHANNEL, 39 UVERBS_ATTR_CREATE_CQ_COMP_VECTOR, 40 UVERBS_ATTR_CREATE_CQ_FLAGS, 41 UVERBS_ATTR_CREATE_CQ_RESP_CQE, 42 }; 43 enum uverbs_attrs_destroy_cq_cmd_attr_ids { 44 UVERBS_ATTR_DESTROY_CQ_HANDLE, 45 UVERBS_ATTR_DESTROY_CQ_RESP, 46 }; 47 enum uverbs_attrs_create_flow_action_esp { 48 UVERBS_ATTR_CREATE_FLOW_ACTION_ESP_HANDLE, 49 UVERBS_ATTR_FLOW_ACTION_ESP_ATTRS, 50 UVERBS_ATTR_FLOW_ACTION_ESP_ESN, 51 UVERBS_ATTR_FLOW_ACTION_ESP_KEYMAT, 52 UVERBS_ATTR_FLOW_ACTION_ESP_REPLAY, 53 UVERBS_ATTR_FLOW_ACTION_ESP_ENCAP, 54 }; 55 enum uverbs_attrs_modify_flow_action_esp { 56 UVERBS_ATTR_MODIFY_FLOW_ACTION_ESP_HANDLE = 57 UVERBS_ATTR_CREATE_FLOW_ACTION_ESP_HANDLE, 58 }; 59 enum uverbs_attrs_destroy_flow_action_esp { 60 UVERBS_ATTR_DESTROY_FLOW_ACTION_HANDLE, 61 }; 62 enum uverbs_methods_cq { 63 UVERBS_METHOD_CQ_CREATE, 64 UVERBS_METHOD_CQ_DESTROY, 65 }; 66 enum uverbs_methods_actions_flow_action_ops { 67 UVERBS_METHOD_FLOW_ACTION_ESP_CREATE, 68 UVERBS_METHOD_FLOW_ACTION_DESTROY, 69 UVERBS_METHOD_FLOW_ACTION_ESP_MODIFY, 70 }; 71 enum uverbs_attrs_alloc_dm_cmd_attr_ids { 72 UVERBS_ATTR_ALLOC_DM_HANDLE, 73 UVERBS_ATTR_ALLOC_DM_LENGTH, 74 UVERBS_ATTR_ALLOC_DM_ALIGNMENT, 75 }; 76 enum uverbs_attrs_free_dm_cmd_attr_ids { 77 UVERBS_ATTR_FREE_DM_HANDLE, 78 }; 79 enum uverbs_methods_dm { 80 UVERBS_METHOD_DM_ALLOC, 81 UVERBS_METHOD_DM_FREE, 82 }; 83 enum uverbs_attrs_reg_dm_mr_cmd_attr_ids { 84 UVERBS_ATTR_REG_DM_MR_HANDLE, 85 UVERBS_ATTR_REG_DM_MR_OFFSET, 86 UVERBS_ATTR_REG_DM_MR_LENGTH, 87 UVERBS_ATTR_REG_DM_MR_PD_HANDLE, 88 UVERBS_ATTR_REG_DM_MR_ACCESS_FLAGS, 89 UVERBS_ATTR_REG_DM_MR_DM_HANDLE, 90 UVERBS_ATTR_REG_DM_MR_RESP_LKEY, 91 UVERBS_ATTR_REG_DM_MR_RESP_RKEY, 92 }; 93 enum uverbs_methods_mr { 94 UVERBS_METHOD_DM_MR_REG, 95 }; 96 enum uverbs_attrs_create_counters_cmd_attr_ids { 97 UVERBS_ATTR_CREATE_COUNTERS_HANDLE, 98 }; 99 enum uverbs_attrs_destroy_counters_cmd_attr_ids { 100 UVERBS_ATTR_DESTROY_COUNTERS_HANDLE, 101 }; 102 enum uverbs_attrs_read_counters_cmd_attr_ids { 103 UVERBS_ATTR_READ_COUNTERS_HANDLE, 104 UVERBS_ATTR_READ_COUNTERS_BUFF, 105 UVERBS_ATTR_READ_COUNTERS_FLAGS, 106 }; 107 enum uverbs_methods_actions_counters_ops { 108 UVERBS_METHOD_COUNTERS_CREATE, 109 UVERBS_METHOD_COUNTERS_DESTROY, 110 UVERBS_METHOD_COUNTERS_READ, 111 }; 112 #endif 113