The seek system call is here /sys/src/9/port/sysfile.c:855
The arg variable here is a pointer to the users stack making the system call. most return values are 32 bit and are passed back through syscall() /sys/src/9/pc/trap.c:660 but seek is different, it overwrites 64 bits starting at the first arg on the stack of the users seek call. I am pretty sure I have this right, I am sure somone will be correct me if I am wrong. -Steve