コード例 #1
0
ファイル: proto.c プロジェクト: joushou/mac9p
__private_extern__ int
wstat_9p(mount_9p *nmp, fid_9p fid, dir_9p *dp)
{
	Fcall tx, rx;
	void *p;
	uint32_t n;
	int e, dotu;

	TRACE();
	dotu = ISSET(nmp->flags, F_DOTU);
	n = sizeD2M(dp, dotu);
	p = malloc_9p(n);
	if (p == NULL)
		return ENOMEM;
	
	if(convD2M(dp, p, n, dotu) != n){
		free_9p(p);
		return EINVAL;
	}
	tx.type = Twstat;
	tx.fid = fid;
	tx.stat = p;
	tx.nstat = n;
	e = rpc_9p(nmp, &tx, &rx, NULL);
	free_9p(p);

	return e;
}
コード例 #2
0
ファイル: dirfwstat.c プロジェクト: Harvey-OS/harvey
int
dirfwstat(int fd, Dir *d)
{
	uint8_t *buf;
	int r;

	r = sizeD2M(d);
	buf = malloc(r);
	if(buf == nil)
		return -1;
	convD2M(d, buf, r);
	r = fwstat(fd, buf, r);
	free(buf);
	return r;
}
コード例 #3
0
ファイル: dirwstat.c プロジェクト: 99years/plan9
int
dirwstat(char *name, Dir *d)
{
	uchar *buf;
	int r;

	r = sizeD2M(d);
	buf = malloc(r);
	if(buf == nil)
		return -1;
	convD2M(d, buf, r);
	r = wstat(name, buf, r);
	free(buf);
	return r;
}