TianoCore EDK2 master
Loading...
Searching...
No Matches
IScsiIbft.c File Reference
#include "IScsiImpl.h"

Go to the source code of this file.

Functions

VOID IScsiInitIbfTableHeader (OUT EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_HEADER *Header, IN UINT8 *OemId, IN UINT64 *OemTableId)
 
VOID IScsiInitControlSection (IN EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_HEADER *Table)
 
VOID IScsiAddHeapItem (IN OUT UINT8 **Heap, IN VOID *Data, IN UINTN Len)
 
VOID IScsiFillInitiatorSection (IN EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_HEADER *Table, IN OUT UINT8 **Heap)
 
VOID IScsiMapV4ToV6Addr (IN EFI_IPv4_ADDRESS *V4, OUT EFI_IPv6_ADDRESS *V6)
 
VOID IScsiFillNICAndTargetSections (IN EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_HEADER *Table, IN OUT UINT8 **Heap)
 
VOID IScsiPublishIbft (IN VOID)
 

Variables

BOOLEAN mIbftInstalled = FALSE
 
UINTN mTableKey
 

Detailed Description

Implementation for iSCSI Boot Firmware Table publication.

Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file IScsiIbft.c.

Function Documentation

◆ IScsiAddHeapItem()

VOID IScsiAddHeapItem ( IN OUT UINT8 **  Heap,
IN VOID *  Data,
IN UINTN  Len 
)

Add one item into the heap.

Parameters
[in,out]HeapOn input, the current address of the heap. On output, the address of the heap after the item is added.
[in]DataThe data to add into the heap.
[in]LenLength of the Data in byte.

Definition at line 95 of file IScsiIbft.c.

◆ IScsiFillInitiatorSection()

VOID IScsiFillInitiatorSection ( IN EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_HEADER Table,
IN OUT UINT8 **  Heap 
)

Fill the Initiator section of the iSCSI Boot Firmware Table.

Parameters
[in]TableThe ACPI table.
[in,out]HeapThe heap.

Definition at line 118 of file IScsiIbft.c.

◆ IScsiFillNICAndTargetSections()

VOID IScsiFillNICAndTargetSections ( IN EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_HEADER Table,
IN OUT UINT8 **  Heap 
)

Fill the NIC and target sections in iSCSI Boot Firmware Table.

Parameters
[in]TableThe buffer of the ACPI table.
[in,out]HeapThe heap buffer used to store the variable length parameters such as iSCSI name.

Definition at line 185 of file IScsiIbft.c.

◆ IScsiInitControlSection()

VOID IScsiInitControlSection ( IN EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_HEADER Table)

Initialize the control section of the iSCSI Boot Firmware Table.

Parameters
[in]TableThe ACPI table.

Definition at line 45 of file IScsiIbft.c.

◆ IScsiInitIbfTableHeader()

VOID IScsiInitIbfTableHeader ( OUT EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_HEADER Header,
IN UINT8 *  OemId,
IN UINT64 *  OemTableId 
)

Initialize the header of the iSCSI Boot Firmware Table.

Parameters
[out]HeaderThe header of the iSCSI Boot Firmware Table.
[in]OemIdThe OEM ID.
[in]OemTableIdThe OEM table ID for the iBFT.

Definition at line 23 of file IScsiIbft.c.

◆ IScsiMapV4ToV6Addr()

VOID IScsiMapV4ToV6Addr ( IN EFI_IPv4_ADDRESS V4,
OUT EFI_IPv6_ADDRESS V6 
)

Map the v4 IP address into v6 IP address.

Parameters
[in]V4The v4 IP address.
[out]V6The v6 IP address.

Definition at line 159 of file IScsiIbft.c.

◆ IScsiPublishIbft()

VOID IScsiPublishIbft ( IN  VOID)

Publish and remove the iSCSI Boot Firmware Table according to the iSCSI session status.

Definition at line 434 of file IScsiIbft.c.

Variable Documentation

◆ mIbftInstalled

BOOLEAN mIbftInstalled = FALSE

Definition at line 11 of file IScsiIbft.c.

◆ mTableKey

UINTN mTableKey

Definition at line 12 of file IScsiIbft.c.