18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Shared Memory Communications over RDMA (SMC-R) and RoCE 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * Socket Closing 68c2ecf20Sopenharmony_ci * 78c2ecf20Sopenharmony_ci * Copyright IBM Corp. 2016 88c2ecf20Sopenharmony_ci * 98c2ecf20Sopenharmony_ci * Author(s): Ursula Braun <ubraun@linux.vnet.ibm.com> 108c2ecf20Sopenharmony_ci */ 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ci#ifndef SMC_CLOSE_H 138c2ecf20Sopenharmony_ci#define SMC_CLOSE_H 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci#include <linux/workqueue.h> 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ci#include "smc.h" 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ci#define SMC_MAX_STREAM_WAIT_TIMEOUT (2 * HZ) 208c2ecf20Sopenharmony_ci#define SMC_CLOSE_SOCK_PUT_DELAY HZ 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_civoid smc_close_wake_tx_prepared(struct smc_sock *smc); 238c2ecf20Sopenharmony_ciint smc_close_active(struct smc_sock *smc); 248c2ecf20Sopenharmony_ciint smc_close_shutdown_write(struct smc_sock *smc); 258c2ecf20Sopenharmony_civoid smc_close_init(struct smc_sock *smc); 268c2ecf20Sopenharmony_civoid smc_clcsock_release(struct smc_sock *smc); 278c2ecf20Sopenharmony_ciint smc_close_abort(struct smc_connection *conn); 288c2ecf20Sopenharmony_civoid smc_close_active_abort(struct smc_sock *smc); 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ci#endif /* SMC_CLOSE_H */ 31