#include "internal.h" int io·open(char *path, int flag, io·Buffer *io) { int err,fd; switch(flag & ~(sys·OCloseExec|sys·OTrunc)){ default: /* fmt·fprint(2, "open: unknown flag %d\n", flag); */ return 1; case sys·ORead: if((err=sys·open(path, flag, 0, &fd))) return err; break; case sys·OWrite: if((err=sys·open(path, flag, 0666, &fd))) return err; break; } if((err=io·openfd(fd, flag, io))){ sys·close(fd); return err; } return 0; }