/** @file | |
Functions to deal with Clip Board | |
Copyright (c) 2005 - 2011, Intel Corporation. All rights reserved. <BR> | |
This program and the accompanying materials | |
are licensed and made available under the terms and conditions of the BSD License | |
which 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. | |
**/ | |
#include "HexEditor.h" | |
typedef struct { | |
UINT8 *Buffer; | |
UINTN Size; | |
} HEFI_EDITOR_CLIPBOARD; | |
HEFI_EDITOR_CLIPBOARD HClipBoard; | |
// | |
// for basic initialization of HClipBoard | |
// | |
HEFI_EDITOR_CLIPBOARD HClipBoardConst = { | |
NULL, | |
0 | |
}; | |
/** | |
Initialization function for HDiskImage. | |
@param[in] EFI_SUCCESS The operation was successful. | |
@param[in] EFI_LOAD_ERROR A load error occured. | |
**/ | |
EFI_STATUS | |
HClipBoardInit ( | |
VOID | |
) | |
{ | |
// | |
// basiclly initialize the HDiskImage | |
// | |
CopyMem (&HClipBoard, &HClipBoardConst, sizeof (HClipBoard)); | |
return EFI_SUCCESS; | |
} | |
/** | |
Initialization function for HDiskImage. | |
@param[in] EFI_SUCCESS The operation was successful. | |
@param[in] EFI_LOAD_ERROR A load error occured. | |
**/ | |
EFI_STATUS | |
HClipBoardCleanup ( | |
VOID | |
) | |
{ | |
SHELL_FREE_NON_NULL (HClipBoard.Buffer); | |
return EFI_SUCCESS; | |
} | |
/** | |
Set a buffer into the clipboard. | |
@param[in] Buffer The buffer to add to the clipboard. | |
@param[in] Size The size of Buffer in bytes. | |
@retval EFI_SUCCESS The operation was successful. | |
**/ | |
EFI_STATUS | |
HClipBoardSet ( | |
IN UINT8 *Buffer, | |
IN UINTN Size | |
) | |
{ | |
// | |
// free the old clipboard buffer | |
// and set new clipboard buffer | |
// | |
SHELL_FREE_NON_NULL (HClipBoard.Buffer); | |
HClipBoard.Buffer = Buffer; | |
HClipBoard.Size = Size; | |
return EFI_SUCCESS; | |
} | |
/** | |
Get a buffer from the clipboard. | |
@param[out] Buffer The pointer to the buffer to add to the clipboard. | |
@return the size of the buffer. | |
**/ | |
UINTN | |
HClipBoardGet ( | |
OUT UINT8 **Buffer | |
) | |
{ | |
// | |
// return the clipboard buffer | |
// | |
*Buffer = HClipBoard.Buffer; | |
return HClipBoard.Size; | |
} |