|
|
@@ -9,6 +9,7 @@
|
|
|
|
|
|
#include <stdint.h>
|
|
|
#include <stdbool.h>
|
|
|
+#include "lfs_util.h"
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
extern "C"
|
|
|
@@ -180,6 +181,16 @@ struct lfs_config {
|
|
|
// are propogated to the user.
|
|
|
int (*sync)(const struct lfs_config *c);
|
|
|
|
|
|
+#ifdef LFS_THREADSAFE
|
|
|
+ // Lock the underlying block device. Negative error codes
|
|
|
+ // are propogated to the user.
|
|
|
+ int (*lock)(const struct lfs_config *c);
|
|
|
+
|
|
|
+ // Unlock the underlying block device. Negative error codes
|
|
|
+ // are propogated to the user.
|
|
|
+ int (*unlock)(const struct lfs_config *c);
|
|
|
+#endif
|
|
|
+
|
|
|
// Minimum size of a block read. All read operations will be a
|
|
|
// multiple of this value.
|
|
|
lfs_size_t read_size;
|