Tutorials/C Programming Tutorial/Syscall open o direct.cpp
From ThorstensHome
write.c
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main()
{
int* i;
i=(int*)malloc(512);
int fh;
fh=open("/tmp/test",O_DIRECT|O_WRONLY);
write(fh,i,512);
close(fh);
}
How to compile
tweedleburg:~/blktest # g++ write.c tweedleburg:~/blktest # gcc write.c write.c: In function ‘main’: write.c:13:23: error: ‘O_DIRECT’ undeclared (first use in this function) write.c:13:23: note: each undeclared identifier is reported only once for each function it appears in tweedleburg:~/blktest # gcc -D_GNU_SOURCE write.c tweedleburg:~/blktest #
See also
http://kb.fusionio.com/KB/a45/programming-using-direct-io.aspx