#include <rudiments/file.h>
#include <rudiments/permissions.h>
#include <rudiments/stdio.h>
int main(int argc, const char **argv) {
file f;
// Create a file using the create() method, with read-write
// permissions for everyone.
if (f.create("testfile1",permissions::evalPermString("rw-rw-rw-"))) {
stdoutput.write("testfile1 created\n");
} else {
stdoutput.write("failed to create testfile1\n");
}
// Create a file using the open() method and O_CREAT flag,
// with read-write permissions for everyone.
if (f.open("testfile2",O_CREAT,
permissions::evalPermString("rw-rw-rw-"))) {
stdoutput.write("testfile2 created\n");
} else {
stdoutput.write("failed to create testfile2\n");
}
// An attempt to create a file that already exists will just open
// the file.
if (f.create("testfile1",permissions::evalPermString("rw-rw-rw-"))) {
stdoutput.write("testfile1 opened\n");
} else {
stdoutput.write("failed to open testfile1\n");
}
// If O_EXCL and O_CREAT are used together, then an attempt to create a
// file that already exists will fail.
if (f.open("testfile2",O_CREAT|O_EXCL,
permissions::evalPermString("rw-rw-rw-"))) {
stdoutput.write("testfile2 opened\n");
} else {
stdoutput.write("failed to open testfile2 "
"(this is the correct behavior)\n");
}
}