V6 open(2) didn't have all those fancy O_* options. You just got the choice of FREAD, FWRITE, or both.
Applications in V6 era typically used "link(2)" as their locking primitive (create a randomly named tempfile, then link that to a statically named lockfile. If the link call succeeds, you own the lock. If you get EEXIST, then someone else does).