syslog-ng source
persist-state.h File Reference
#include "syslog-ng.h"
Include dependency graph for persist-state.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  PersistFileHeader
 
struct  PersistStateErrorHandler
 
struct  PersistEntry
 
struct  PersistState
 

Typedefs

typedef guint32 PersistEntryHandle
 
typedef void(* PersistStateForeachFunc) (gchar *name, gint entry_size, gpointer entry, gpointer userdata)
 

Functions

gpointer persist_state_map_entry (PersistState *self, PersistEntryHandle handle)
 
void persist_state_unmap_entry (PersistState *self, PersistEntryHandle handle)
 
PersistEntryHandle persist_state_alloc_entry (PersistState *self, const gchar *persist_name, gsize alloc_size)
 
PersistEntryHandle persist_state_lookup_entry (PersistState *self, const gchar *persist_name, gsize *size, guint8 *version)
 
gboolean persist_state_entry_exists (PersistState *self, const gchar *persist_name)
 
gboolean persist_state_remove_entry (PersistState *self, const gchar *persist_name)
 
gchar * persist_state_lookup_string (PersistState *self, const gchar *key, gsize *length, guint8 *version)
 
gboolean persist_state_rename_entry (PersistState *self, const gchar *old_key, const gchar *new_key)
 
gboolean persist_state_copy_entry (PersistState *self, const gchar *old_key, const gchar *new_key)
 
gboolean persist_state_move_entry (PersistState *self, const gchar *old_key, const gchar *new_key)
 
void persist_state_alloc_string (PersistState *self, const gchar *persist_name, const gchar *value, gssize len)
 
void persist_state_free_entry (PersistEntryHandle handle)
 
void persist_state_foreach_entry (PersistState *self, PersistStateForeachFunc func, gpointer userdata)
 
gboolean persist_state_start (PersistState *self)
 
gboolean persist_state_start_edit (PersistState *self)
 
gboolean persist_state_start_dump (PersistState *self)
 
const gchar * persist_state_get_filename (PersistState *self)
 
gboolean persist_state_commit (PersistState *self)
 
void persist_state_cancel (PersistState *self)
 
PersistState * persist_state_new (const gchar *filename)
 
void persist_state_free (PersistState *self)
 
void persist_state_set_global_error_handler (PersistState *self, void(*handler)(gpointer user_data), gpointer user_data)
 

Typedef Documentation

◆ PersistEntryHandle

typedef guint32 PersistEntryHandle

◆ PersistStateForeachFunc

typedef void(* PersistStateForeachFunc) (gchar *name, gint entry_size, gpointer entry, gpointer userdata)

Function Documentation

◆ persist_state_alloc_entry()

PersistEntryHandle persist_state_alloc_entry ( PersistState *  self,
const gchar *  persist_name,
gsize  alloc_size 
)

◆ persist_state_alloc_string()

void persist_state_alloc_string ( PersistState *  self,
const gchar *  persist_name,
const gchar *  value,
gssize  len 
)

◆ persist_state_cancel()

void persist_state_cancel ( PersistState *  self)

◆ persist_state_commit()

gboolean persist_state_commit ( PersistState *  self)

◆ persist_state_copy_entry()

gboolean persist_state_copy_entry ( PersistState *  self,
const gchar *  old_key,
const gchar *  new_key 
)

◆ persist_state_entry_exists()

gboolean persist_state_entry_exists ( PersistState *  self,
const gchar *  persist_name 
)

◆ persist_state_foreach_entry()

void persist_state_foreach_entry ( PersistState *  self,
PersistStateForeachFunc  func,
gpointer  userdata 
)

◆ persist_state_free()

void persist_state_free ( PersistState *  self)

◆ persist_state_free_entry()

void persist_state_free_entry ( PersistEntryHandle  handle)

◆ persist_state_get_filename()

const gchar* persist_state_get_filename ( PersistState *  self)

◆ persist_state_lookup_entry()

PersistEntryHandle persist_state_lookup_entry ( PersistState *  self,
const gchar *  persist_name,
gsize *  size,
guint8 *  version 
)

◆ persist_state_lookup_string()

gchar* persist_state_lookup_string ( PersistState *  self,
const gchar *  key,
gsize *  length,
guint8 *  version 
)

◆ persist_state_map_entry()

gpointer persist_state_map_entry ( PersistState *  self,
PersistEntryHandle  handle 
)

All persistent data accesses must be guarded by a _map and _unmap call in order to get a dereferencable pointer. It is not safe to save this pointer for longer terms as the underlying mapping may change when the file grows.

Threading NOTE: this can be called from any kind of threads.

NOTE: it is not safe to keep an entry mapped while synchronizing with the main thread (e.g. mutexes, condvars, main_loop_call()), because map_entry() may block the main thread in _grow_store().

◆ persist_state_move_entry()

gboolean persist_state_move_entry ( PersistState *  self,
const gchar *  old_key,
const gchar *  new_key 
)

◆ persist_state_new()

PersistState* persist_state_new ( const gchar *  filename)

◆ persist_state_remove_entry()

gboolean persist_state_remove_entry ( PersistState *  self,
const gchar *  persist_name 
)

◆ persist_state_rename_entry()

gboolean persist_state_rename_entry ( PersistState *  self,
const gchar *  old_key,
const gchar *  new_key 
)

◆ persist_state_set_global_error_handler()

void persist_state_set_global_error_handler ( PersistState *  self,
void(*)(gpointer user_data)  handler,
gpointer  user_data 
)

◆ persist_state_start()

gboolean persist_state_start ( PersistState *  self)

◆ persist_state_start_dump()

gboolean persist_state_start_dump ( PersistState *  self)

◆ persist_state_start_edit()

gboolean persist_state_start_edit ( PersistState *  self)

◆ persist_state_unmap_entry()

void persist_state_unmap_entry ( PersistState *  self,
PersistEntryHandle  handle 
)