# journal Struct Reference

`#include <journal.h>`

Collaboration diagram for journal:

[legend]

## Data Fields
struct dataflash_device * | storage
unsigned int | start
unsigned int | length
unsigned int | last_location
unsigned int | current_location
unsigned long | flags
unsigned int | status
journal_callback_t | callback
void * | context
struct buffer | entry_buffer
struct dataflash_request | request
struct journal_entry * | current_entry
uint16_t | magic_number
unsigned int | search_mode

## Detailed Description

For internal use only.

Journal description struct

Definition at line 78 of file journal.h.

## Field Documentation

journal_callback_t journal::callback

Callback function called when the current operation is done

Definition at line 97 of file journal.h.

Referenced by journal_clean_last_entry(), journal_commit_card(), journal_get_last_entry(), and journal_open_entry().

void* journal::context

Data pointer passed to the callback

Definition at line 99 of file journal.h.

Referenced by journal_clean_last_entry(), journal_commit_card(), journal_get_last_entry(), and journal_open_entry().

struct journal_entry* journal::current_entry`[read]`

Entry currently in the process of being written

Definition at line 107 of file journal.h.

Referenced by journal_clean_last_entry(), journal_commit_card(), journal_get_last_entry(), and journal_open_entry().

unsigned int journal::current_location

Next location to write to

Definition at line 91 of file journal.h.

Referenced by journal_clean_last_entry(), journal_find_last_entry(), and journal_open_entry().

struct buffer journal::entry_buffer`[read]`

Buffer used for dataflash access

Definition at line 102 of file journal.h.

Referenced by journal_clean_last_entry(), journal_commit_card(), journal_find_last_entry(), journal_init(), and journal_open_entry().

unsigned long journal::flags

Flags controlling journal operation

Definition at line 93 of file journal.h.

Referenced by journal_close_entry(), journal_commit_card(), journal_find_last_entry(), journal_get_last_entry(), and journal_is_empty().

unsigned int journal::last_location

Last location used. This variable will be reconstructed by journal_init() when recovering from power loss

Definition at line 89 of file journal.h.

Referenced by journal_commit_card(), and journal_find_last_entry().

unsigned int journal::length

Length of dataflash area available to the journal

Definition at line 84 of file journal.h.

Referenced by journal_find_last_entry(), and journal_init().

uint16_t journal::magic_number

Temporary storage used when searching for journal entries

Definition at line 109 of file journal.h.

Referenced by journal_find_last_entry().

struct dataflash_request journal::request`[read]`

Dataflash request used for dataflash access

Definition at line 104 of file journal.h.

Referenced by journal_clean_last_entry(), journal_commit_card(), journal_find_last_entry(), journal_get_last_entry(), journal_init(), and journal_open_entry().

unsigned int journal::search_mode

State variable used when searching for journal entries

Definition at line 111 of file journal.h.

Referenced by journal_find_last_entry(), and journal_get_last_entry().

unsigned int journal::start

First dataflash byte available to the journal

Definition at line 82 of file journal.h.

Referenced by journal_find_last_entry(), and journal_init().

unsigned int journal::status

Current status of the journal

Definition at line 95 of file journal.h.

Referenced by journal_clean_last_entry(), journal_close_entry(), journal_commit_card(), journal_get_last_entry(), journal_init(), and journal_open_entry().

struct dataflash_device* journal::storage`[read]`

Dataflash used for storing the journal entries

Definition at line 80 of file journal.h.

Referenced by journal_find_last_entry(), journal_get_next_address(), and journal_init().

The documentation for this struct was generated from the following file:

- include/block/journal.h