/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright (c) 2004-2011 Emulex. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _EMLXS_MENLO_H
#define _EMLXS_MENLO_H
#ifdef __cplusplus
extern "C" {
#endif
#ifdef MENLO_SUPPORT
/*
* COMMANDS
*/
typedef struct menlo_init_cmd
{
typedef struct menlo_fw_download_cmd
{
/* (4 byte aligned) */
/* Followed by length bytes of firmware image */
/* Firmware image will be in Little Endian format */
typedef struct menlo_memory_cmd
{
typedef struct menlo_fte_insert_cmd
{
#define MENLO_SRC_MASK_FALSE 0
typedef struct menlo_fte_delete_cmd
{
typedef struct menlo_get_cmd
{
/* MENLO_CMD_GET_PORT_STATS */
#define MENLO_PORT_ETH0 0
/* MENLO_CMD_GET_LIF_STATS */
#define MENLO_LIF_ETH0 0
/* MENLO_CMD_GET_LB_MODE */
#define MENLO_NSL_PORT_ID_0 0
typedef struct menlo_set_cmd
{
/* MENLO_CMD_SET_PAUSE values */
/* PPP Priority bits : [ ][ ][ ][ ][X][ ][ ][ ] */
/* COS : 7 6 5 4 3 2 1 0 */
/* MENLO_CMD_SET_FCOE_COS values */
/* MENLO_CMD_SET_UIF_PORT_TYPE values */
/* MENLO_CMD_SET_MODE values */
#define MENLO_MAINTENANCE_MODE_DISABLE 0
typedef struct menlo_loopback_cmd
{
#define MENLO_NSL_PORT_ID_0 0
#define MENLO_LOOPBACK_DISABLE 0
typedef struct menlo_reset_cmd
{
#define MENLO_FW_OPERATIONAL 0
typedef struct menlo_fru_data_cmd
{
/* Valid flags */
typedef struct menlo_diag_cmd
{
/* loop_count > 0 indicates number of test */
/* iterations */
/* NOTE : one test iteration takes */
/* approximately 2-3 seconds */
/* performed */
/* test_bitmap = 0 will result in a */
/* MENLO_ERR_INVALID_FLAG error */
/* Hornet 2 */
typedef struct fip_params
{
/* FCoE Addressing Mode */
} fip_params_t;
typedef struct non_fip_params
{
typedef union menlo_fcoe_params
{
typedef struct menlo_set_fcoe_params_cmd
{
/* FCoE Operation Mode */
#define FCOE_MODE_NON_FIP 0
typedef struct set_facl_cmd
{
typedef struct facl
{
} facl_t;
typedef struct fcf_id
{
} fcf_id_t;
typedef struct create_vl_cmd
{
typedef struct delete_vl_cmd
{
typedef struct menlo_pg_info
{
typedef struct menlo_set_pg_info_cmd
{
typedef struct menlo_set_host_eth_pfc_flag
{
/* Host PFC Flag Definitions */
typedef union menlo_cmd
{
/* Command codes */
/* Zephyr specific Menlo commands */
} menlo_cmd_t;
/*
* RESPONSES
*/
typedef struct menlo_init_rsp
{
#define MENLO_RESET_STATUS_NORMAL 0
#define MENLO_MAINTENANCE_MODE_DISABLE 0
typedef struct menlo_get_config_rsp
{
/* Needed for */
/* MENLO_CMD_GET_LOG_CONFIG */
/* Needed for MENLO_CMD_GET_PANIC_LOG */
/* (See below) */
/* (See below) */
/* set (See below) */
typedef struct menlo_fc_stats_rsp
{
typedef struct menlo_network_stats_rsp
{
typedef struct menlo_lif_stats_rsp
{
typedef struct menlo_asic_stats_rsp
{
typedef struct menlo_log
{
#ifdef EMLXS_BIG_ENDIAN
#endif /* EMLXS_BIG_ENDIAN */
#ifdef EMLXS_LITTLE_ENDIAN
#endif /* EMLXS_LITTLE_ENDIAN */
} menlo_log_t;
typedef struct menlo_log_config_rsp
{
#ifdef EMLXS_BIG_ENDIAN
#endif /* EMLXS_BIG_ENDIAN */
#ifdef EMLXS_LITTLE_ENDIAN
#endif /* EMLXS_LITTLE_ENDIAN */
/* menlo_log_t log[num_logs] */
typedef struct menlo_log_data_rsp
{
#ifdef EMLXS_BIG_ENDIAN
/* data array */
#endif /* EMLXS_BIG_ENDIAN */
#ifdef EMLXS_LITTLE_ENDIAN
/* data array */
#endif /* EMLXS_LITTLE_ENDIAN */
typedef struct menlo_panic_log_data_rsp
{
#ifdef EMLXS_BIG_ENDIAN
/* data buffer */
#endif /* EMLXS_BIG_ENDIAN */
#ifdef EMLXS_LITTLE_ENDIAN
/* data buffer */
#endif /* EMLXS_LITTLE_ENDIAN */
typedef struct menlo_lb_mode_rsp
{
typedef struct menlo_fte
{
#ifdef EMLXS_BIG_ENDIAN
#endif /* EMLXS_BIG_ENDIAN */
#ifdef EMLXS_LITTLE_ENDIAN
#endif /* EMLXS_LITTLE_ENDIAN */
} menlo_fte_t;
typedef struct menlo_ftable_rsp
{
typedef struct menlo_sfp_rsp
{
typedef struct menlo_fru_data_rsp
{
typedef struct menlo_diag_log_data_rsp
{
/* buffer (bytes) */
/* data_length bytes */
typedef struct menlo_diag_log
{
/* menlo_diag_log_entry_t.data array */
/* requested */
/* completed */
/* entry[num_tests] */
typedef struct menlo_diag_log_entry
{
/* DIAG_TEST_STATUS_XXXXX above */
/* Hornet 2 */
typedef struct menlo_get_fcoe_params_rsp
{
/* FCoE Operation Mode */
#define FCOE_MODE_NON_FIP 0
typedef struct fcf_info
{
/* FCoE Addressing Mode */
} fcf_info_t;
typedef struct menlo_get_fcf_list_rsp
{
typedef struct menlo_get_facl_rsp
{
typedef struct create_vl_rsp
{
typedef struct menlo_get_pg_info_rsp
{
typedef struct menlo_get_host_eth_pfc_flag_rsp
{
/* Host PFC Flag Definitions */
typedef struct menlo_get_dcbx_mode_rsp
{
typedef union menlo_rsp
{
/* Response codes */
} menlo_rsp_t;
/*
* FIRMWARE IMAGE
*/
typedef struct menlo_image_hdr
{
/* padding */
/* The version header structure needs to be a multiple of 4 bytes */
typedef struct menlo_version_hdr
{
/* Type */
#endif /* MENLO_SUPPORT */
#ifdef __cplusplus
}
#endif
#endif /* _EMLXS_MENLO_H */