user.h revision 256819
1218885Sdim/* 2218885Sdim * Copyright (c) 2009-2013 Chelsio, Inc. All rights reserved. 3218885Sdim * 4218885Sdim * This software is available to you under a choice of one of two 5218885Sdim * licenses. You may choose to be licensed under the terms of the GNU 6218885Sdim * General Public License (GPL) Version 2, available from the file 7218885Sdim * COPYING in the main directory of this source tree, or the 8218885Sdim * OpenIB.org BSD license below: 9218885Sdim * 10218885Sdim * Redistribution and use in source and binary forms, with or 11218885Sdim * without modification, are permitted provided that the following 12218885Sdim * conditions are met: 13218885Sdim * 14218885Sdim * - Redistributions of source code must retain the above 15218885Sdim * copyright notice, this list of conditions and the following 16218885Sdim * disclaimer. 17218885Sdim * 18218885Sdim * - Redistributions in binary form must reproduce the above 19218885Sdim * copyright notice, this list of conditions and the following 20218885Sdim * disclaimer in the documentation and/or other materials 21218885Sdim * provided with the distribution. 22218885Sdim * 23218885Sdim * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 24218885Sdim * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 25218885Sdim * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 26218885Sdim * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS 27218885Sdim * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 28218885Sdim * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 29218885Sdim * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 30218885Sdim * SOFTWARE. 31218885Sdim * 32218885Sdim * $FreeBSD: stable/10/sys/dev/cxgbe/iw_cxgbe/user.h 256694 2013-10-17 18:37:25Z np $ 33218885Sdim */ 34218885Sdim#ifndef __C4IW_USER_H__ 35218885Sdim#define __C4IW_USER_H__ 36218885Sdim 37218885Sdim#define C4IW_UVERBS_ABI_VERSION 2 38218885Sdim 39218885Sdim/* 40218885Sdim * Make sure that all structs defined in this file remain laid out so 41218885Sdim * that they pack the same way on 32-bit and 64-bit architectures (to 42218885Sdim * avoid incompatibility between 32-bit userspace and 64-bit kernels). 43218885Sdim * In particular do not use pointer types -- pass pointers in __u64 44218885Sdim * instead. 45218885Sdim */ 46218885Sdimstruct c4iw_create_cq_resp { 47218885Sdim __u64 key; 48218885Sdim __u64 gts_key; 49218885Sdim __u64 memsize; 50218885Sdim __u32 cqid; 51218885Sdim __u32 size; 52218885Sdim __u32 qid_mask; 53218885Sdim}; 54218885Sdim 55218885Sdimstruct c4iw_create_qp_resp { 56218885Sdim __u64 ma_sync_key; 57218885Sdim __u64 sq_key; 58218885Sdim __u64 rq_key; 59218885Sdim __u64 sq_db_gts_key; 60218885Sdim __u64 rq_db_gts_key; 61218885Sdim __u64 sq_memsize; 62218885Sdim __u64 rq_memsize; 63218885Sdim __u32 sqid; 64218885Sdim __u32 rqid; 65218885Sdim __u32 sq_size; 66218885Sdim __u32 rq_size; 67218885Sdim __u32 qid_mask; 68218885Sdim __u32 flags; 69218885Sdim}; 70218885Sdim#endif 71218885Sdim