This article is from the Apple II GNO FAQ, by Devin Reade with numerous contributions by others.
A#14.3: It may be due to a prototype/library mismatch. The GNO implementation
of open(2) is a variadic function. The third "mode" parameter must
be provided if and only if the second "oflag" parameter has the
O_CREAT flag set.
If calls to open result in a crash or stack error, you may have
either the wrong definition of open in <fcntl.h>, or you are not
getting open from 13/libc. See also Q#9.2, Q#11.2, Q#11.3, and Q#6.6.
 
Continue to: