MdePkg[all]  1.08
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
TapeIo.h File Reference

Data Structures

struct  _EFI_TAPE_HEADER
 
struct  _EFI_TAPE_IO_PROTOCOL
 

Macros

#define EFI_TAPE_IO_PROTOCOL_GUID
 

Typedefs

typedef struct
_EFI_TAPE_IO_PROTOCOL 
EFI_TAPE_IO_PROTOCOL
 
typedef struct _EFI_TAPE_HEADER EFI_TAPE_HEADER
 
typedef EFI_STATUS(EFIAPIEFI_TAPE_READ )(IN EFI_TAPE_IO_PROTOCOL *This, IN OUT UINTN *BufferSize, OUT VOID *Buffer)
 
typedef EFI_STATUS(EFIAPIEFI_TAPE_WRITE )(IN EFI_TAPE_IO_PROTOCOL *This, IN UINTN *BufferSize, IN VOID *Buffer)
 
typedef EFI_STATUS(EFIAPIEFI_TAPE_REWIND )(IN EFI_TAPE_IO_PROTOCOL *This)
 
typedef EFI_STATUS(EFIAPIEFI_TAPE_SPACE )(IN EFI_TAPE_IO_PROTOCOL *This, IN INTN Direction, IN UINTN Type)
 
typedef EFI_STATUS(EFIAPIEFI_TAPE_WRITEFM )(IN EFI_TAPE_IO_PROTOCOL *This, IN UINTN Count)
 
typedef EFI_STATUS(EFIAPIEFI_TAPE_RESET )(IN EFI_TAPE_IO_PROTOCOL *This, IN BOOLEAN ExtendedVerification)
 

Variables

EFI_GUID gEfiTapeIoProtocolGuid
 

Detailed Description

EFI_TAPE_IO_PROTOCOL as defined in the UEFI 2.0. Provide services to control and access a tape device.

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

Macro Definition Documentation

#define EFI_TAPE_IO_PROTOCOL_GUID
Value:
{ \
0x1e93e633, 0xd65a, 0x459e, {0xab, 0x84, 0x93, 0xd9, 0xec, 0x26, 0x6d, 0x18 } \
}

Typedef Documentation

Reads from the tape.

Parameters
ThisA pointer to the EFI_TAPE_IO_PROTOCOL instance.
BufferSizeThe size of the buffer in bytes pointed to by Buffer.
BufferThe pointer to the buffer for data to be read into.
Return values
EFI_SUCCESSData was successfully transferred from the media.
EFI_END_OF_FILEA filemark was encountered which limited the data transferred by the read operation or the head is positioned just after a filemark.
EFI_NO_MEDIANo media is loaded in the device.
EFI_NOT_READYThe transfer failed since the device was not ready (e.g. not online). The transfer may be retried at a later time.
EFI_UNSUPPORTEDThe device does not support this type of transfer.
EFI_TIMEOUTThe transfer failed to complete within the timeout specified.
EFI_MEDIA_CHANGEDThe media in the device was changed since the last access. The transfer was aborted since the current position of the media may be incorrect.
EFI_INVALID_PARAMETERA NULL Buffer was specified with a non-zero BufferSize, or the device is operating in fixed block size mode and the BufferSize was not a multiple of device's fixed block size
EFI_DEVICE_ERRORA device error occurred while attempting to transfer data from the media.

Resets the tape device.

Parameters
ThisA pointer to the EFI_TAPE_IO_PROTOCOL instance.
ExtendedVerificationIndicates whether the parent bus should also be reset.
Return values
EFI_SUCCESSThe bus and/or device were successfully reset.
EFI_NO_MEDIANo media is loaded in the device.
EFI_NOT_READYThe reset failed since the device and/or bus was not ready. The reset may be retried at a later time.
EFI_UNSUPPORTEDThe device does not support this type of reset.
EFI_TIMEOUTThe reset did not complete within the timeout allowed.
EFI_DEVICE_ERRORA device error occurred while attempting to reset the bus and/or device.
typedef EFI_STATUS(EFIAPI * EFI_TAPE_REWIND)(IN EFI_TAPE_IO_PROTOCOL *This)

Rewinds the tape.

Parameters
ThisA pointer to the EFI_TAPE_IO_PROTOCOL instance.
Return values
EFI_SUCCESSThe media was successfully repositioned.
EFI_NO_MEDIANo media is loaded in the device.
EFI_NOT_READYRepositioning the media failed since the device was not ready (e.g. not online). The transfer may be retried at a later time.
EFI_UNSUPPORTEDThe device does not support this type of media repositioning.
EFI_TIMEOUTRepositioning of the media did not complete within the timeout specified.
EFI_DEVICE_ERRORA device error occurred while attempting to reposition the media.

Positions the tape.

Parameters
ThisA pointer to the EFI_TAPE_IO_PROTOCOL instance.
DirectionDirection and number of data blocks or filemarks to space over on media.
TypeType of mark to space over on media. The following Type marks are mandatory: BLOCK type : 0 FILEMARK type : 1
Return values
EFI_SUCCESSThe media was successfully repositioned.
EFI_END_OF_MEDIABeginning or end of media was reached before the indicated number of data blocks or filemarks were found.
EFI_NO_MEDIANo media is loaded in the device.
EFI_NOT_READYThe reposition failed since the device was not ready (e.g. not online). The reposition may be retried at a later time.
EFI_UNSUPPORTEDThe device does not support this type of repositioning.
EFI_TIMEOUTThe repositioning failed to complete within the timeout specified.
EFI_MEDIA_CHANGEDThe media in the device was changed since the last access. Repositioning the media was aborted since the current position of the media may be incorrect.
EFI_DEVICE_ERRORA device error occurred while attempting to reposition the media.

Writes to the tape.

Parameters
ThisA pointer to the EFI_TAPE_IO_PROTOCOL instance.
BufferSizeSize of the buffer in bytes pointed to by Buffer.
BufferThe pointer to the buffer for data to be written from.
Return values
EFI_SUCCESSData was successfully transferred to the media.
EFI_END_OF_MEDIAThe logical end of media has been reached. Data may have been successfully transferred to the media.
EFI_NO_MEDIANo media is loaded in the device.
EFI_NOT_READYThe transfer failed since the device was not ready (e.g. not online). The transfer may be retried at a later time.
EFI_UNSUPPORTEDThe device does not support this type of transfer.
EFI_TIMEOUTThe transfer failed to complete within the timeout specified.
EFI_MEDIA_CHANGEDThe media in the device was changed since the last access. The transfer was aborted since the current position of the media may be incorrect.
EFI_WRITE_PROTECTEDThe media in the device is write-protected. The transfer was aborted since a write cannot be completed.
EFI_INVALID_PARAMETERA NULL Buffer was specified with a non-zero BufferSize, or the device is operating in fixed block size mode and the BufferSize was not a multiple of device's fixed block size
EFI_DEVICE_ERRORA device error occurred while attempting to transfer data from the media.
typedef EFI_STATUS(EFIAPI * EFI_TAPE_WRITEFM)(IN EFI_TAPE_IO_PROTOCOL *This, IN UINTN Count)

Writes filemarks to the media.

Parameters
ThisA pointer to the EFI_TAPE_IO_PROTOCOL instance.
CountNumber of filemarks to write to the media.
Return values
EFI_SUCCESSData was successfully transferred from the media.
EFI_NO_MEDIANo media is loaded in the device.
EFI_NOT_READYThe transfer failed since the device was not ready (e.g. not online). The transfer may be retried at a later time.
EFI_UNSUPPORTEDThe device does not support this type of repositioning.
EFI_TIMEOUTThe transfer failed to complete within the timeout specified.
EFI_MEDIA_CHANGEDThe media in the device was changed since the last access. The transfer was aborted since the current position of the media may be incorrect.
EFI_DEVICE_ERRORA device error occurred while attempting to transfer data from the media.

Variable Documentation

EFI_GUID gEfiTapeIoProtocolGuid