linux/drivers/scsi/qla2xxx/qla_edif_bsg.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Marvell Fibre Channel HBA Driver
 * Copyright (C)  2018-	    Marvell
 *
 */
#ifndef __QLA_EDIF_BSG_H
#define __QLA_EDIF_BSG_H

#define EDIF_VERSION1

/* BSG Vendor specific commands */
#define ELS_MAX_PAYLOAD
#ifndef	WWN_SIZE
#define WWN_SIZE
#endif
#define VND_CMD_APP_RESERVED_SIZE
#define VND_CMD_PAD_SIZE
enum auth_els_sub_cmd {};

struct extra_auth_els {} __packed;

struct qla_bsg_auth_els_request {};

struct qla_bsg_auth_els_reply {};

struct app_id {} __packed;

struct app_start_reply {} __packed;

struct app_start {} __packed;

struct app_stop {} __packed;

struct app_plogi_reply {} __packed;

struct app_pinfo_req {} __packed;

struct app_pinfo {} __packed;

/* AUTH States */
#define VND_CMD_AUTH_STATE_UNDEF
#define VND_CMD_AUTH_STATE_SESSION_SHUTDOWN
#define VND_CMD_AUTH_STATE_NEEDED
#define VND_CMD_AUTH_STATE_ELS_RCVD
#define VND_CMD_AUTH_STATE_SAUPDATE_COMPL

struct app_pinfo_reply {} __packed;

struct app_sinfo_req {} __packed;

struct app_sinfo {} __packed;

struct app_stats_reply {} __packed;

struct qla_sa_update_frame {} __packed;

#define QL_VND_SC_UNDEF
#define QL_VND_SC_SA_UPDATE
#define QL_VND_SC_APP_START
#define QL_VND_SC_APP_STOP
#define QL_VND_SC_AUTH_OK
#define QL_VND_SC_AUTH_FAIL
#define QL_VND_SC_REKEY_CONFIG
#define QL_VND_SC_GET_FCINFO
#define QL_VND_SC_GET_STATS
#define QL_VND_SC_AEN_COMPLETE
#define QL_VND_SC_READ_DBELL

/*
 * bsg caller to provide empty buffer for doorbell events.
 *
 * sg_io_v4.din_xferp  = empty buffer for door bell events
 * sg_io_v4.dout_xferp = struct edif_read_dbell *buf
 */
struct edif_read_dbell {};


/* Application interface data structure for rtn data */
#define EXT_DEF_EVENT_DATA_SIZE
struct edif_app_dbell {} __packed;

struct edif_sa_update_aen {} __packed;

#define QL_VND_SA_STAT_SUCCESS
#define QL_VND_SA_STAT_FAILED
#define QL_VND_SA_STAT_TIMEOUT
#define QL_VND_SA_STAT_ERROR

#define QL_VND_RX_SA_KEY
#define QL_VND_TX_SA_KEY

/* App defines for plogi auth'd ok and plogi auth bad requests */
struct auth_complete_cmd {} __packed;

struct aen_complete_cmd {} __packed;

#define RX_DELAY_DELETE_TIMEOUT

#define FCH_EVT_VENDOR_UNIQUE_VPORT_DOWN

#endif	/* QLA_EDIF_BSG_H */