blob: 70d0a54d146406a2f779578e17ca83d9ed6f9750 [file] [log] [blame] [edit]
/* Copyright 2023 The Chromium OS Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#ifndef __STARFISH_SIM_PERSIST_H__
#define __STARFISH_SIM_PERSIST_H__
struct storage_result {
void *buffer;
size_t bufferSize;
size_t minSize;
size_t maxSize;
size_t size;
};
#define INIT_STORAGE_RESULT(data) \
{ \
.buffer = &data, .bufferSize = sizeof(data), .minSize = sizeof(data), \
.maxSize = sizeof(data), \
}
#define SIM_ERASE_FIELD(name) sim_persist_save(name, NULL, 0)
#define SIM_SAVE_FIELD(name, data) sim_persist_save(name, &data, sizeof(data))
bool sim_persist_load(const char *key, struct storage_result *result);
bool sim_persist_save(const char *key, const void *src, size_t len);
bool sim_persist_erase(void);
void sim_persist_status(void);
#endif /* __STARFISH_SIM_PERSIST_H__ */