O pano de fundo é que você precisa
#include <fcntl.h>
para obter os sinalizadores relacionados a open()
de qualquer maneira, e deve haver uma chance de não poluir o espaço de nome mais do que o necessário.
Se open()
estivesse em unistd.h
, esse arquivo precisaria de #include
fcntl.h
e isso não é desejado como padrão.
O arquivo unistd_64.h é um arquivo de inclusão interno do fornecedor não oficial e o conteúdo deste arquivo não está sujeito ao padrão POSIX.