#include <linux/workqueue.h>
#include <linux/sched/signal.h>
#include <net/sock.h>
#include <net/tcp.h>
#include "smc.h"
#include "smc_tx.h"
#include "smc_cdc.h"
#include "smc_close.h"
void smc_clcsock_release(struct smc_sock *smc)
{ … }
static void smc_close_cleanup_listen(struct sock *parent)
{ … }
static void smc_close_stream_wait(struct smc_sock *smc, long timeout)
{ … }
void smc_close_wake_tx_prepared(struct smc_sock *smc)
{ … }
static int smc_close_wr(struct smc_connection *conn)
{ … }
static int smc_close_final(struct smc_connection *conn)
{ … }
int smc_close_abort(struct smc_connection *conn)
{ … }
static void smc_close_cancel_work(struct smc_sock *smc)
{ … }
void smc_close_active_abort(struct smc_sock *smc)
{ … }
static inline bool smc_close_sent_any_close(struct smc_connection *conn)
{ … }
int smc_close_active(struct smc_sock *smc)
{ … }
static void smc_close_passive_abort_received(struct smc_sock *smc)
{ … }
static void smc_close_passive_work(struct work_struct *work)
{ … }
int smc_close_shutdown_write(struct smc_sock *smc)
{ … }
void smc_close_init(struct smc_sock *smc)
{ … }