1 /*-------------------------------------------------------------------------
2  *
3  * pg_backup_utils.h
4  *	Utility routines shared by pg_dump and pg_restore.
5  *
6  *
7  * Portions Copyright (c) 1996-2021, 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 
20 /* bits returned by set_dump_section */
21 #define DUMP_PRE_DATA		0x01
22 #define DUMP_DATA			0x02
23 #define DUMP_POST_DATA		0x04
24 #define DUMP_UNSECTIONED	0xff
25 
26 typedef void (*on_exit_nicely_callback) (int code, void *arg);
27 
28 extern const char *progname;
29 
30 extern void set_dump_section(const char *arg, int *dumpSections);
31 extern void on_exit_nicely(on_exit_nicely_callback function, void *arg);
32 extern void exit_nicely(int code) pg_attribute_noreturn();
33 
34 #define fatal(...) do { pg_log_error(__VA_ARGS__); exit_nicely(1); } while(0)
35 
36 #endif							/* PG_BACKUP_UTILS_H */
37