IIUC SEEK_DATA/SEEK_HOLE is not standardized yet, could you meanwhile make it portable to OpenBSD?
$ gmake
for x in vmdk ova; do gmake -C $x all; done
gmake[1]: Entering directory '/home/jirib/tmp/open-vmdk/vmdk'
mkdir -p ../build/vmdk
gcc -W -Wall -O2 -g -c -o ../build/vmdk/flat.o flat.c
flat.c: In function 'FlatNextData':
flat.c:85: error: 'SEEK_DATA' undeclared (first use in this function)
flat.c:85: error: (Each undeclared identifier is reported only once
flat.c:85: error: for each function it appears in.)
flat.c:99: error: 'SEEK_HOLE' undeclared (first use in this function)
Makefile:36: recipe for target '../build/vmdk/flat.o' failed
gmake[1]: *** [../build/vmdk/flat.o] Error 1
gmake[1]: Leaving directory '/home/jirib/tmp/open-vmdk/vmdk'
gmake[1]: Entering directory '/home/jirib/tmp/open-vmdk/ova'
gmake[1]: Nothing to be done for 'all'.
gmake[1]: Leaving directory '/home/jirib/tmp/open-vmdk/ova'
$ sysctl kern.version
kern.version=OpenBSD 5.8 (GENERIC.MP) #1234: Thu Aug 6 09:26:52 MDT 2015
deraadt@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP
IIUC SEEK_DATA/SEEK_HOLE is not standardized yet, could you meanwhile make it portable to OpenBSD?