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