]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ShellPkg/Library/UefiShellDebug1CommandsLib/HexEdit/BufferImage.h
add comments to function declarations and definitions and updated to match coding...
[mirror_edk2.git] / ShellPkg / Library / UefiShellDebug1CommandsLib / HexEdit / BufferImage.h
index 5e637ce700f46069a63431f874b858c3e4bd3357..91369b59318d5bcb841735154a7327b968ac7c83 100644 (file)
 \r
 #include "HexEditor.h"\r
 \r
+/**\r
+  Initialization function for HBufferImage\r
+\r
+  @retval EFI_SUCCESS       The operation was successful.\r
+  @retval EFI_LOAD_ERROR    A load error occured.\r
+**/\r
 EFI_STATUS\r
 HBufferImageInit (\r
   VOID\r
   );\r
+\r
+/**\r
+  Cleanup function for HBufferImage\r
+\r
+  @retval EFI_SUCCESS  The operation was successful.\r
+**/\r
 EFI_STATUS\r
 HBufferImageCleanup (\r
   VOID\r
   );\r
+\r
+/**\r
+  Refresh function for HBufferImage.\r
+\r
+  @retval EFI_SUCCESS     The operation was successful.\r
+  @retval EFI_LOAD_ERROR  A Load error occured.\r
+\r
+**/\r
 EFI_STATUS\r
 HBufferImageRefresh (\r
   VOID\r
   );\r
-EFI_STATUS\r
-HBufferImageHide (\r
-  VOID\r
-  );\r
+\r
+/**\r
+  Dispatch input to different handler\r
+\r
+  @param[in] Key    The input key:\r
+                     the keys can be:\r
+                       ASCII KEY\r
+                        Backspace/Delete\r
+                        Direction key: up/down/left/right/pgup/pgdn\r
+                        Home/End\r
+                        INS\r
+\r
+  @retval EFI_SUCCESS           The operation was successful.\r
+  @retval EFI_LOAD_ERROR        A load error occured.\r
+  @retval EFI_OUT_OF_RESOURCES  A Memory allocation failed.\r
+**/\r
 EFI_STATUS\r
 HBufferImageHandleInput (\r
-  EFI_INPUT_KEY *\r
+  IN  EFI_INPUT_KEY *Key\r
   );\r
+\r
+/**\r
+  Backup function for HBufferImage. Only a few fields need to be backup. \r
+  This is for making the file buffer refresh as few as possible.\r
+\r
+  @retval EFI_SUCCESS  The operation was successful.\r
+**/\r
 EFI_STATUS\r
 HBufferImageBackup (\r
   VOID\r
   );\r
 \r
+/**\r
+  Read an image into a buffer friom a source.\r
+\r
+  @param[in] FileName     Pointer to the file name.  OPTIONAL and ignored if not FileTypeFileBuffer.\r
+  @param[in] DiskName     Pointer to the disk name.  OPTIONAL and ignored if not FileTypeDiskBuffer.\r
+  @param[in] DiskOffset   Offset into the disk.  OPTIONAL and ignored if not FileTypeDiskBuffer.\r
+  @param[in] DiskSize     Size of the disk buffer.  OPTIONAL and ignored if not FileTypeDiskBuffer.\r
+  @param[in] MemOffset    Offset into the Memory.  OPTIONAL and ignored if not FileTypeMemBuffer.\r
+  @param[in] MemSize      Size of the Memory buffer.  OPTIONAL and ignored if not FileTypeMemBuffer.\r
+  @param[in] BufferType   The type of buffer to save.  IGNORED.\r
+  @param[in] Recover      TRUE for recovermode, FALSE otherwise.\r
+\r
+  @return EFI_SUCCESS     The operation was successful.\r
+**/\r
 EFI_STATUS\r
+EFIAPI\r
 HBufferImageRead (\r
-  IN CONST CHAR16   *,\r
-  IN CONST CHAR16   *,\r
-  IN          UINTN,\r
-  IN          UINTN,\r
-  IN          UINTN,\r
-  IN          UINTN,\r
-  IN          EDIT_FILE_TYPE,\r
-  IN          BOOLEAN\r
+  IN CONST CHAR16                   *FileName,\r
+  IN CONST CHAR16                   *DiskName,\r
+  IN UINTN                          DiskOffset,\r
+  IN UINTN                          DiskSize,\r
+  IN UINTN                          MemOffset,\r
+  IN UINTN                          MemSize,\r
+  IN EDIT_FILE_TYPE                 BufferType,\r
+  IN BOOLEAN                        Recover\r
   );\r
 \r
-EFI_STATUS\r
-HBufferImageSave (\r
-  IN CHAR16   *,\r
-  IN CHAR16   *,\r
-  IN          UINTN,\r
-  IN          UINTN,\r
-  IN          UINTN,\r
-  IN          UINTN,\r
-  IN          EDIT_FILE_TYPE\r
-  );\r
+/**\r
+  Save the current image.\r
 \r
-INTN\r
-HBufferImageCharToHex (\r
-  IN CHAR16\r
-  );\r
+  @param[in] FileName     Pointer to the file name.  OPTIONAL and ignored if not FileTypeFileBuffer.\r
+  @param[in] DiskName     Pointer to the disk name.  OPTIONAL and ignored if not FileTypeDiskBuffer.\r
+  @param[in] DiskOffset   Offset into the disk.  OPTIONAL and ignored if not FileTypeDiskBuffer.\r
+  @param[in] DiskSize     Size of the disk buffer.  OPTIONAL and ignored if not FileTypeDiskBuffer.\r
+  @param[in] MemOffset    Offset into the Memory.  OPTIONAL and ignored if not FileTypeMemBuffer.\r
+  @param[in] MemSize      Size of the Memory buffer.  OPTIONAL and ignored if not FileTypeMemBuffer.\r
+  @param[in] BufferType   The type of buffer to save.  IGNORED.\r
 \r
+  @return EFI_SUCCESS     The operation was successful.\r
+**/\r
 EFI_STATUS\r
-HBufferImageRestoreMousePosition (\r
-  VOID\r
-  );\r
-EFI_STATUS\r
-HBufferImageRestorePosition (\r
-  VOID\r
+HBufferImageSave (\r
+  IN CHAR16                         *FileName,\r
+  IN CHAR16                         *DiskName,\r
+  IN UINTN                          DiskOffset,\r
+  IN UINTN                          DiskSize,\r
+  IN UINTN                          MemOffset,\r
+  IN UINTN                          MemSize,\r
+  IN EDIT_FILE_TYPE                 BufferType\r
   );\r
 \r
+/**\r
+  According to cursor's file position, adjust screen display.\r
+\r
+  @param[in] NewFilePosRow    Row of file position ( start from 1 ).\r
+  @param[in] NewFilePosCol    Column of file position ( start from 1 ).\r
+  @param[in] HighBits         Cursor will on high4 bits or low4 bits.\r
+**/\r
 VOID\r
 HBufferImageMovePosition (\r
-  IN UINTN,\r
-  IN UINTN,\r
-  IN BOOLEAN\r
+  IN UINTN    NewFilePosRow,\r
+  IN UINTN    NewFilePosCol,\r
+  IN BOOLEAN  HighBits\r
   );\r
 \r
-EFI_STATUS\r
-HBufferImageHandleInput (\r
-  EFI_INPUT_KEY *\r
-  );\r
 \r
-HEFI_EDITOR_LINE  *\r
-HBufferImageCreateLine (\r
-  VOID\r
-  );\r
+/**\r
+  Create a new line and append it to the line list.\r
+    Fields affected:\r
+    NumLines\r
+    Lines \r
 \r
-EFI_STATUS\r
-HBufferImageDoCharInput (\r
-  CHAR16\r
-  );\r
-EFI_STATUS\r
-HBufferImageAddChar (\r
-  CHAR16\r
-  );\r
+  @retval NULL    create line failed.\r
+  @return         the line created.\r
 \r
-BOOLEAN\r
-HInCurrentScreen (\r
-  UINTN\r
-  );\r
-BOOLEAN\r
-HAboveCurrentScreen (\r
-  UINTN\r
-  );\r
-BOOLEAN\r
-HUnderCurrentScreen (\r
-  UINTN\r
-  );\r
-\r
-EFI_STATUS\r
-HBufferImageScrollRight (\r
-  VOID\r
-  );\r
-EFI_STATUS\r
-HBufferImageScrollLeft (\r
-  VOID\r
-  );\r
-EFI_STATUS\r
-HBufferImageScrollDown (\r
-  VOID\r
-  );\r
-EFI_STATUS\r
-HBufferImageScrollUp (\r
-  VOID\r
-  );\r
-EFI_STATUS\r
-HBufferImagePageUp (\r
-  VOID\r
-  );\r
-EFI_STATUS\r
-HBufferImagePageDown (\r
-  VOID\r
-  );\r
-EFI_STATUS\r
-HBufferImageHome (\r
-  VOID\r
-  );\r
-EFI_STATUS\r
-HBufferImageEnd (\r
-  VOID\r
-  );\r
-\r
-EFI_STATUS\r
-HBufferImageDoBackspace (\r
-  VOID\r
-  );\r
-EFI_STATUS\r
-HBufferImageDoDelete (\r
-  VOID\r
-  );\r
-\r
-EFI_STATUS\r
-HBufferImageCutLine (\r
-  HEFI_EDITOR_LINE **\r
-  );\r
-EFI_STATUS\r
-HBufferImagePasteLine (\r
+**/\r
+HEFI_EDITOR_LINE  *\r
+HBufferImageCreateLine (\r
   VOID\r
   );\r
 \r
-EFI_STATUS\r
-HBufferImageGetFileInfo (\r
-  EFI_FILE_HANDLE,\r
-  CHAR16          *,\r
-  EFI_FILE_INFO   **\r
-  );\r
-\r
-EFI_STATUS\r
-HBufferImageSearch (\r
-  CHAR16  *,\r
-  UINTN\r
-  );\r
-EFI_STATUS\r
-HBufferImageReplace (\r
-  CHAR16  *,\r
-  UINTN\r
-  );\r
-\r
-/**
+/**\r
   Free the current image.\r
 \r
   @retval EFI_SUCCESS   The operation was successful.\r
@@ -198,58 +173,105 @@ HBufferImageFree (
   VOID\r
   );\r
 \r
+/**\r
+  Delete character from buffer.\r
+  \r
+  @param[in] Pos      Position, Pos starting from 0.\r
+  @param[in] Count    The Count of characters to delete.\r
+  @param[out] DeleteBuffer    The DeleteBuffer.\r
+\r
+  @retval EFI_SUCCESS Success \r
+**/\r
 EFI_STATUS\r
 HBufferImageDeleteCharacterFromBuffer (\r
-  IN      UINTN,\r
-  IN      UINTN,\r
-  UINT8   *\r
+  IN  UINTN         Pos,\r
+  IN  UINTN         Count,\r
+  OUT UINT8         *DeleteBuffer\r
   );\r
 \r
+/**\r
+  Add character to buffer, add before pos.\r
+\r
+  @param[in] Pos        Position, Pos starting from 0.\r
+  @param[in] Count      Count of characters to add.\r
+  @param[in] AddBuffer  Add buffer.\r
+\r
+  @retval EFI_SUCCESS   Success.  \r
+**/\r
 EFI_STATUS\r
 HBufferImageAddCharacterToBuffer (\r
-  IN      UINTN,\r
-  IN      UINTN,\r
-  UINT8   *\r
+  IN  UINTN          Pos,\r
+  IN  UINTN          Count,\r
+  IN  UINT8          *AddBuffer\r
   );\r
 \r
+/**\r
+  Change the raw buffer to a list of lines for the UI.\r
+  \r
+  @param[in] Buffer   The pointer to the buffer to fill.\r
+  @param[in] Bytes    The size of the buffer in bytes.\r
+\r
+  @retval EFI_SUCCESS           The operation was successful.\r
+  @retval EFI_OUT_OF_RESOURCES  A memory allocation failed.\r
+**/\r
 EFI_STATUS\r
+EFIAPI\r
 HBufferImageBufferToList (\r
-  IN VOID   *,\r
-  IN        UINTN\r
+  IN VOID   *Buffer,\r
+  IN UINTN  Bytes\r
   );\r
 \r
+/**\r
+  Change the list of lines from the UI to a raw buffer.\r
+  \r
+  @param[in] Buffer   The pointer to the buffer to fill.\r
+  @param[in] Bytes    The size of the buffer in bytes.\r
+\r
+  @retval EFI_SUCCESS   The operation was successful.\r
+**/\r
 EFI_STATUS\r
+EFIAPI\r
 HBufferImageListToBuffer (\r
-  IN VOID   *,\r
-  IN        UINTN\r
+  IN VOID   *Buffer,\r
+  IN UINTN  Bytes\r
   );\r
 \r
+/**\r
+  Move the mouse in the image buffer.\r
+\r
+  @param[in] TextX    The x-coordinate.\r
+  @param[in] TextY    The y-coordinate.\r
+**/\r
 VOID\r
+EFIAPI\r
 HBufferImageAdjustMousePosition (\r
-  INT32,\r
-  INT32\r
+  IN INT32 TextX,\r
+  IN INT32 TextY\r
   );\r
 \r
+/**\r
+  Function to decide if a column number is stored in the high bits.\r
+\r
+  @param[in] Column     The column to examine.\r
+  @param[out] FCol      The actual column number.\r
+\r
+  @retval TRUE      The actual column was in high bits and is now in FCol.\r
+  @retval FALSE     There was not a column number in the high bits.\r
+**/\r
 BOOLEAN\r
 HBufferImageIsAtHighBits (\r
-  UINTN,\r
-  UINTN *\r
-  ) ;\r
-\r
-EFI_STATUS\r
-HBufferImageCutLine (\r
-  HEFI_EDITOR_LINE **\r
+  IN  UINTN Column,\r
+  OUT UINTN *FCol\r
   );\r
 \r
+/**\r
+  Get the size of the open buffer.\r
+\r
+  @retval The size in bytes.\r
+**/\r
 UINTN\r
 HBufferImageGetTotalSize (\r
   VOID\r
   );\r
 \r
-BOOLEAN\r
-HBufferImageIsInSelectedArea (\r
-  UINTN,\r
-  UINTN\r
-  );\r
-\r
 #endif\r