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: