split out some functions only used in 32 bit
preadv64 like preadv
move more functions to shared
doc update