linux/include/scsi/fc/fc_ms.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright(c) 2011 Intel Corporation. All rights reserved.
 *
 * Maintained at www.Open-FCoE.org
 */

#ifndef _FC_MS_H_
#define _FC_MS_H_

#include <linux/types.h>

/*
 * Fibre Channel Services - Management Service (MS)
 * From T11.org FC-GS-4 Rev 7.91 February 4, 2004
 */

/*
 * Fabric Device Management Interface
 */

/*
 * Common-transport sub-type for FDMI
 */
#define FC_FDMI_SUBTYPE

/*
 * Management server FDMI specifications.
 */
#define FDMI_V1
#define FDMI_V2

/*
 * Management server FDMI Requests.
 */
enum fc_fdmi_req {};

/*
 * HBA Attribute Entry Type
 */
enum fc_fdmi_hba_attr_type {};

/*
 * HBA Attribute Length
 */
#define FC_FDMI_HBA_ATTR_NODENAME_LEN
#define FC_FDMI_HBA_ATTR_MANUFACTURER_LEN
#define FC_FDMI_HBA_ATTR_SERIALNUMBER_LEN
#define FC_FDMI_HBA_ATTR_MODEL_LEN
#define FC_FDMI_HBA_ATTR_MODELDESCR_LEN
#define FC_FDMI_HBA_ATTR_HARDWAREVERSION_LEN
#define FC_FDMI_HBA_ATTR_DRIVERVERSION_LEN
#define FC_FDMI_HBA_ATTR_OPTIONROMVERSION_LEN
#define FC_FDMI_HBA_ATTR_FIRMWAREVERSION_LEN
#define FC_FDMI_HBA_ATTR_OSNAMEVERSION_LEN
#define FC_FDMI_HBA_ATTR_MAXCTPAYLOAD_LEN
#define FC_FDMI_HBA_ATTR_NODESYMBLNAME_LEN
#define FC_FDMI_HBA_ATTR_VENDORSPECIFICINFO_LEN
#define FC_FDMI_HBA_ATTR_NUMBEROFPORTS_LEN
#define FC_FDMI_HBA_ATTR_FABRICNAME_LEN
#define FC_FDMI_HBA_ATTR_BIOSVERSION_LEN
#define FC_FDMI_HBA_ATTR_BIOSSTATE_LEN
#define FC_FDMI_HBA_ATTR_VENDORIDENTIFIER_LEN

/*
 * Port Attribute Type
 */
enum fc_fdmi_port_attr_type {};

/*
 * Port Attribute Length
 */
#define FC_FDMI_PORT_ATTR_FC4TYPES_LEN
#define FC_FDMI_PORT_ATTR_SUPPORTEDSPEED_LEN
#define FC_FDMI_PORT_ATTR_CURRENTPORTSPEED_LEN
#define FC_FDMI_PORT_ATTR_MAXFRAMESIZE_LEN
#define FC_FDMI_PORT_ATTR_OSDEVICENAME_LEN
#define FC_FDMI_PORT_ATTR_HOSTNAME_LEN
#define FC_FDMI_PORT_ATTR_NODENAME_LEN
#define FC_FDMI_PORT_ATTR_PORTNAME_LEN
#define FC_FDMI_PORT_ATTR_SYMBOLICNAME_LEN
#define FC_FDMI_PORT_ATTR_PORTTYPE_LEN
#define FC_FDMI_PORT_ATTR_SUPPORTEDCLASSSRVC_LEN
#define FC_FDMI_PORT_ATTR_FABRICNAME_LEN
#define FC_FDMI_PORT_ATTR_CURRENTFC4TYPE_LEN
#define FC_FDMI_PORT_ATTR_PORTSTATE_LEN
#define FC_FDMI_PORT_ATTR_DISCOVEREDPORTS_LEN
#define FC_FDMI_PORT_ATTR_PORTID_LEN


/*
 * HBA Attribute ID
 */
struct fc_fdmi_hba_identifier {};

/*
 * Port Name
 */
struct fc_fdmi_port_name {};

/*
 * Attribute Entry Block for HBA/Port Attributes
 */
#define FC_FDMI_ATTR_ENTRY_HEADER_LEN
struct fc_fdmi_attr_entry {} __attribute__((packed));

/*
 * Common for HBA/Port Attributes
 */
struct fs_fdmi_attrs {} __attribute__((packed));

/*
 * Registered Port List
 */
struct fc_fdmi_rpl {} __attribute__((packed));

/*
 * Register HBA (RHBA)
 */
struct fc_fdmi_rhba {} __attribute__((packed));

/*
 * Register HBA Attributes (RHAT)
 */
struct fc_fdmi_rhat {} __attribute__((packed));

/*
 * Register Port (RPRT)
 */
struct fc_fdmi_rprt {} __attribute__((packed));

/*
 * Register Port Attributes (RPA)
 */
struct fc_fdmi_rpa {} __attribute__((packed));

/*
 * Deregister Port (DPRT)
 */
struct fc_fdmi_dprt {} __attribute__((packed));

/*
 * Deregister Port Attributes (DPA)
 */
struct fc_fdmi_dpa {} __attribute__((packed));

/*
 * Deregister HBA Attributes (DHAT)
 */
struct fc_fdmi_dhat {} __attribute__((packed));

/*
 * Deregister HBA (DHBA)
 */
struct fc_fdmi_dhba {} __attribute__((packed));

#endif /* _FC_MS_H_ */