XenevaOS
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Variables
TapeIo.h File Reference

Go to the source code of this file.

Classes

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.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License that accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php.

THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

Macro Definition Documentation

◆ EFI_TAPE_IO_PROTOCOL_GUID

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

Typedef Documentation

◆ EFI_TAPE_HEADER

◆ EFI_TAPE_IO_PROTOCOL

◆ EFI_TAPE_READ

typedef EFI_STATUS(EFIAPI * EFI_TAPE_READ) (IN EFI_TAPE_IO_PROTOCOL *This, IN OUT UINTN *BufferSize, OUT VOID *Buffer)

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.

◆ EFI_TAPE_RESET

typedef EFI_STATUS(EFIAPI * EFI_TAPE_RESET) (IN EFI_TAPE_IO_PROTOCOL *This, IN BOOLEAN ExtendedVerification)

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.

◆ EFI_TAPE_REWIND

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.

◆ EFI_TAPE_SPACE

typedef EFI_STATUS(EFIAPI * EFI_TAPE_SPACE) (IN EFI_TAPE_IO_PROTOCOL *This, IN INTN Direction, IN UINTN Type)

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.

◆ EFI_TAPE_WRITE

typedef EFI_STATUS(EFIAPI * EFI_TAPE_WRITE) (IN EFI_TAPE_IO_PROTOCOL *This, IN UINTN *BufferSize, IN VOID *Buffer)

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.

◆ EFI_TAPE_WRITEFM

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

◆ gEfiTapeIoProtocolGuid

EFI_GUID gEfiTapeIoProtocolGuid
extern