#include <9pm/windows.h>
#include <9pm/u.h>
#include <9pm/libc.h>
#include "syscall.h"

long
pread(int fd, void *buf, long n, vlong off)
{
	Syscallmem *c;

	c = _getsyscallmem();
	c->arg[0] = fd;
	c->arg[1] = 0;
	if(n > CallBuf)
		n = CallBuf;
	c->arg[2] = n;
	*(vlong*)(&c->arg[3]) = off;
	c->nr = Spread;
	if(_dosyscall(c) > 0)
		memmove(buf, &c[1], c->ret);
	return c->ret;
}



syntax highlighted by Code2HTML, v. 0.9.1