#include <stdplus/fd/mmap.hpp>
#include <stdplus/util/cexec.hpp>

namespace stdplus
{
namespace fd
{

MMap::MMap(Fd& fd, std::span<std::byte> window, ProtFlags prot, MMapFlags flags,
           off_t offset) : mapping(fd.mmap(window, prot, flags, offset), fd)
{}

std::span<std::byte> MMap::get() const
{
    return *mapping;
}

void MMap::drop(std::span<std::byte>&& mapping, std::reference_wrapper<Fd>& fd)
{
    fd.get().munmap(mapping);
}

} // namespace fd
} // namespace stdplus
