PostgreSQL Source Code  git master
parse_manifest.h
Go to the documentation of this file.
1 /*-------------------------------------------------------------------------
2  *
3  * parse_manifest.h
4  * Parse a backup manifest in JSON format.
5  *
6  * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
7  * Portions Copyright (c) 1994, Regents of the University of California
8  *
9  * src/include/common/parse_manifest.h
10  *
11  *-------------------------------------------------------------------------
12  */
13 
14 #ifndef PARSE_MANIFEST_H
15 #define PARSE_MANIFEST_H
16 
17 #include "access/xlogdefs.h"
18 #include "common/checksum_helper.h"
19 #include "mb/pg_wchar.h"
20 
24 
26  int manifest_version);
28  uint64 manifest_system_identifier);
30  char *pathname,
31  size_t size, pg_checksum_type checksum_type,
32  int checksum_length, uint8 *checksum_payload);
34  TimeLineID tli,
35  XLogRecPtr start_lsn, XLogRecPtr end_lsn);
37  const char *fmt,...) pg_attribute_printf(2, 3)
39 
41 {
42  void *private_data;
48 };
49 
51  char *buffer, size_t size);
54  JsonManifestParseIncrementalState *incstate, char *chunk, int size,
55  bool is_last);
57 
58 #endif
#define pg_attribute_printf(f, a)
Definition: c.h:191
unsigned char uint8
Definition: c.h:504
pg_checksum_type
uint64 chunk
static void const char * fmt
void(* json_manifest_per_wal_range_callback)(JsonManifestParseContext *, TimeLineID tli, XLogRecPtr start_lsn, XLogRecPtr end_lsn)
void(* json_manifest_per_file_callback)(JsonManifestParseContext *, char *pathname, size_t size, pg_checksum_type checksum_type, int checksum_length, uint8 *checksum_payload)
void(* json_manifest_system_identifier_callback)(JsonManifestParseContext *, uint64 manifest_system_identifier)
void(* pg_attribute_noreturn)()
void json_parse_manifest_incremental_chunk(JsonManifestParseIncrementalState *incstate, char *chunk, int size, bool is_last)
JsonManifestParseIncrementalState * json_parse_manifest_incremental_init(JsonManifestParseContext *context)
void(* json_manifest_version_callback)(JsonManifestParseContext *, int manifest_version)
void(* json_manifest_error_callback)(JsonManifestParseContext *, const char *fmt,...) pg_attribute_printf(2
void json_parse_manifest(JsonManifestParseContext *context, char *buffer, size_t size)
void json_parse_manifest_incremental_shutdown(JsonManifestParseIncrementalState *incstate)
tree context
Definition: radixtree.h:1829
static pg_noinline void Size size
Definition: slab.c:607
json_manifest_per_wal_range_callback per_wal_range_cb
json_manifest_system_identifier_callback system_identifier_cb
json_manifest_error_callback error_cb
json_manifest_per_file_callback per_file_cb
json_manifest_version_callback version_cb
uint64 XLogRecPtr
Definition: xlogdefs.h:21
uint32 TimeLineID
Definition: xlogdefs.h:59