|
ESBMC
Efficient SMT-based Context-Bounded Model Checker
|
#include <cstdio>#include <map>#include <optional>#include <string>#include <string_view>#include <vector>Go to the source code of this file.
Classes | |
| class | file_operations::file_data |
| Read-only contents of a file, either bundled into the ESBMC binary or read from disk. More... | |
| class | file_operations::tmp_path |
| Represents a temporary path, which is (optionally) removed by the destructor. More... | |
| class | file_operations::tmp_file |
| Temporary path to an open file with an associated FILE handle. More... | |
| class | file_operations::tmp_dir_override |
| Points the temp directory the functions below create paths in at dir for the lifetime of this object, restoring it on destruction. More... | |
| class | file_operations::filesystemt |
| Files bundled into the binary, overlaid on the real filesystem. More... | |
Namespaces | |
| namespace | file_operations |
| this file will contains helper functions for manipulating files | |
Functions | |
| bool | file_operations::is_bundled_source (std::string_view file) |
True if file names one of ESBMC's own operational-model or library sources rather than user code. | |
| const std::string | file_operations::get_unique_tmp_path (const std::string &format) |
| Generates a unique path based on the format. | |
| tmp_file | file_operations::create_tmp_file (const std::string &format="esbmc.%%%%-%%%%-%%%%", const char *mode="w+") |
| The file is created exclusively and with 0600 permissions, so it is never a pre-existing path (or a symlink to one) that this would clobber. | |
| tmp_path | file_operations::create_tmp_dir (const std::string &format="esbmc.%%%%-%%%%-%%%%") |
| void | file_operations::create_path_and_write (const std::string &path, const char *s, size_t n) |
| Creates all folders needed for a path. | |
| void | file_operations::register_tmp_for_cleanup (const std::string &path) |
| The register_*() registries below are process-global, append-only and unsynchronised; each is read by the function named alongside it. | |
| void | file_operations::cleanup_registered_tmps () |
| void | file_operations::register_pgroup_for_cleanup (long pgid) |
| Track child process groups so the signal/timeout exit paths can kill them. | |
| void | file_operations::unregister_pgroup (long pgid) |
| void | file_operations::kill_registered_pgroups () |
| void | file_operations::kill_registered_pgroups_from_signal () |
| Async-signal-safe counterparts of the two cleanup calls above, for use from a signal handler. | |
| void | file_operations::remove_registered_tmps_from_signal () |
Variables | |
| constexpr const char * | file_operations::ESBMC_VFS_ROOT = "/esbmc-vfs" |
| Root of the bundled path namespace, e.g. | |