15#ifndef OC_STORAGE_LIB_H
16#define OC_STORAGE_LIB_H
18#include <Library/BaseOverflowLib.h>
26#define OC_STORAGE_VAULT_PATH L"vault.plist"
31#define OC_STORAGE_VAULT_SIGNATURE_PATH L"vault.sig"
36#define OC_STORAGE_VAULT_VERSION 1
41#define OC_STORAGE_SAFE_PATH_MAX 128
46#define OC_STORAGE_VAULT_HASH_FIELDS(_, __) \
47 _(UINT8 , Hash , [SHA256_DIGEST_SIZE] , {0} , () )
50#define OC_STORAGE_VAULT_FILES_FIELDS(_, __) \
51 OC_MAP (OC_STRING, OC_STORAGE_VAULT_HASH, _, __)
54#define OC_STORAGE_VAULT_FIELDS(_, __) \
55 _(UINT32 , Version , , 0 , () ) \
56 _(OC_STORAGE_VAULT_FILES , Files , , OC_CONSTR (OC_STORAGE_VAULT_FILES, _, __) , OC_DESTR (OC_STORAGE_VAULT_FILES))
120 IN EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *FileSystem,
121 IN EFI_HANDLE StorageHandle OPTIONAL,
122 IN EFI_DEVICE_PATH_PROTOCOL *StoragePath OPTIONAL,
123 IN CONST CHAR16 *StorageRoot,
168 OUT UINT32 *FileSize OPTIONAL
187 OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath,
188 OUT EFI_HANDLE *StorageHandle,
189 OUT EFI_DEVICE_PATH_PROTOCOL **StoragePath,
DMG_FILEPATH_DEVICE_PATH FilePath
BOOLEAN OcStorageExistsFileUnicode(IN OC_STORAGE_CONTEXT *Context, IN CONST CHAR16 *FilePath)
EFI_STATUS OcStorageInitFromFs(OUT OC_STORAGE_CONTEXT *Context, IN EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *FileSystem, IN EFI_HANDLE StorageHandle OPTIONAL, IN EFI_DEVICE_PATH_PROTOCOL *StoragePath OPTIONAL, IN CONST CHAR16 *StorageRoot, IN OC_RSA_PUBLIC_KEY *StorageKey OPTIONAL)
VOID * OcStorageReadFileUnicode(IN OC_STORAGE_CONTEXT *Context, IN CONST CHAR16 *FilePath, OUT UINT32 *FileSize OPTIONAL)
EFI_STATUS OcStorageGetInfo(IN OC_STORAGE_CONTEXT *Context, IN CONST CHAR16 *FilePath, OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath, OUT EFI_HANDLE *StorageHandle, OUT EFI_DEVICE_PATH_PROTOCOL **StoragePath, IN BOOLEAN RealPath)
VOID OcStorageFree(IN OUT OC_STORAGE_CONTEXT *Context)
EFI_FILE_PROTOCOL * Storage
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL * FileSystem
EFI_DEVICE_PATH_PROTOCOL * DummyFilePath
EFI_DEVICE_PATH_PROTOCOL * DummyDevicePath
EFI_DEVICE_PATH_PROTOCOL * StoragePath
CONST CHAR16 * StorageRoot
EFI_HANDLE DummyStorageHandle