Error Set MMapError [src]

Errors

AccessDenied

A file descriptor refers to a non-regular file. Or a file mapping was requested, but the file descriptor is not open for reading. Or MAP.SHARED was requested and PROT_WRITE is set, but the file descriptor is not open in RDWR mode. Or PROT_WRITE is set, but the file is append-only.

LockedMemoryLimitExceeded
MappingAlreadyExists

Using FIXED_NOREPLACE flag and the process has already mapped memory at the given address

MemoryMappingNotSupported

The underlying filesystem of the specified file does not support memory mapping.

OutOfMemory
PermissionDenied

The prot argument asks for PROT_EXEC but the mapped area belongs to a file on a filesystem that was mounted no-exec.

ProcessFdQuotaExceeded
SystemFdQuotaExceeded
Unexpected UnexpectedError

The Operating System returned an undocumented error code.

This error is in theory not possible, but it would be better to handle this error than to invoke undefined behavior.

When this error code is observed, it usually means the Zig Standard Library needs a small patch to add the error code to the error set for the respective function.

Source

pub const MMapError = error{ /// The underlying filesystem of the specified file does not support memory mapping. MemoryMappingNotSupported, /// A file descriptor refers to a non-regular file. Or a file mapping was requested, /// but the file descriptor is not open for reading. Or `MAP.SHARED` was requested /// and `PROT_WRITE` is set, but the file descriptor is not open in `RDWR` mode. /// Or `PROT_WRITE` is set, but the file is append-only. AccessDenied, /// The `prot` argument asks for `PROT_EXEC` but the mapped area belongs to a file on /// a filesystem that was mounted no-exec. PermissionDenied, LockedMemoryLimitExceeded, ProcessFdQuotaExceeded, SystemFdQuotaExceeded, OutOfMemory, /// Using FIXED_NOREPLACE flag and the process has already mapped memory at the given address MappingAlreadyExists, } || UnexpectedError