1/*-------------------------------------------------------------------------
2 *
3 * pg_backup_utils.h
4 * Utility routines shared by pg_dump and pg_restore.
5 *
6 *
7 * Portions Copyright (c) 1996-2019, PostgreSQL Global Development Group
8 * Portions Copyright (c) 1994, Regents of the University of California
9 *
10 * src/bin/pg_dump/pg_backup_utils.h
11 *
12 *-------------------------------------------------------------------------
13 */
14
15#ifndef PG_BACKUP_UTILS_H
16#define PG_BACKUP_UTILS_H
17
18#include "common/logging.h"
19
20typedef enum /* bits returned by set_dump_section */
21{
22 DUMP_PRE_DATA = 0x01,
23 DUMP_DATA = 0x02,
24 DUMP_POST_DATA = 0x04,
25 DUMP_UNSECTIONED = 0xff
26} DumpSections;
27
28typedef void (*on_exit_nicely_callback) (int code, void *arg);
29
30extern const char *progname;
31
32extern void set_dump_section(const char *arg, int *dumpSections);
33extern void on_exit_nicely(on_exit_nicely_callback function, void *arg);
34extern void exit_nicely(int code) pg_attribute_noreturn();
35
36#define fatal(...) do { pg_log_error(__VA_ARGS__); exit_nicely(1); } while(0)
37
38#endif /* PG_BACKUP_UTILS_H */
39