It depends on which UNIX you're using. Standards are spotty in this area, or at least too new to be well-established.
On some, like 32-bit linux, there's no fundamental difference between large and small files; they're just....bigger. The same reading, writing, opening, and closing functions can be used for them -- the only problem they give the programmer is how to seek to a farther point than you can specify with a 32-bit integer. To get around this the linux kernel has one special 64-bit seek function, _llseek. It's a better idea to use a real API of some sort than a raw system call though.
32-bit Solaris, on the other hand, will apparently
puke with an overflow error if you so much as open a large file without their large-file open! To get around this they provided <insert function name here>64 functions for nearly everything.
Looking in my linux system's stdio.h, I see fseeko64 and ftello64 functions. If your system has these or something like them, they might be all you need.
If you don't have these under stdio, you may need to use the underlying system functions.