Newer
Older
/*
Copyright 2018-2019, Barcelona Supercomputing Center (BSC), Spain
Copyright 2015-2019, Johannes Gutenberg Universitaet Mainz, Germany
This software was partially supported by the
EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu).
This software was partially supported by the
ADA-FS project under the SPPEXA project funded by the DFG.
SPDX-License-Identifier: MIT
*/
#ifndef GEKKOFS_PRELOAD_C_METADENTRY_HPP
#define GEKKOFS_PRELOAD_C_METADENTRY_HPP
#include <string>
/* Forward declaration */
struct MetadentryUpdateFlags;
int mk_node(const std::string& path, mode_t mode);
int stat(const std::string& path, std::string& attr);
int rm_node(const std::string& path, const bool remove_metadentry_only, const ssize_t size);
int decr_size(const std::string& path, size_t length);
int update_metadentry(const std::string& path, const Metadata& md, const MetadentryUpdateFlags& md_flags);
int update_metadentry_size(const std::string& path, size_t size, off64_t offset, bool append_flag,
int get_metadentry_size(const std::string& path, off64_t& ret_size);
void get_dirents(OpenDir& open_dir);
#ifdef HAS_SYMLINKS
int mk_symlink(const std::string& path, const std::string& target_path);
#endif
} // end namespace rpc_send
#endif //GEKKOFS_PRELOAD_C_METADENTRY_HPP