d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi/*******************************************************************************
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * CDDL HEADER START
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi *
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * The contents of this file are subject to the terms of the
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * Common Development and Distribution License (the "License").
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * You may not use this file except in compliance with the License.
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi *
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * or http://www.opensolaris.org/os/licensing.
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * See the License for the specific language governing permissions
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * and limitations under the License.
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi *
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * When distributing Covered Code, include this CDDL HEADER in each
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * If applicable, add the following below this CDDL HEADER, with the
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * fields enclosed by brackets "[]" replaced with your own identifying
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * information: Portions Copyright [yyyy] [name of copyright owner]
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi *
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * CDDL HEADER END
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi *
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * Copyright 2014 QLogic Corporation
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * The contents of this file are subject to the terms of the
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * QLogic End User License (the "License").
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * You may not use this file except in compliance with the License.
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi *
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * You can obtain a copy of the License at
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * http://www.qlogic.com/Resources/Documents/DriverDownloadHelp/
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * QLogic_End_User_Software_License.txt
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * See the License for the specific language governing permissions
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * and limitations under the License.
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi *
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi *
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * FILE : I S C S I _ I N F O . H
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * AUTHOR : Kevin Tran
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi *
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * DESCRIPTION : This file contains macro definitions for ISCSI shared
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * information.
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi *
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * Revision History:
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi * Kevin Tran 07/23/2004 Created
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi *
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi ******************************************************************************/
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#ifndef __ISCSI_INFO_H__
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define __ISCSI_INFO_H__
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchitypedef struct _iscsi_info_block_hdr_t
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi{
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_BLOCK_SIGNATURE 0x6b627369
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u32_t signature;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u16_t length;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u8_t checksum;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u8_t boot_flags;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi #define ISCSI_INFO_FLAGS_WINDOWS_HBA_BOOT (1 << 0)
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi #define BOOT_INFO_FLAGS_UEFI_BOOT (1 << 1)
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi} iscsi_info_block_hdr_t;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define UEFI_BOOT_SIGNATURE 0x0EF10EF1
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_DATA_SIZE 1016
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchitypedef struct _iscsi_info_block_t
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi{
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi iscsi_info_block_hdr_t hdr ;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u8_t data[ISCSI_INFO_DATA_SIZE];
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi} iscsi_info_block_t;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_ID_TARGET_NAME 0x0
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_ID_TARGET_IP_ADDR 0x1
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_ID_TARGET_TCP_PORT 0x2
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_ID_INITIATOR_NAME 0x3
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_ID_IP_ADDRESS 0x4
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_ID_SUBNET_MASK 0x5
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_ID_DEFAULT_GATEWAY 0x6
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_ID_AUTHEN_MODE 0x7
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_ID_INIT_CHAP_ID 0x8
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_ID_INIT_CHAP_PW 0x9
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_ID_TARGET_CHAP_ID 0xa
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_ID_TARGET_CHAP_PW 0xb
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_ID_VLAN_ID 0xc
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_ID_PRIMARY_DNS 0xd
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_ID_SECONDARY_DNS 0xe
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_ID_INTF_MAC_ADDR 0xf
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_ID_IP_ADDRESS2 0x10
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_ID_SUBNET_MASK2 0x11
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_ID_DEFAULT_GATEWAY2 0x12
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_ID_VLAN_ID2 0x13
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_ID_INTF_MAC_ADDR2 0x14
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_ID_PRIMARY_DNS2 0x15
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_ID_SECONDARY_DNS2 0x16
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_ID_DHCP_SERVER_IP_ADDR 0x17
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_ID_BOOT_INTF 0x18
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_ID_TARGET_LUN_NUM 0x19
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_ID_PRIMARY_INTF 0x1a
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_ID_PCI_FUNCTION_NUM 0x1b
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_ID_DHCP_SERVER_IP_ADDR2 0x1c
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_ID_TARGET_IP_ADDR2 0x1d
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_ID_TARGET_TCP_PORT2 0x1e
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_ID_BOOT_PARAMETERS 0x1f
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_ID_BOOT_PARAMETERS2 0x20
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_ID_END 0xff
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#define ISCSI_INFO_BOOT_PARAMS_IPv6_RA (1 << 0)
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchitypedef struct iscsi_info_hdr
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi{
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u16_t id;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u16_t length;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi}iscsi_info_hdr;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchitypedef struct iscsi_info_entry
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi{
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi iscsi_info_hdr hdr;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi u8_t data[1];
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi}iscsi_info_entry;
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi
d14abf155341d55053c76eeec58b787a456b753bRobert Mustacchi#endif /* __ISCSI_INFO_H__ */