1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 2b38d7324SUrsula Braun /* 3b38d7324SUrsula Braun * Shared Memory Communications over RDMA (SMC-R) and RoCE 4b38d7324SUrsula Braun * 5b38d7324SUrsula Braun * Socket Closing 6b38d7324SUrsula Braun * 7b38d7324SUrsula Braun * Copyright IBM Corp. 2016 8b38d7324SUrsula Braun * 9b38d7324SUrsula Braun * Author(s): Ursula Braun <ubraun@linux.vnet.ibm.com> 10b38d7324SUrsula Braun */ 11b38d7324SUrsula Braun 12b38d7324SUrsula Braun #ifndef SMC_CLOSE_H 13b38d7324SUrsula Braun #define SMC_CLOSE_H 14b38d7324SUrsula Braun 15b38d7324SUrsula Braun #include <linux/workqueue.h> 16b38d7324SUrsula Braun 17b38d7324SUrsula Braun #include "smc.h" 18b38d7324SUrsula Braun 19b38d7324SUrsula Braun #define SMC_MAX_STREAM_WAIT_TIMEOUT (2 * HZ) 20b38d7324SUrsula Braun #define SMC_CLOSE_SOCK_PUT_DELAY HZ 21b38d7324SUrsula Braun 22b38d7324SUrsula Braun void smc_close_wake_tx_prepared(struct smc_sock *smc); 23b38d7324SUrsula Braun int smc_close_active(struct smc_sock *smc); 24b38d7324SUrsula Braun int smc_close_shutdown_write(struct smc_sock *smc); 2546c28dbdSUrsula Braun void smc_close_init(struct smc_sock *smc); 26fd57770dSKarsten Graul void smc_clcsock_release(struct smc_sock *smc); 2783179760SUrsula Braun int smc_close_abort(struct smc_connection *conn); 28*81cf4f47SUrsula Braun void smc_close_active_abort(struct smc_sock *smc); 29b38d7324SUrsula Braun 30b38d7324SUrsula Braun #endif /* SMC_CLOSE_H */ 31