TapeIo.h revision 4fd606d1f5abe38e1f42c38de1d2e895166bd0f4
2N/A EFI_TAPE_IO_PROTOCOL as defined in the UEFI 2.0. 2N/A Provide services to control and access a tape device. 2N/ACopyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR> 2N/AThis program and the accompanying materials are licensed and made available under 2N/Athe terms and conditions of the BSD License that accompanies this distribution. 2N/AThe full text of the license may be found at 2N/ATHE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 2N/AWITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 2N/A 0x1e93e633,
0xd65a,
0x459e, {
0xab,
0x84,
0x93,
0xd9,
0xec,
0x26,
0x6d,
0x18 } \
2N/A Reads from the tape. 2N/A @param This A pointer to the EFI_TAPE_IO_PROTOCOL instance. 2N/A @param BufferSize The size of the buffer in bytes pointed to by Buffer. 2N/A @param Buffer The pointer to the buffer for data to be read into. 2N/A @retval EFI_SUCCESS Data was successfully transferred from the media. 2N/A @retval EFI_END_OF_FILE A filemark was encountered which limited the data 2N/A transferred by the read operation or the head is positioned 2N/A just after a filemark. 2N/A @retval EFI_NO_MEDIA No media is loaded in the device. 2N/A @retval EFI_NOT_READY The transfer failed since the device was not ready (e.g. not 2N/A online). The transfer may be retried at a later time. @retval EFI_UNSUPPORTED The device does not support this type of transfer. @retval EFI_TIMEOUT The transfer failed to complete within the timeout specified. @retval EFI_MEDIA_CHANGED The media in the device was changed since the last access. The transfer was aborted since the current position of the @retval EFI_INVALID_PARAMETER A 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 @retval EFI_DEVICE_ERROR A device error occurred while attempting to transfer data @param This A pointer to the EFI_TAPE_IO_PROTOCOL instance. @param BufferSize Size of the buffer in bytes pointed to by Buffer. @param Buffer The pointer to the buffer for data to be written from. @retval EFI_SUCCESS Data was successfully transferred to the media. @retval EFI_END_OF_MEDIA The logical end of media has been reached. Data may have been successfully transferred to the media. @retval EFI_NO_MEDIA No media is loaded in the device. @retval EFI_NOT_READY The transfer failed since the device was not ready (e.g. not online). The transfer may be retried at a later time. @retval EFI_UNSUPPORTED The device does not support this type of transfer. @retval EFI_TIMEOUT The transfer failed to complete within the timeout specified. @retval EFI_MEDIA_CHANGED The media in the device was changed since the last access. The transfer was aborted since the current position of the @retval EFI_WRITE_PROTECTED The media in the device is write-protected. The transfer was aborted since a write cannot be completed. @retval EFI_INVALID_PARAMETER A 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 @retval EFI_DEVICE_ERROR A device error occurred while attempting to transfer data @param This A pointer to the EFI_TAPE_IO_PROTOCOL instance. @retval EFI_SUCCESS The media was successfully repositioned. @retval EFI_NO_MEDIA No media is loaded in the device. @retval EFI_NOT_READY Repositioning the media failed since the device was not ready (e.g. not online). The transfer may be retried at a later time. @retval EFI_UNSUPPORTED The device does not support this type of media repositioning. @retval EFI_TIMEOUT Repositioning of the media did not complete within the timeout specified. @retval EFI_DEVICE_ERROR A device error occurred while attempting to reposition the media. @param This A pointer to the EFI_TAPE_IO_PROTOCOL instance. @param Direction Direction and number of data blocks or filemarks to space over on media. @param Type Type of mark to space over on media. The following Type marks are mandatory: @retval EFI_SUCCESS The media was successfully repositioned. @retval EFI_END_OF_MEDIA Beginning or end of media was reached before the indicated number of data blocks or filemarks were found. @retval EFI_NO_MEDIA No media is loaded in the device. @retval EFI_NOT_READY The reposition failed since the device was not ready (e.g. not online). The reposition may be retried at a later time. @retval EFI_UNSUPPORTED The device does not support this type of repositioning. @retval EFI_TIMEOUT The repositioning failed to complete within the timeout specified. @retval EFI_MEDIA_CHANGED The 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. @retval EFI_DEVICE_ERROR A device error occurred while attempting to reposition the media. Writes filemarks to the media. @param This A pointer to the EFI_TAPE_IO_PROTOCOL instance. @param Count Number of filemarks to write to the media. @retval EFI_SUCCESS Data was successfully transferred from the media. @retval EFI_NO_MEDIA No media is loaded in the device. @retval EFI_NOT_READY The transfer failed since the device was not ready (e.g. not online). The transfer may be retried at a later time. @retval EFI_UNSUPPORTED The device does not support this type of repositioning. @retval EFI_TIMEOUT The transfer failed to complete within the timeout specified. @retval EFI_MEDIA_CHANGED The media in the device was changed since the last access. The transfer was aborted since the current position of the @retval EFI_DEVICE_ERROR A device error occurred while attempting to transfer data from the media. @param This A pointer to the EFI_TAPE_IO_PROTOCOL instance. @param ExtendedVerification Indicates whether the parent bus should also be reset. @retval EFI_SUCCESS The bus and/or device were successfully reset. @retval EFI_NO_MEDIA No media is loaded in the device. @retval EFI_NOT_READY The reset failed since the device and/or bus was not ready. The reset may be retried at a later time. @retval EFI_UNSUPPORTED The device does not support this type of reset. @retval EFI_TIMEOUT The reset did not complete within the timeout allowed. @retval EFI_DEVICE_ERROR A device error occurred while attempting to reset the bus and/or device. /// The EFI_TAPE_IO_PROTOCOL provides basic sequential operations for tape devices. /// These include read, write, rewind, space, write filemarks and reset functions. /// Per this specification, a boot application uses the services of this protocol /// to load the bootloader image from tape.