Types and Constants v0.1.0

Source
Types and constants exported by the MacOS package.

Package: MacOS

Standard File Descriptors

NameTypeValueDescription
StdInint320Standard input.
StdOutint321Standard output.
StdErrint322Standard error.

A process may close or redirect these conventional descriptors.

Syscall Numbers

Darwin partitions syscall numbers by class: Unix/BSD calls carry the class bits UnixSyscallClass (0x02000000), so each exported number is the class OR'd with the bare ordinal.

NameValue
UnixSyscallClass0x02000000
SysExitUnixSyscallClass | 1
SysReadUnixSyscallClass | 3
SysWriteUnixSyscallClass | 4
SysCloseUnixSyscallClass | 6
SysGetPidUnixSyscallClass | 20
SysMunmapUnixSyscallClass | 73
SysGetTimeOfDayUnixSyscallClass | 116
SysMmapUnixSyscallClass | 197

Memory Protection

NameTypeValueDescription
ProtectionNoneint320No access.
ProtectionReadint321Pages may be read.
ProtectionWriteint322Pages may be written.
ProtectionExecuteint324Pages may be executed.

Mapping Flags

NameTypeValueDescription
MapSharedint321Create a shared mapping.
MapPrivateint322Create a private copy-on-write mapping.
MapFixedint3216Place the mapping at the exact address.
MapAnonymousint324096Create a mapping not backed by a file.

Timeval

struct Timeval {
    seconds: int64;
    microseconds: int32;
}
FieldTypeDescription
secondsint64Whole seconds since the Unix epoch.
microsecondsint32Microseconds within the second, 0–999,999.

Filled by GetTimeOfDay.

See also