Rtos API example

Embed: (wiki syntax)

« Back to documentation index

FlashJournal_Ops_t Struct Reference

FlashJournal_Ops_t Struct Reference

This is the set of operations offered by the flash-journal abstraction. More...

#include <flash_journal.h>

Data Fields

int32_t(* initialize )(struct FlashJournal_t *journal, ARM_DRIVER_STORAGE *mtd, const struct FlashJournal_Ops_t *ops, FlashJournal_Callback_t callback)
 Initialize the flash journal.
FlashJournal_Status_t(* getInfo )(struct FlashJournal_t *journal, FlashJournal_Info_t *info)
 fetch journal metadata.
int32_t(* read )(struct FlashJournal_t *journal, void *buffer, size_t size)
 Read from the most recently logged blob.
int32_t(* readFrom )(struct FlashJournal_t *journal, size_t offset, void *buffer, size_t size)
 Read from the most recently logged blob from a particular offset.
int32_t(* log )(struct FlashJournal_t *journal, const void *blob, size_t size)
 Start logging a new blob or append to the one currently being logged.
int32_t(* commit )(struct FlashJournal_t *journal)
 commit a blob accumulated through a non-empty sequence of previously successful log() operations.
int32_t(* reset )(struct FlashJournal_t *journal)
 Reset the journal.

Detailed Description

This is the set of operations offered by the flash-journal abstraction.

A set of implementations for these operations defines a logging strategy.

Definition at line 147 of file flash_journal.h.


Field Documentation

int32_t(* commit)(struct FlashJournal_t *journal)

commit a blob accumulated through a non-empty sequence of previously successful log() operations.

Refer to FlashJournal_commit.

Definition at line 180 of file flash_journal.h.

FlashJournal_Status_t(* getInfo)(struct FlashJournal_t *journal, FlashJournal_Info_t *info)

fetch journal metadata.

Refer to FlashJournal_getInfo.

Definition at line 159 of file flash_journal.h.

int32_t(* initialize)(struct FlashJournal_t *journal, ARM_DRIVER_STORAGE *mtd, const struct FlashJournal_Ops_t *ops, FlashJournal_Callback_t callback)

Initialize the flash journal.

Refer to FlashJournal_initialize.

Definition at line 151 of file flash_journal.h.

int32_t(* log)(struct FlashJournal_t *journal, const void *blob, size_t size)

Start logging a new blob or append to the one currently being logged.

Refer to FlashJournal_log.

Definition at line 174 of file flash_journal.h.

int32_t(* read)(struct FlashJournal_t *journal, void *buffer, size_t size)

Read from the most recently logged blob.

Refer to FlashJournal_read.

Definition at line 164 of file flash_journal.h.

int32_t(* readFrom)(struct FlashJournal_t *journal, size_t offset, void *buffer, size_t size)

Read from the most recently logged blob from a particular offset.

Refer to FlashJournal_readFrom.

Definition at line 169 of file flash_journal.h.

int32_t(* reset)(struct FlashJournal_t *journal)

Reset the journal.

This has the effect of erasing all valid blobs. Refer to FlashJournal_reset.

Definition at line 186 of file flash_journal.h.