You can seek multiple times with APR_CUR.
Also note that an int
on a 32-bit system allows you two seek two gibibytes forward, not four.
Also note that on a 32-bit system the mmap
will most probably fail to map more than two to three gibibytes. (When the address space is limited by 32 bits the maximum address space is four gibibytes but the operating system has to reserve some of that address space to itself).