30 lines
1.1 KiB
C
30 lines
1.1 KiB
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* file_ops.h
|
|
* Helper functions for operating on files
|
|
*
|
|
* Copyright (c) 2013-2024, PostgreSQL Global Development Group
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
#ifndef FILE_OPS_H
|
|
#define FILE_OPS_H
|
|
|
|
#include "filemap.h"
|
|
|
|
extern void open_target_file(const char *path, bool trunc);
|
|
extern void write_target_range(char *buf, off_t begin, size_t size);
|
|
extern void close_target_file(void);
|
|
extern void remove_target_file(const char *path, bool missing_ok);
|
|
extern void truncate_target_file(const char *path, off_t newsize);
|
|
extern void create_target(file_entry_t *entry);
|
|
extern void remove_target(file_entry_t *entry);
|
|
extern void sync_target_dir(void);
|
|
|
|
extern char *slurpFile(const char *datadir, const char *path, size_t *filesize);
|
|
|
|
typedef void (*process_file_callback_t) (const char *path, file_type_t type, size_t size, const char *link_target);
|
|
extern void traverse_datadir(const char *datadir, process_file_callback_t callback);
|
|
|
|
#endif /* FILE_OPS_H */
|