]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Protocol/TapeIo.h
MdePkg: Add definition for new warning code EFI_WARN_FILE_SYSTEM.
[mirror_edk2.git] / MdePkg / Include / Protocol / TapeIo.h
index 919c95bc7072bffa6c130d4286cafef75ed881e8..222f5b5aed7f0e825cb27fcc28599a4dc4952917 100644 (file)
@@ -2,16 +2,14 @@
   EFI_TAPE_IO_PROTOCOL as defined in the UEFI 2.0.\r
   Provide services to control and access a tape device.\r
 \r
-  Copyright (c) 2006, Intel Corporation                                                         \r
-  All rights reserved. This program and the accompanying materials                          \r
-  are licensed and made available under the terms and conditions of the BSD License         \r
-  which accompanies this distribution.  The full text of the license may be found at        \r
-  http://opensource.org/licenses/bsd-license.php                                            \r
-\r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
-\r
-  Module Name:  TapeIo.h\r
+Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials are licensed and made available under \r
+the terms and conditions of the BSD License that accompanies this distribution.  \r
+The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php.                                          \r
+    \r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
 \r
 **/\r
 \r
@@ -25,7 +23,7 @@
 \r
 typedef struct _EFI_TAPE_IO_PROTOCOL EFI_TAPE_IO_PROTOCOL;\r
 \r
-typedef struct {\r
+typedef struct _EFI_TAPE_HEADER {\r
   UINT64     Signature;\r
   UINT32     Revision;\r
   UINT32     BootDescSize;\r
@@ -43,14 +41,14 @@ typedef struct {
   CHAR8      SystemName[256];  // UTF-8\r
   CHAR8      TapeTitle[120];   // UTF-8\r
   CHAR8      pad[468];         // pad to 1024\r
-} TAPE_HEADER;\r
+} EFI_TAPE_HEADER;\r
 \r
 /**\r
   Reads from the tape.\r
 \r
   @param  This       A pointer to the EFI_TAPE_IO_PROTOCOL instance.\r
-  @param  BufferSize Size of the buffer in bytes pointed to by Buffer.\r
-  @param  Buffer     Pointer to the buffer for data to be read into.\r
+  @param  BufferSize The size of the buffer in bytes pointed to by Buffer.\r
+  @param  Buffer     The pointer to the buffer for data to be read into.\r
 \r
   @retval EFI_SUCCESS           Data was successfully transferred from the media.\r
   @retval EFI_END_OF_FILE       A filemark was encountered which limited the data\r
@@ -65,7 +63,7 @@ typedef struct {
                                 The transfer was aborted since the current position of the\r
                                 media may be incorrect.\r
   @retval EFI_INVALID_PARAMETER A NULL Buffer was specified with a non-zero\r
-                                BufferSize or the device is operating in fixed block\r
+                                BufferSize, or the device is operating in fixed block\r
                                 size mode and the BufferSize was not a multiple of\r
                                 device's fixed block size\r
   @retval EFI_DEVICE_ERROR      A device error occurred while attempting to transfer data\r
@@ -74,19 +72,18 @@ typedef struct {
 **/\r
 typedef \r
 EFI_STATUS\r
-(EFIAPI *EFI_TAPE_READ) (\r
+(EFIAPI *EFI_TAPE_READ)(\r
   IN EFI_TAPE_IO_PROTOCOL *This,\r
   IN OUT UINTN            *BufferSize,\r
   OUT VOID                *Buffer\r
-  )\r
-;    \r
+  );    \r
 \r
 /**\r
   Writes to the tape.\r
 \r
   @param  This       A pointer to the EFI_TAPE_IO_PROTOCOL instance.\r
   @param  BufferSize Size of the buffer in bytes pointed to by Buffer.\r
-  @param  Buffer     Pointer to the buffer for data to be written from.\r
+  @param  Buffer     The pointer to the buffer for data to be written from.\r
 \r
   @retval EFI_SUCCESS           Data was successfully transferred to the media.\r
   @retval EFI_END_OF_MEDIA      The logical end of media has been reached. Data may have\r
@@ -102,7 +99,7 @@ EFI_STATUS
   @retval EFI_WRITE_PROTECTED   The media in the device is write-protected. The transfer\r
                                 was aborted since a write cannot be completed.\r
   @retval EFI_INVALID_PARAMETER A NULL Buffer was specified with a non-zero\r
-                                BufferSize or the device is operating in fixed block\r
+                                BufferSize, or the device is operating in fixed block\r
                                 size mode and the BufferSize was not a multiple of\r
                                 device's fixed block size\r
   @retval EFI_DEVICE_ERROR      A device error occurred while attempting to transfer data\r
@@ -111,12 +108,11 @@ EFI_STATUS
 **/\r
 typedef \r
 EFI_STATUS\r
-(EFIAPI *EFI_TAPE_WRITE) (\r
+(EFIAPI *EFI_TAPE_WRITE)(\r
   IN EFI_TAPE_IO_PROTOCOL *This,\r
   IN UINTN                *BufferSize,\r
   IN VOID                 *Buffer\r
-  )\r
-; \r
+  ); \r
   \r
 \r
 /**\r
@@ -135,10 +131,9 @@ EFI_STATUS
 **/\r
 typedef \r
 EFI_STATUS\r
-(EFIAPI *EFI_TAPE_REWIND) (\r
+(EFIAPI *EFI_TAPE_REWIND)(\r
   IN EFI_TAPE_IO_PROTOCOL *This\r
-  )\r
-;   \r
+  );   \r
 \r
 \r
 /**\r
@@ -147,6 +142,9 @@ EFI_STATUS
   @param  This      A pointer to the EFI_TAPE_IO_PROTOCOL instance.\r
   @param  Direction Direction and number of data blocks or filemarks to space over on media.\r
   @param  Type      Type of mark to space over on media.\r
+                    The following Type marks are mandatory:\r
+                    BLOCK type    : 0 \r
+                    FILEMARK type : 1\r
 \r
   @retval EFI_SUCCESS       The media was successfully repositioned.\r
   @retval EFI_END_OF_MEDIA  Beginning or end of media was reached before the\r
@@ -164,12 +162,11 @@ EFI_STATUS
 **/\r
 typedef\r
 EFI_STATUS\r
-(EFIAPI *EFI_TAPE_SPACE) (\r
+(EFIAPI *EFI_TAPE_SPACE)(\r
   IN EFI_TAPE_IO_PROTOCOL *This,\r
-  INTN                    Direction,\r
-  UINTN                   Type\r
-  )\r
-;   \r
+  IN INTN                 Direction,\r
+  IN UINTN                Type\r
+  );   \r
 \r
 \r
 /**\r
@@ -192,11 +189,10 @@ EFI_STATUS
 **/\r
 typedef \r
 EFI_STATUS\r
-(EFIAPI *EFI_TAPE_WRITEFM) (\r
+(EFIAPI *EFI_TAPE_WRITEFM)(\r
   IN EFI_TAPE_IO_PROTOCOL *This,\r
   IN UINTN                Count\r
-  )\r
-;   \r
+  );   \r
 \r
 \r
 /**\r
@@ -216,12 +212,17 @@ EFI_STATUS
 **/\r
 typedef \r
 EFI_STATUS\r
-(EFIAPI *EFI_TAPE_RESET) (\r
+(EFIAPI *EFI_TAPE_RESET)(\r
   IN EFI_TAPE_IO_PROTOCOL *This,\r
   IN BOOLEAN              ExtendedVerification\r
-  )\r
-;    \r
-\r
+  );    \r
+\r
+///\r
+/// The EFI_TAPE_IO_PROTOCOL provides basic sequential operations for tape devices. \r
+/// These include read, write, rewind, space, write filemarks and reset functions. \r
+/// Per this specification, a boot application uses the services of this protocol \r
+/// to load the bootloader image from tape.\r
+///\r
 struct _EFI_TAPE_IO_PROTOCOL {\r
   EFI_TAPE_READ           TapeRead;\r
   EFI_TAPE_WRITE          TapeWrite;\r