/*1* Copyright (c) 2005 Network Appliance, Inc. All rights reserved.2* Copyright (c) 2005 Open Grid Computing, Inc. All rights reserved.3*4* This software is available to you under a choice of one of two5* licenses. You may choose to be licensed under the terms of the GNU6* General Public License (GPL) Version 2, available from the file7* COPYING in the main directory of this source tree, or the8* OpenIB.org BSD license below:9*10* Redistribution and use in source and binary forms, with or11* without modification, are permitted provided that the following12* conditions are met:13*14* - Redistributions of source code must retain the above15* copyright notice, this list of conditions and the following16* disclaimer.17*18* - Redistributions in binary form must reproduce the above19* copyright notice, this list of conditions and the following20* disclaimer in the documentation and/or other materials21* 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 OF25* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND26* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS27* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN28* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN29* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE30* SOFTWARE.31*/32#ifndef IWCM_H33#define IWCM_H3435enum iw_cm_state {36IW_CM_STATE_IDLE, /* unbound, inactive */37IW_CM_STATE_LISTEN, /* listen waiting for connect */38IW_CM_STATE_CONN_RECV, /* inbound waiting for user accept */39IW_CM_STATE_CONN_SENT, /* outbound waiting for peer accept */40IW_CM_STATE_ESTABLISHED, /* established */41IW_CM_STATE_CLOSING, /* disconnect */42IW_CM_STATE_DESTROYING /* object being deleted */43};4445struct iwcm_id_private {46struct iw_cm_id id;47enum iw_cm_state state;48unsigned long flags;49struct ib_qp *qp;50struct completion destroy_comp;51wait_queue_head_t connect_wait;52struct list_head work_list;53spinlock_t lock;54atomic_t refcount;55struct list_head work_free_list;56};5758#define IWCM_F_CALLBACK_DESTROY 159#define IWCM_F_CONNECT_WAIT 26061#endif /* IWCM_H */626364