22#if defined( __FreeBSD__ )
23 #define RESTINIO_FREEBSD_TARGET
24#elif defined(__APPLE__) && defined( __MACH__ )
25 #define RESTINIO_MACOS_TARGET
53#if defined( RESTINIO_FREEBSD_TARGET ) || defined( RESTINIO_MACOS_TARGET )
67 return file_descriptor;
93template <
typename META >
100 throw exception_t{
"invalid file descriptor" };
103#if defined( RESTINIO_FREEBSD_TARGET ) || defined( RESTINIO_MACOS_TARGET )
122 const std::chrono::system_clock::time_point
124#if defined( RESTINIO_MACOS_TARGET )
125 std::chrono::seconds(
file_stat.st_mtimespec.tv_sec ) +
126 std::chrono::microseconds(
file_stat.st_mtimespec.tv_nsec / 1000 )
128 std::chrono::seconds(
file_stat.st_mtim.tv_sec ) +
129 std::chrono::microseconds(
file_stat.st_mtim.tv_nsec / 1000 )
#define RESTINIO_FMT_FORMAT_STRING(s)
constexpr file_descriptor_t null_file_descriptor()
Get file descriptor which stands for null.
run_on_this_thread_settings_t< Traits > on_this_thread()
A special marker for the case when http_server must be run on the context of the current thread.
void close_file(file_descriptor_t fd)
Close file by its descriptor.
file_descriptor_t open_file(const char *file_path)
Open file.
std::FILE * file_descriptor_t
std::int64_t file_offset_t
META get_file_meta(file_descriptor_t fd)
Get file size.
std::uint64_t file_size_t