blob: 634fea2b7c95b1bbbae77653c4b0373fa9428413 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
Ursula Braunb38d7322017-01-09 16:55:25 +01002/*
3 * Shared Memory Communications over RDMA (SMC-R) and RoCE
4 *
5 * Socket Closing
6 *
7 * Copyright IBM Corp. 2016
8 *
9 * Author(s): Ursula Braun <ubraun@linux.vnet.ibm.com>
10 */
11
12#ifndef SMC_CLOSE_H
13#define SMC_CLOSE_H
14
15#include <linux/workqueue.h>
16
17#include "smc.h"
18
19#define SMC_MAX_STREAM_WAIT_TIMEOUT (2 * HZ)
20#define SMC_CLOSE_SOCK_PUT_DELAY HZ
21
22void smc_close_wake_tx_prepared(struct smc_sock *smc);
Ursula Braunb38d7322017-01-09 16:55:25 +010023int smc_close_active(struct smc_sock *smc);
Ursula Braunb38d7322017-01-09 16:55:25 +010024int smc_close_shutdown_write(struct smc_sock *smc);
Ursula Braun46c28db2017-04-10 14:58:01 +020025void smc_close_init(struct smc_sock *smc);
Karsten Graulfd577702019-04-11 11:17:30 +020026void smc_clcsock_release(struct smc_sock *smc);
Ursula Braun83179762019-10-21 16:13:12 +020027int smc_close_abort(struct smc_connection *conn);
Ursula Braun81cf4f42019-10-21 16:13:15 +020028void smc_close_active_abort(struct smc_sock *smc);
Ursula Braunb38d7322017-01-09 16:55:25 +010029
30#endif /* SMC_CLOSE_H */