#include <9pm/u.h>
#include <9pm/libc.h>
#include <9pm/fcall.h>
#include <9pm/thread.h>
#include <9pm/9p.h>

long
readbuf(vlong off, void *dst, long dlen, void *src, long slen)
{
	if(off >= slen)
		return 0;
	if(off+dlen > slen)
		dlen = slen-off;
	memmove(dst, (char*)src+off, dlen);
	return dlen;
}

long
readstr(vlong off, void *dst, long dlen, char *src)
{
	return readbuf(off, dst, dlen, src, strlen(src));
}


syntax highlighted by Code2HTML, v. 0.9.1