9#include <libssh/libssh.h>
13#include <asio/version.hpp>
20#ifdef JOEDB_HAS_BROTLI
21#include <brotli/decode.h>
22#include <brotli/encode.h>
35 out <<
"About this file\n";
36 out <<
"---------------\n";
41 for (
int i = 5; --i >= 0;)
42 joedb.push_back(
char(file.
read<uint8_t>()));
48 const uint32_t version = file.
read<uint32_t>();
49 out <<
"version: " << version <<
'\n';
54 for (
int i = 0; i < 4; i++)
55 pos[i] = file.
read<uint64_t>();
57 for (
int i = 0; i < 4; i++)
58 out <<
"checkpoint[" << i <<
"] = " << pos[i] <<
'\n';
61 out <<
"file size: " << file.
get_size() <<
'\n';
68 out <<
"About this version of joedb\n";
69 out <<
"---------------------------\n";
71 out <<
"Writable_Journal::compatible_version: ";
73 out <<
"Writable_Journal::version_number: ";
77 out <<
"libssh version: " << ssh_version(0) <<
" https://www.libssh.org/\n";
81 out <<
"asio version: ";
82 out << ASIO_VERSION / 100000 <<
'.';
83 out << ASIO_VERSION / 100 % 1000 <<
'.';
84 out << ASIO_VERSION % 100;
85 out <<
" https://think-async.com/Asio/\n";
89 out <<
"curl version: " << curl_version() <<
'\n';
92#ifdef JOEDB_HAS_BROTLI
94 out <<
"brotli decoder version: " << BrotliDecoderVersion() <<
'\n';
95 out <<
"brotli encoder version: " << BrotliEncoderVersion() <<
'\n';
99 out <<
"compiled: " << __DATE__ <<
' ' << __TIME__ <<
'\n';
100 out <<
"sizeof(size_t) = " <<
sizeof(size_t) <<
'\n';
101 out <<
"sizeof(long) = " <<
sizeof(long) <<
'\n';
102 out <<
"sizeof(std::streamoff) = " <<
sizeof(std::streamoff) <<
'\n';
104 out <<
"sizeof(off_t) = " <<
sizeof(off_t) <<
'\n';
107 out <<
"broken_posix_locking = ";
108#ifdef JOEDB_HAS_BROKEN_POSIX_LOCKING
114 out <<
"web site: https://www.joedb.org/\n";
#define JOEDB_INCLUDE(name, extension)
virtual int64_t get_size() const
void set_position(int64_t position)
static constexpr uint32_t version_number
static constexpr uint32_t compatible_version
void dump_header(std::ostream &out, Buffered_File &file)
void about_joedb(std::ostream &out)
void write_string(std::ostream &out, const std::string &s, bool json)
constexpr const char * get_version()