1b38d7324SUrsula Braun /* 2b38d7324SUrsula Braun * Shared Memory Communications over RDMA (SMC-R) and RoCE 3b38d7324SUrsula Braun * 4b38d7324SUrsula Braun * Socket Closing 5b38d7324SUrsula Braun * 6b38d7324SUrsula Braun * Copyright IBM Corp. 2016 7b38d7324SUrsula Braun * 8b38d7324SUrsula Braun * Author(s): Ursula Braun <ubraun@linux.vnet.ibm.com> 9b38d7324SUrsula Braun */ 10b38d7324SUrsula Braun 11b38d7324SUrsula Braun #ifndef SMC_CLOSE_H 12b38d7324SUrsula Braun #define SMC_CLOSE_H 13b38d7324SUrsula Braun 14b38d7324SUrsula Braun #include <linux/workqueue.h> 15b38d7324SUrsula Braun 16b38d7324SUrsula Braun #include "smc.h" 17b38d7324SUrsula Braun 18b38d7324SUrsula Braun #define SMC_MAX_STREAM_WAIT_TIMEOUT (2 * HZ) 19b38d7324SUrsula Braun #define SMC_CLOSE_SOCK_PUT_DELAY HZ 20b38d7324SUrsula Braun 21b38d7324SUrsula Braun void smc_close_wake_tx_prepared(struct smc_sock *smc); 22b38d7324SUrsula Braun void smc_close_active_abort(struct smc_sock *smc); 23b38d7324SUrsula Braun int smc_close_active(struct smc_sock *smc); 24b38d7324SUrsula Braun void smc_close_sock_put_work(struct work_struct *work); 25b38d7324SUrsula Braun int smc_close_shutdown_write(struct smc_sock *smc); 2646c28dbdSUrsula Braun void smc_close_init(struct smc_sock *smc); 27b38d7324SUrsula Braun 28b38d7324SUrsula Braun #endif /* SMC_CLOSE_H */ 29