Constant FLAG_TEMPORARY_AS_NOT_LINKABLE

Source
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.