]> git.proxmox.com Git - mirror_edk2.git/blame - EdkCompatibilityPkg/Foundation/Protocol/FaultTolerantWriteLite/FaultTolerantWriteLite.h
Update the copyright notice format
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Protocol / FaultTolerantWriteLite / FaultTolerantWriteLite.h
CommitLineData
3eb9473e 1/*++\r
2\r
f57387d5
HT
3Copyright (c) 2004, Intel Corporation. All rights reserved.<BR>\r
4This program and the accompanying materials \r
3eb9473e 5are licensed and made available under the terms and conditions of the BSD License \r
6which accompanies this distribution. The full text of the license may be found at \r
7http://opensource.org/licenses/bsd-license.php \r
8 \r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
11\r
12Module Name:\r
13\r
14 FaultTolerantWriteLite.h\r
15\r
16Abstract:\r
17\r
18 This is a simple fault tolerant write driver, based on PlatformFd library.\r
19 And it only supports write BufferSize <= SpareAreaLength.\r
20\r
21--*/\r
22\r
23#ifndef _FW_FAULT_TOLERANT_WRITE_LITE_PROTOCOL_H_\r
24#define _FW_FAULT_TOLERANT_WRITE_LITE_PROTOCOL_H_\r
25\r
26#define EFI_FTW_LITE_PROTOCOL_GUID \\r
7ccf38a3 27{ 0x3f557189, 0x8dae, 0x45ae, {0xa0, 0xb3, 0x2b, 0x99, 0xca, 0x7a, 0xa7, 0xa0} }\r
3eb9473e 28\r
29//\r
30// Forward reference for pure ANSI compatability\r
31//\r
32EFI_FORWARD_DECLARATION (EFI_FTW_LITE_PROTOCOL);\r
33\r
34//\r
35// Protocol API definitions\r
36//\r
37\r
38typedef\r
39EFI_STATUS\r
40(EFIAPI * EFI_FTW_LITE_WRITE) (\r
41 IN EFI_FTW_LITE_PROTOCOL *This,\r
42 IN EFI_HANDLE FvbHandle,\r
43 IN EFI_LBA Lba,\r
44 IN UINTN Offset,\r
45 IN UINTN *NumBytes,\r
46 IN VOID *Buffer\r
47 );\r
48/*++\r
49\r
50Routine Description:\r
51\r
52 Starts a target block update. This records information about the write \r
53 in fault tolerant storage and will complete the write in a recoverable \r
54 manner, ensuring at all times that either the original contents or \r
55 the modified contents are available.\r
56\r
57Arguments:\r
58\r
59 This - Calling context\r
60 FvBlockHandle - The handle of FVB protocol that provides services for \r
61 reading, writing, and erasing the target block.\r
62 Lba - The logical block address of the target block. \r
63 Offset - The offset within the target block to place the data.\r
64 Length - The number of bytes to write to the target block.\r
65 Buffer - The data to write.\r
66\r
67Returns:\r
68\r
69 EFI_SUCCESS - The function completed successfully\r
70 EFI_ABORTED - The function could not complete successfully.\r
71 EFI_BAD_BUFFER_SIZE - The write would span a block boundary, \r
72 which is not a valid action.\r
73 EFI_ACCESS_DENIED - No writes have been allocated.\r
74 EFI_NOT_READY - The last write has not been completed. \r
75 Restart () must be called to complete it.\r
76\r
77--*/\r
78\r
79//\r
80// Protocol declaration\r
81//\r
9c092841 82struct _EFI_FTW_LITE_PROTOCOL {\r
3eb9473e 83 EFI_FTW_LITE_WRITE Write;\r
9c092841 84};\r
3eb9473e 85\r
86extern EFI_GUID gEfiFaultTolerantWriteLiteProtocolGuid;\r
87\r
88#endif\r