]> git.proxmox.com Git - mirror_edk2.git/blob - ShellPkg/Library/UefiShellDebug1CommandsLib/HexEdit/Clipboard.c
add comments to function declarations and definitions and updated to match coding...
[mirror_edk2.git] / ShellPkg / Library / UefiShellDebug1CommandsLib / HexEdit / Clipboard.c
1 /** @file
2 Functions to deal with Clip Board
3
4 Copyright (c) 2005 - 2011, Intel Corporation. All rights reserved. <BR>
5 This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13 **/
14
15 #include "HexEditor.h"
16
17 typedef struct {
18 UINT8 *Buffer;
19 UINTN Size;
20 } HEFI_EDITOR_CLIPBOARD;
21
22 HEFI_EDITOR_CLIPBOARD HClipBoard;
23
24 //
25 // for basic initialization of HClipBoard
26 //
27 HEFI_EDITOR_CLIPBOARD HClipBoardConst = {
28 NULL,
29 0
30 };
31
32 /**
33 Initialization function for HDiskImage.
34
35 @param[in] EFI_SUCCESS The operation was successful.
36 @param[in] EFI_LOAD_ERROR A load error occured.
37 **/
38 EFI_STATUS
39 HClipBoardInit (
40 VOID
41 )
42 {
43 //
44 // basiclly initialize the HDiskImage
45 //
46 CopyMem (&HClipBoard, &HClipBoardConst, sizeof (HClipBoard));
47
48 return EFI_SUCCESS;
49 }
50
51 /**
52 Initialization function for HDiskImage.
53
54 @param[in] EFI_SUCCESS The operation was successful.
55 @param[in] EFI_LOAD_ERROR A load error occured.
56 **/
57 EFI_STATUS
58 HClipBoardCleanup (
59 VOID
60 )
61 {
62
63 SHELL_FREE_NON_NULL (HClipBoard.Buffer);
64
65 return EFI_SUCCESS;
66 }
67
68 /**
69 Set a buffer into the clipboard.
70
71 @param[in] Buffer The buffer to add to the clipboard.
72 @param[in] Size The size of Buffer in bytes.
73
74 @retval EFI_SUCCESS The operation was successful.
75 **/
76 EFI_STATUS
77 HClipBoardSet (
78 IN UINT8 *Buffer,
79 IN UINTN Size
80 )
81 {
82 //
83 // free the old clipboard buffer
84 // and set new clipboard buffer
85 //
86 SHELL_FREE_NON_NULL (HClipBoard.Buffer);
87 HClipBoard.Buffer = Buffer;
88
89 HClipBoard.Size = Size;
90
91 return EFI_SUCCESS;
92 }
93
94 /**
95 Get a buffer from the clipboard.
96
97 @param[out] Buffer The pointer to the buffer to add to the clipboard.
98
99 @return the size of the buffer.
100 **/
101 UINTN
102 HClipBoardGet (
103 OUT UINT8 **Buffer
104 )
105 {
106 //
107 // return the clipboard buffer
108 //
109 *Buffer = HClipBoard.Buffer;
110
111 return HClipBoard.Size;
112 }