aboutsummaryrefslogtreecommitdiff
path: root/src/bin/pg_combinebackup/copy_file.h
blob: 3779edd5677934947ea46236de8ff87638cd4766 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/*
 * Copy entire files.
 *
 * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
 * Portions Copyright (c) 1994, Regents of the University of California
 *
 * src/bin/pg_combinebackup/copy_file.h
 *
 *-------------------------------------------------------------------------
 */
#ifndef COPY_FILE_H
#define COPY_FILE_H

#include "common/checksum_helper.h"

/*
 * Enumeration to denote copy modes.
 */
typedef enum CopyMethod
{
	COPY_METHOD_CLONE,
	COPY_METHOD_COPY,
	COPY_METHOD_COPY_FILE_RANGE,
#ifdef WIN32
	COPY_METHOD_COPYFILE,
#endif
	COPY_METHOD_LINK,
} CopyMethod;

extern void copy_file(const char *src, const char *dst,
					  pg_checksum_context *checksum_ctx,
					  CopyMethod copy_method, bool dry_run);

#endif							/* COPY_FILE_H */