%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
/* * Copyright (c) 2015 Mellanox Technologies. All rights reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, * version 2, as published by the Free Software Foundation. * * This program is distributed in the hope it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. */ #ifndef _LINUX_NVME_RDMA_H #define _LINUX_NVME_RDMA_H enum nvme_rdma_cm_fmt { NVME_RDMA_CM_FMT_1_0 = 0x0, }; enum nvme_rdma_cm_status { NVME_RDMA_CM_INVALID_LEN = 0x01, NVME_RDMA_CM_INVALID_RECFMT = 0x02, NVME_RDMA_CM_INVALID_QID = 0x03, NVME_RDMA_CM_INVALID_HSQSIZE = 0x04, NVME_RDMA_CM_INVALID_HRQSIZE = 0x05, NVME_RDMA_CM_NO_RSC = 0x06, NVME_RDMA_CM_INVALID_IRD = 0x07, NVME_RDMA_CM_INVALID_ORD = 0x08, }; static inline const char *nvme_rdma_cm_msg(enum nvme_rdma_cm_status status) { switch (status) { case NVME_RDMA_CM_INVALID_LEN: return "invalid length"; case NVME_RDMA_CM_INVALID_RECFMT: return "invalid record format"; case NVME_RDMA_CM_INVALID_QID: return "invalid queue ID"; case NVME_RDMA_CM_INVALID_HSQSIZE: return "invalid host SQ size"; case NVME_RDMA_CM_INVALID_HRQSIZE: return "invalid host RQ size"; case NVME_RDMA_CM_NO_RSC: return "resource not found"; case NVME_RDMA_CM_INVALID_IRD: return "invalid IRD"; case NVME_RDMA_CM_INVALID_ORD: return "Invalid ORD"; default: return "unrecognized reason"; } } /** * struct nvme_rdma_cm_req - rdma connect request * * @recfmt: format of the RDMA Private Data * @qid: queue Identifier for the Admin or I/O Queue * @hrqsize: host receive queue size to be created * @hsqsize: host send queue size to be created */ struct nvme_rdma_cm_req { __le16 recfmt; __le16 qid; __le16 hrqsize; __le16 hsqsize; u8 rsvd[24]; }; /** * struct nvme_rdma_cm_rep - rdma connect reply * * @recfmt: format of the RDMA Private Data * @crqsize: controller receive queue size */ struct nvme_rdma_cm_rep { __le16 recfmt; __le16 crqsize; u8 rsvd[28]; }; /** * struct nvme_rdma_cm_rej - rdma connect reject * * @recfmt: format of the RDMA Private Data * @fsts: error status for the associated connect request */ struct nvme_rdma_cm_rej { __le16 recfmt; __le16 sts; }; #endif /* _LINUX_NVME_RDMA_H */