linux/drivers/scsi/elx/efct/efct_xport.h

/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Copyright (C) 2021 Broadcom. All Rights Reserved. The term
 * “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.
 */

#if !defined(__EFCT_XPORT_H__)
#define __EFCT_XPORT_H__

enum efct_xport_ctrl {};

enum efct_xport_status {};

struct efct_xport_link_stats {};

struct efct_xport_host_stats {};

struct efct_xport_host_statistics {};

efct_xport_stats_u;

struct efct_xport_fcp_stats {};

struct efct_xport {};

struct efct_rport_data {};

struct efct_xport *
efct_xport_alloc(struct efct *efct);
int
efct_xport_attach(struct efct_xport *xport);
int
efct_xport_initialize(struct efct_xport *xport);
void
efct_xport_detach(struct efct_xport *xport);
int
efct_xport_control(struct efct_xport *xport, enum efct_xport_ctrl cmd, ...);
int
efct_xport_status(struct efct_xport *xport, enum efct_xport_status cmd,
		  union efct_xport_stats_u *result);
void
efct_xport_free(struct efct_xport *xport);

struct scsi_transport_template *efct_attach_fc_transport(void);
struct scsi_transport_template *efct_attach_vport_fc_transport(void);
void
efct_release_fc_transport(struct scsi_transport_template *transport_template);

#endif /* __EFCT_XPORT_H__ */