Home | History | Annotate | Download | only in IScsiDxe
      1 /** @file
      2   The header file for EFI iSCSI Initiator Name Protocol.
      3 
      4 Copyright (c) 2004 - 2008, Intel Corporation. All rights reserved.<BR>
      5 This program and the accompanying materials
      6 are licensed and made available under the terms and conditions of the BSD License
      7 which accompanies this distribution.  The full text of the license may be found at
      8 http://opensource.org/licenses/bsd-license.php
      9 
     10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     12 
     13 **/
     14 
     15 #ifndef _ISCSI_INITIATOR_NAME_H_
     16 #define _ISCSI_INITIATOR_NAME_H_
     17 
     18 #include <Protocol/IScsiInitiatorName.h>
     19 
     20 extern EFI_ISCSI_INITIATOR_NAME_PROTOCOL  gIScsiInitiatorName;
     21 
     22 //
     23 // EFI iSCSI Initiator Name Protocol for IScsi driver.
     24 //
     25 
     26 /**
     27   Retrieves the current set value of iSCSI Initiator Name.
     28 
     29   @param[in]       This       Pointer to the EFI_ISCSI_INITIATOR_NAME_PROTOCOL instance.
     30   @param[in, out]  BufferSize Size of the buffer in bytes pointed to by Buffer / Actual size of the
     31                               variable data buffer.
     32   @param[out]      Buffer     Pointer to the buffer for data to be read.
     33 
     34   @retval EFI_SUCCESS           Data was successfully retrieved into the provided buffer and the
     35                                 BufferSize was sufficient to handle the iSCSI initiator name.
     36   @retval EFI_BUFFER_TOO_SMALL  BufferSize is too small for the result.
     37   @retval EFI_INVALID_PARAMETER BufferSize or Buffer is NULL.
     38   @retval EFI_DEVICE_ERROR      The iSCSI initiator name could not be retrieved due to a hardware error.
     39   @retval Others                Other errors as indicated.
     40 **/
     41 EFI_STATUS
     42 EFIAPI
     43 IScsiGetInitiatorName (
     44   IN     EFI_ISCSI_INITIATOR_NAME_PROTOCOL  *This,
     45   IN OUT UINTN                              *BufferSize,
     46   OUT    VOID                               *Buffer
     47   );
     48 
     49 /**
     50   Sets the iSCSI Initiator Name.
     51 
     52   @param[in]       This       Pointer to the EFI_ISCSI_INITIATOR_NAME_PROTOCOL instance.
     53   @param[in, out]  BufferSize Size of the buffer in bytes pointed to by Buffer.
     54   @param[in]       Buffer     Pointer to the buffer for data to be written.
     55 
     56   @retval EFI_SUCCESS           Data was successfully stored by the protocol.
     57   @retval EFI_UNSUPPORTED       Platform policies do not allow for data to be written.
     58                                 Currently not implemented.
     59   @retval EFI_INVALID_PARAMETER BufferSize or Buffer is NULL, or BufferSize exceeds the maximum allowed limit.
     60   @retval EFI_DEVICE_ERROR      The data could not be stored due to a hardware error.
     61   @retval EFI_OUT_OF_RESOURCES  Not enough storage is available to hold the data.
     62   @retval EFI_PROTOCOL_ERROR    Input iSCSI initiator name does not adhere to RFC 3720
     63                                 (and other related protocols).
     64   @retval Others                Other errors as indicated.
     65 **/
     66 EFI_STATUS
     67 EFIAPI
     68 IScsiSetInitiatorName (
     69   IN     EFI_ISCSI_INITIATOR_NAME_PROTOCOL  *This,
     70   IN OUT UINTN                              *BufferSize,
     71   IN     VOID                               *Buffer
     72   );
     73 
     74 #endif
     75