Lines Matching refs:pb

46 proto_getqid(struct puffs_framebuf *pb, struct qid9p *qid)
49 if (puffs_framebuf_remaining(pb) < 1+4+8)
52 p9pbuf_get_1(pb, &qid->qidtype);
53 p9pbuf_get_4(pb, &qid->qidvers);
54 p9pbuf_get_8(pb, &qid->qidpath);
110 if ((rv = (a(pb, b)))) return rv; \
115 if ((rv = p9pbuf_get_str(pb, val, strsize))) return rv; \
120 proto_getstat(struct puffs_framebuf *pb, struct vattr *vap,
131 if ((rv = p9pbuf_get_2(pb, &size)))
133 if (puffs_framebuf_remaining(pb) < size)
188 struct puffs_framebuf *pb;
193 pb = p9pbuf_makeout();
194 p9pbuf_put_1(pb, P9PROTO_T_WALK);
195 p9pbuf_put_2(pb, tag);
196 p9pbuf_put_4(pb, oldfid);
197 p9pbuf_put_4(pb, newfid);
198 p9pbuf_put_2(pb, 0);
199 GETRESPONSE(pb);
201 rv = proto_expect_walk_nqids(pb, &qids);
206 puffs_framebuf_destroy(pb);
215 struct puffs_framebuf *pb;
219 pb = p9pbuf_makeout();
220 p9pbuf_put_1(pb, P9PROTO_T_CLUNK);
221 p9pbuf_put_2(pb, tag);
222 p9pbuf_put_4(pb, fid);
225 if (puffs_framev_enqueue_cc(pcc, p9p->servsock, pb, 0) == 0) {
226 if (p9pbuf_get_type(pb) != P9PROTO_R_CLUNK)
231 puffs_framebuf_destroy(pb);
233 JUSTSEND(pb);
249 struct puffs_framebuf *pb;
257 pb = p9pbuf_makeout();
258 p9pbuf_put_1(pb, P9PROTO_T_OPEN);
259 p9pbuf_put_2(pb, tag);
260 p9pbuf_put_4(pb, newfid);
261 p9pbuf_put_1(pb, mode);
262 GETRESPONSE(pb);
263 if (p9pbuf_get_type(pb) != P9PROTO_R_OPEN)
267 puffs_framebuf_destroy(pb);
272 proto_make_stat(struct puffs_framebuf *pb, const struct vattr *vap,
286 startoff = puffs_framebuf_telloff(pb);
287 puffs_framebuf_seekset(pb, startoff + 2+2); /* stat[n] incl. stat[2] */
314 p9pbuf_put_2(pb, P9PROTO_STAT_NOVAL2); /* kernel type */
315 p9pbuf_put_4(pb, P9PROTO_STAT_NOVAL4); /* dev */
316 p9pbuf_put_1(pb, P9PROTO_STAT_NOVAL1); /* type */
317 p9pbuf_put_4(pb, P9PROTO_STAT_NOVAL4); /* version */
318 p9pbuf_put_8(pb, P9PROTO_STAT_NOVAL8); /* path */
319 p9pbuf_put_4(pb, mode);
320 p9pbuf_put_4(pb, atime);
321 p9pbuf_put_4(pb, mtime);
322 p9pbuf_put_8(pb, flen);
323 p9pbuf_put_str(pb, filename ? filename : "");
324 p9pbuf_put_str(pb, owner);
325 p9pbuf_put_str(pb, group);
326 p9pbuf_put_str(pb, ""); /* muid */
328 curoff = puffs_framebuf_telloff(pb);
329 puffs_framebuf_seekset(pb, startoff);
330 p9pbuf_put_2(pb, curoff-(startoff+2)); /* stat[n] size */
331 p9pbuf_put_2(pb, curoff-(startoff+4)); /* size[2] stat */
333 puffs_framebuf_seekset(pb, curoff);
337 proto_expect_walk_nqids(struct puffs_framebuf *pb, uint16_t *nqids)
340 if (p9pbuf_get_type(pb) != P9PROTO_R_WALK)
342 return p9pbuf_get_2(pb, nqids);
346 proto_expect_qid(struct puffs_framebuf *pb, uint8_t op, struct qid9p *qid)
349 if (p9pbuf_get_type(pb) != op)
351 return proto_getqid(pb, qid);
355 proto_expect_stat(struct puffs_framebuf *pb, struct vattr *va)
360 if (p9pbuf_get_type(pb) != P9PROTO_R_STAT)
362 if ((rv = p9pbuf_get_2(pb, &dummy)))
364 return proto_getstat(pb, va, NULL, NULL);