The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/ofed/include/uapi/rdma/ib_user_ioctl_cmds.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*
    2  * Copyright (c) 2018, Mellanox Technologies inc.  All rights reserved.
    3  *
    4  * This software is available to you under a choice of one of two
    5  * licenses.  You may choose to be licensed under the terms of the GNU
    6  * General Public License (GPL) Version 2, available from the file
    7  * COPYING in the main directory of this source tree, or the
    8  * OpenIB.org BSD license below:
    9  *
   10  *     Redistribution and use in source and binary forms, with or
   11  *     without modification, are permitted provided that the following
   12  *     conditions are met:
   13  *
   14  *      - Redistributions of source code must retain the above
   15  *        copyright notice, this list of conditions and the following
   16  *        disclaimer.
   17  *
   18  *      - Redistributions in binary form must reproduce the above
   19  *        copyright notice, this list of conditions and the following
   20  *        disclaimer in the documentation and/or other materials
   21  *        provided with the distribution.
   22  *
   23  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
   24  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
   25  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
   26  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
   27  * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
   28  * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
   29  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
   30  * SOFTWARE.
   31  */
   32 
   33 #ifndef IB_USER_IOCTL_CMDS_H
   34 #define IB_USER_IOCTL_CMDS_H
   35 
   36 #define UVERBS_ID_NS_MASK 0xF000
   37 #define UVERBS_ID_NS_SHIFT 12
   38 
   39 #define UVERBS_UDATA_DRIVER_DATA_NS     1
   40 #define UVERBS_UDATA_DRIVER_DATA_FLAG   (1UL << UVERBS_ID_NS_SHIFT)
   41 
   42 enum uverbs_default_objects {
   43         UVERBS_OBJECT_DEVICE, /* No instances of DEVICE are allowed */
   44         UVERBS_OBJECT_PD,
   45         UVERBS_OBJECT_COMP_CHANNEL,
   46         UVERBS_OBJECT_CQ,
   47         UVERBS_OBJECT_QP,
   48         UVERBS_OBJECT_SRQ,
   49         UVERBS_OBJECT_AH,
   50         UVERBS_OBJECT_MR,
   51         UVERBS_OBJECT_MW,
   52         UVERBS_OBJECT_FLOW,
   53         UVERBS_OBJECT_XRCD,
   54         UVERBS_OBJECT_RWQ_IND_TBL,
   55         UVERBS_OBJECT_WQ,
   56         UVERBS_OBJECT_FLOW_ACTION,
   57         UVERBS_OBJECT_DM,
   58         UVERBS_OBJECT_COUNTERS,
   59         UVERBS_OBJECT_ASYNC_EVENT,
   60 };
   61 
   62 enum {
   63         UVERBS_ATTR_UHW_IN = UVERBS_UDATA_DRIVER_DATA_FLAG,
   64         UVERBS_ATTR_UHW_OUT,
   65 };
   66 
   67 enum uverbs_methods_device {
   68         UVERBS_METHOD_INVOKE_WRITE,
   69         UVERBS_METHOD_INFO_HANDLES,
   70         UVERBS_METHOD_QUERY_PORT,
   71         UVERBS_METHOD_GET_CONTEXT,
   72 };
   73 
   74 enum uverbs_attrs_invoke_write_cmd_attr_ids {
   75         UVERBS_ATTR_CORE_IN,
   76         UVERBS_ATTR_CORE_OUT,
   77         UVERBS_ATTR_WRITE_CMD,
   78 };
   79 
   80 enum uverbs_attrs_query_port_cmd_attr_ids {
   81         UVERBS_ATTR_QUERY_PORT_PORT_NUM,
   82         UVERBS_ATTR_QUERY_PORT_RESP,
   83 };
   84 
   85 enum uverbs_attrs_get_context_attr_ids {
   86         UVERBS_ATTR_GET_CONTEXT_NUM_COMP_VECTORS,
   87         UVERBS_ATTR_GET_CONTEXT_CORE_SUPPORT,
   88 };
   89 
   90 enum uverbs_attrs_create_cq_cmd_attr_ids {
   91         UVERBS_ATTR_CREATE_CQ_HANDLE,
   92         UVERBS_ATTR_CREATE_CQ_CQE,
   93         UVERBS_ATTR_CREATE_CQ_USER_HANDLE,
   94         UVERBS_ATTR_CREATE_CQ_COMP_CHANNEL,
   95         UVERBS_ATTR_CREATE_CQ_COMP_VECTOR,
   96         UVERBS_ATTR_CREATE_CQ_FLAGS,
   97         UVERBS_ATTR_CREATE_CQ_RESP_CQE,
   98 };
   99 
  100 enum uverbs_attrs_destroy_cq_cmd_attr_ids {
  101         UVERBS_ATTR_DESTROY_CQ_HANDLE,
  102         UVERBS_ATTR_DESTROY_CQ_RESP,
  103 };
  104 
  105 enum uverbs_attrs_create_flow_action_esp {
  106         UVERBS_ATTR_CREATE_FLOW_ACTION_ESP_HANDLE,
  107         UVERBS_ATTR_FLOW_ACTION_ESP_ATTRS,
  108         UVERBS_ATTR_FLOW_ACTION_ESP_ESN,
  109         UVERBS_ATTR_FLOW_ACTION_ESP_KEYMAT,
  110         UVERBS_ATTR_FLOW_ACTION_ESP_REPLAY,
  111         UVERBS_ATTR_FLOW_ACTION_ESP_ENCAP,
  112 };
  113 
  114 enum uverbs_attrs_modify_flow_action_esp {
  115         UVERBS_ATTR_MODIFY_FLOW_ACTION_ESP_HANDLE =
  116                 UVERBS_ATTR_CREATE_FLOW_ACTION_ESP_HANDLE,
  117 };
  118 
  119 enum uverbs_attrs_destroy_flow_action_esp {
  120         UVERBS_ATTR_DESTROY_FLOW_ACTION_HANDLE,
  121 };
  122 
  123 enum uverbs_methods_cq {
  124         UVERBS_METHOD_CQ_CREATE,
  125         UVERBS_METHOD_CQ_DESTROY,
  126 };
  127 
  128 enum uverbs_methods_actions_flow_action_ops {
  129         UVERBS_METHOD_FLOW_ACTION_ESP_CREATE,
  130         UVERBS_METHOD_FLOW_ACTION_DESTROY,
  131         UVERBS_METHOD_FLOW_ACTION_ESP_MODIFY,
  132 };
  133 
  134 enum uverbs_attrs_alloc_dm_cmd_attr_ids {
  135         UVERBS_ATTR_ALLOC_DM_HANDLE,
  136         UVERBS_ATTR_ALLOC_DM_LENGTH,
  137         UVERBS_ATTR_ALLOC_DM_ALIGNMENT,
  138 };
  139 
  140 enum uverbs_attrs_free_dm_cmd_attr_ids {
  141         UVERBS_ATTR_FREE_DM_HANDLE,
  142 };
  143 
  144 enum uverbs_methods_dm {
  145         UVERBS_METHOD_DM_ALLOC,
  146         UVERBS_METHOD_DM_FREE,
  147 };
  148 
  149 enum uverbs_attrs_reg_dm_mr_cmd_attr_ids {
  150         UVERBS_ATTR_REG_DM_MR_HANDLE,
  151         UVERBS_ATTR_REG_DM_MR_OFFSET,
  152         UVERBS_ATTR_REG_DM_MR_LENGTH,
  153         UVERBS_ATTR_REG_DM_MR_PD_HANDLE,
  154         UVERBS_ATTR_REG_DM_MR_ACCESS_FLAGS,
  155         UVERBS_ATTR_REG_DM_MR_DM_HANDLE,
  156         UVERBS_ATTR_REG_DM_MR_RESP_LKEY,
  157         UVERBS_ATTR_REG_DM_MR_RESP_RKEY,
  158 };
  159 
  160 enum uverbs_methods_mr {
  161         UVERBS_METHOD_DM_MR_REG,
  162         UVERBS_METHOD_MR_DESTROY,
  163         UVERBS_METHOD_ADVISE_MR,
  164 };
  165 
  166 enum uverbs_attrs_mr_destroy_ids {
  167         UVERBS_ATTR_DESTROY_MR_HANDLE,
  168 };
  169 
  170 enum uverbs_attrs_advise_mr_cmd_attr_ids {
  171         UVERBS_ATTR_ADVISE_MR_PD_HANDLE,
  172         UVERBS_ATTR_ADVISE_MR_ADVICE,
  173         UVERBS_ATTR_ADVISE_MR_FLAGS,
  174         UVERBS_ATTR_ADVISE_MR_SGE_LIST,
  175 };
  176 
  177 enum uverbs_attrs_create_counters_cmd_attr_ids {
  178         UVERBS_ATTR_CREATE_COUNTERS_HANDLE,
  179 };
  180 
  181 enum uverbs_attrs_destroy_counters_cmd_attr_ids {
  182         UVERBS_ATTR_DESTROY_COUNTERS_HANDLE,
  183 };
  184 
  185 enum uverbs_attrs_read_counters_cmd_attr_ids {
  186         UVERBS_ATTR_READ_COUNTERS_HANDLE,
  187         UVERBS_ATTR_READ_COUNTERS_BUFF,
  188         UVERBS_ATTR_READ_COUNTERS_FLAGS,
  189 };
  190 
  191 enum uverbs_methods_actions_counters_ops {
  192         UVERBS_METHOD_COUNTERS_CREATE,
  193         UVERBS_METHOD_COUNTERS_DESTROY,
  194         UVERBS_METHOD_COUNTERS_READ,
  195 };
  196 
  197 enum uverbs_attrs_info_handles_id {
  198         UVERBS_ATTR_INFO_OBJECT_ID,
  199         UVERBS_ATTR_INFO_TOTAL_HANDLES,
  200         UVERBS_ATTR_INFO_HANDLES_LIST,
  201 };
  202 
  203 enum uverbs_methods_pd {
  204         UVERBS_METHOD_PD_DESTROY,
  205 };
  206 
  207 enum uverbs_attrs_pd_destroy_ids {
  208         UVERBS_ATTR_DESTROY_PD_HANDLE,
  209 };
  210 
  211 enum uverbs_methods_mw {
  212         UVERBS_METHOD_MW_DESTROY,
  213 };
  214 
  215 enum uverbs_attrs_mw_destroy_ids {
  216         UVERBS_ATTR_DESTROY_MW_HANDLE,
  217 };
  218 
  219 enum uverbs_methods_xrcd {
  220         UVERBS_METHOD_XRCD_DESTROY,
  221 };
  222 
  223 enum uverbs_attrs_xrcd_destroy_ids {
  224         UVERBS_ATTR_DESTROY_XRCD_HANDLE,
  225 };
  226 
  227 enum uverbs_methods_ah {
  228         UVERBS_METHOD_AH_DESTROY,
  229 };
  230 
  231 enum uverbs_attrs_ah_destroy_ids {
  232         UVERBS_ATTR_DESTROY_AH_HANDLE,
  233 };
  234 
  235 enum uverbs_methods_rwq_ind_tbl {
  236         UVERBS_METHOD_RWQ_IND_TBL_DESTROY,
  237 };
  238 
  239 enum uverbs_attrs_rwq_ind_tbl_destroy_ids {
  240         UVERBS_ATTR_DESTROY_RWQ_IND_TBL_HANDLE,
  241 };
  242 
  243 enum uverbs_methods_flow {
  244         UVERBS_METHOD_FLOW_DESTROY,
  245 };
  246 
  247 enum uverbs_attrs_flow_destroy_ids {
  248         UVERBS_ATTR_DESTROY_FLOW_HANDLE,
  249 };
  250 
  251 enum uverbs_method_async_event {
  252         UVERBS_METHOD_ASYNC_EVENT_ALLOC,
  253 };
  254 
  255 enum uverbs_attrs_async_event_create {
  256         UVERBS_ATTR_ASYNC_EVENT_ALLOC_FD_HANDLE,
  257 };
  258 
  259 #endif

Cache object: 4acc5e4c0ed06576e0d0bdaa2d939b5e


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.