pub const FLAG_TEMPORARY_AS_NOT_LINKABLE: Flags;
Expand description
Specifies that this object is not linkable. This is only intended to be used in the context of
creating a temporary unnamed objects. When that is not the case, the node protocol defines if it
is linkable (i.e. if it composes the Linkable
protocol). When this flag is set along with
Flags.FLAG_CREATE_AS_UNNAMED_TEMPORARY
, an unnamed temporary object will be created that
cannot be linked into the filesystem. This would be similar to Linux O_TMPFILE | O_EXCL
.
CAUTION: if Flags.FLAG_CREATE_AS_UNNAMED_TEMPORARY
is not specified, then this is treated as
a “must create” flag.
The reason for overloading Flags.FLAG_MUST_CREATE
to mean “not linkable” in this context and
“must create” in other contexts is due to the assumption that some POSIX flags are compatible
with the members in Flags
. In particular the POSIX O_EXCL
has the same value as
Flags.FLAG_MUST_CREATE
. We are not able to define different bit members of the same value,
hence it is defined separately outside of Flags
.