| /* | |
| * Copyright (c) 2017, Mellanox Technologies inc. All rights reserved. | |
| * | |
| * This software is available to you under a choice of one of two | |
| * licenses. You may choose to be licensed under the terms of the GNU | |
| * General Public License (GPL) Version 2, available from the file | |
| * COPYING in the main directory of this source tree, or the | |
| * OpenIB.org BSD license below: | |
| * | |
| * Redistribution and use in source and binary forms, with or | |
| * without modification, are permitted provided that the following | |
| * conditions are met: | |
| * | |
| * - Redistributions of source code must retain the above | |
| * copyright notice, this list of conditions and the following | |
| * disclaimer. | |
| * | |
| * - Redistributions in binary form must reproduce the above | |
| * copyright notice, this list of conditions and the following | |
| * disclaimer in the documentation and/or other materials | |
| * provided with the distribution. | |
| * | |
| * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | |
| * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | |
| * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | |
| * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | |
| * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | |
| * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | |
| * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | |
| * SOFTWARE. | |
| */ | |
| #ifndef VERBS_API_H | |
| #define VERBS_API_H | |
| #if UINTPTR_MAX == UINT32_MAX | |
| #if __BYTE_ORDER == __LITTLE_ENDIAN | |
| #define RDMA_UAPI_PTR(_type, _name) \ | |
| union { \ | |
| struct { \ | |
| _type _name; \ | |
| __u32 _name##_reserved; \ | |
| }; \ | |
| __aligned_u64 _name##_data_u64; \ | |
| } | |
| #else | |
| #define RDMA_UAPI_PTR(_type, _name) \ | |
| union { \ | |
| struct { \ | |
| __u32 _name##_reserved; \ | |
| _type _name; \ | |
| }; \ | |
| __aligned_u64 _name##_data_u64; \ | |
| } | |
| #endif | |
| #elif UINTPTR_MAX == UINT64_MAX | |
| #define RDMA_UAPI_PTR(_type, _name) \ | |
| union { \ | |
| _type _name; \ | |
| __aligned_u64 _name##_data_u64; \ | |
| } | |
| #else | |
| #error "Pointer size not supported" | |
| #endif | |
| #include <infiniband/ib_user_ioctl_verbs.h> | |
| #define ibv_flow_action_esp_keymat ib_uverbs_flow_action_esp_keymat | |
| #define IBV_FLOW_ACTION_ESP_KEYMAT_AES_GCM IB_UVERBS_FLOW_ACTION_ESP_KEYMAT_AES_GCM | |
| #define ibv_flow_action_esp_keymat_aes_gcm_iv_algo ib_uverbs_flow_action_esp_keymat_aes_gcm_iv_algo | |
| #define IBV_FLOW_ACTION_IV_ALGO_SEQ IB_UVERBS_FLOW_ACTION_IV_ALGO_SEQ | |
| #define ibv_flow_action_esp_keymat_aes_gcm ib_uverbs_flow_action_esp_keymat_aes_gcm | |
| #define ibv_flow_action_esp_replay ib_uverbs_flow_action_esp_replay | |
| #define IBV_FLOW_ACTION_ESP_REPLAY_NONE IB_UVERBS_FLOW_ACTION_ESP_REPLAY_NONE | |
| #define IBV_FLOW_ACTION_ESP_REPLAY_BMP IB_UVERBS_FLOW_ACTION_ESP_REPLAY_BMP | |
| #define ibv_flow_action_esp_replay_bmp ib_uverbs_flow_action_esp_replay_bmp | |
| #define ibv_flow_action_esp_flags ib_uverbs_flow_action_esp_flags | |
| #define IBV_FLOW_ACTION_ESP_FLAGS_INLINE_CRYPTO IB_UVERBS_FLOW_ACTION_ESP_FLAGS_INLINE_CRYPTO | |
| #define IBV_FLOW_ACTION_ESP_FLAGS_FULL_OFFLOAD IB_UVERBS_FLOW_ACTION_ESP_FLAGS_FULL_OFFLOAD | |
| #define IBV_FLOW_ACTION_ESP_FLAGS_TUNNEL IB_UVERBS_FLOW_ACTION_ESP_FLAGS_TUNNEL | |
| #define IBV_FLOW_ACTION_ESP_FLAGS_TRANSPORT IB_UVERBS_FLOW_ACTION_ESP_FLAGS_TRANSPORT | |
| #define IBV_FLOW_ACTION_ESP_FLAGS_DECRYPT IB_UVERBS_FLOW_ACTION_ESP_FLAGS_DECRYPT | |
| #define IBV_FLOW_ACTION_ESP_FLAGS_ENCRYPT IB_UVERBS_FLOW_ACTION_ESP_FLAGS_ENCRYPT | |
| #define IBV_FLOW_ACTION_ESP_FLAGS_ESN_NEW_WINDOW IB_UVERBS_FLOW_ACTION_ESP_FLAGS_ESN_NEW_WINDOW | |
| #define ibv_flow_action_esp_encap ib_uverbs_flow_action_esp_encap | |
| #define ibv_flow_action_esp ib_uverbs_flow_action_esp | |
| #define ibv_advise_mr_advice ib_uverbs_advise_mr_advice | |
| #define IBV_ADVISE_MR_ADVICE_PREFETCH IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH | |
| #define IBV_ADVISE_MR_ADVICE_PREFETCH_WRITE IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_WRITE | |
| #define IBV_ADVISE_MR_ADVICE_PREFETCH_NO_FAULT IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_NO_FAULT | |
| #define IBV_ADVISE_MR_FLAG_FLUSH IB_UVERBS_ADVISE_MR_FLAG_FLUSH | |
| #define IBV_QPF_GRH_REQUIRED IB_UVERBS_QPF_GRH_REQUIRED | |
| #define IBV_ACCESS_OPTIONAL_RANGE IB_UVERBS_ACCESS_OPTIONAL_RANGE | |
| #define IBV_ACCESS_OPTIONAL_FIRST IB_UVERBS_ACCESS_OPTIONAL_FIRST | |
| #endif | |