14 int fd = open(path.data(), O_RDONLY);
16 return absl::UnavailableError(
"can't open file");
20 if (fstat(fd, &st) < 0) {
22 return absl::UnavailableError(
"can't stat file");
25 if (st.st_size <= 0) {
27 return absl::InvalidArgumentError(
"file of zero length");
30 const char*
data =
static_cast<const char*
>(
31 mmap(
nullptr, st.st_size, PROT_READ, MAP_PRIVATE, fd, 0));
33 if (
data == MAP_FAILED) {
35 return absl::UnavailableError(
36 absl::StrCat(
"can't mmap file (", path,
"): ", std::strerror(errno)));
std::shared_ptr< const fml::Mapping > data