the difference is, returning pointers the natural way works on all archs. returning vlong works differently depending on the arch. so the "portable" syscall handlers use a convention that works the same on all archs, assuming returned vlong is passed by reference.
no doubt, you *could* return it "naturally" on 64bit arch. maybe your 64bit kernel does, i dont know. -- cinap
