pb1
p = pb0+z*(pb1+z*(pb2+z*(pb3+z*(pb4+z*(pb5+z*(pb6+z*pb7))))));
struct puffs_framebuf *pb1, struct puffs_framebuf *pb2, int *notresp)
rv = puffs_framebuf_getwindow(pb1, 0, (void *)&preq1, &winlen);
char pb1[MAXPATHLEN], pb2[MAXPATHLEN], pb3[MAXPATHLEN];
md(pb1, sizeof(pb1), mp, "dir1");
if (rump_sys_mkdir(pb1, 0777) == -1)
if (rump_sys_rename(pb1, pb3) == -1)
md(pb1, sizeof(pb1), mp, "dir3/.");
if (rump_sys_rename(pb1, pb3) != -1 || errno != EINVAL)
if (rump_sys_rename(pb3, pb1) != -1 || errno != EISDIR)
md(pb1, sizeof(pb1), mp, "dir2/dir");
if (rump_sys_rename(pb2, pb1) != -1 || errno != EINVAL)
md(pb1, sizeof(pb1), mp, "dir2/subdir/dir2");
if (rump_sys_rename(pb2, pb1) != -1 || errno != EINVAL)
md(pb1, sizeof(pb1), mp, "dir3");
if (rump_sys_rename(pb1, pb2) == -1)
md(pb1, sizeof(pb1), mp, "dir2/somedir/../../dir3");
if (rump_sys_rename(pb2, pb1) == -1)
md(pb1, sizeof(pb1), mp, "dir2/../dir3");
checkfile(pb1, &ref);
if (rump_sys_rename(pb1, pb3) == -1)
md(pb1, sizeof(pb1), mp, "parent");
RL(rump_sys_mkdir(pb1, 0777));
RL(rump_sys_stat(pb1, &sb));
RL(rump_sys_rmdir(pb1));
perfused_cmpframe(struct puffs_usermount *pu, struct puffs_framebuf *pb1,
PUFFS_FRAMEBUF_GETWINDOW(pb1, 0, (void **)(void *)&fih, &len);
struct puffs_framebuf *pb1, *pb2;
pb1 = psbuf_makeout();
psbuf_req_data(pb1, SSH_FXP_CLOSE, reqid,
puffs_framev_enqueue_justsend(pu, pctx->sshfd_data, pb1, 1, 0);