открыть и, возможно, создать файл (open and possibly create a file)
Ошибки (баги) (Bugs)
Currently, it is not possible to enable signal-driven I/O by
specifying O_ASYNC when calling open(); use fcntl(2) to enable
this flag.
One must check for two different error codes, EISDIR and ENOENT,
when trying to determine whether the kernel supports O_TMPFILE
functionality.
When both O_CREAT and O_DIRECTORY are specified in flags and the
file specified by pathname does not exist, open() will create a
regular file (i.e., O_DIRECTORY is ignored).