Lines Matching refs:pdu
29 p9pdu_writef(struct p9_fcall *pdu, int proto_version, const char *fmt, ...);
46 size_t pdu_read(struct p9_fcall *pdu, void *data, size_t size)
48 size_t len = min(pdu->size - pdu->offset, size);
49 memcpy(data, &pdu->sdata[pdu->offset], len);
50 pdu->offset += len;
54 static size_t pdu_write(struct p9_fcall *pdu, const void *data, size_t size)
56 size_t len = min(pdu->capacity - pdu->size, size);
57 memcpy(&pdu->sdata[pdu->size], data, len);
58 pdu->size += len;
63 pdu_write_u(struct p9_fcall *pdu, struct iov_iter *from, size_t size)
65 size_t len = min(pdu->capacity - pdu->size, size);
67 if (!copy_from_iter_full(&pdu->sdata[pdu->size], len, &i))
70 pdu->size += len;
92 p9pdu_vreadf(struct p9_fcall *pdu, int proto_version, const char *fmt,
102 if (pdu_read(pdu, val, sizeof(*val))) {
111 if (pdu_read(pdu, &le_val, sizeof(le_val))) {
121 if (pdu_read(pdu, &le_val, sizeof(le_val))) {
131 if (pdu_read(pdu, &le_val, sizeof(le_val))) {
142 errcode = p9pdu_readf(pdu, proto_version,
152 if (pdu_read(pdu, *sptr, len)) {
163 if (pdu_read(pdu, &le_val, sizeof(le_val))) {
173 if (pdu_read(pdu, &le_val, sizeof(le_val))) {
184 errcode = p9pdu_readf(pdu, proto_version, "bdq",
198 p9pdu_readf(pdu, proto_version,
218 p9pdu_readf(pdu, proto_version, "d", count);
222 pdu->size - pdu->offset);
223 *data = &pdu->sdata[pdu->offset];
233 errcode = p9pdu_readf(pdu, proto_version,
251 p9pdu_readf(pdu,
285 p9pdu_readf(pdu, proto_version, "w", nwqid);
300 p9pdu_readf(pdu,
321 p9pdu_readf(pdu, proto_version,
360 p9pdu_vwritef(struct p9_fcall *pdu, int proto_version, const char *fmt,
370 if (pdu_write(pdu, &val, sizeof(val)))
376 if (pdu_write(pdu, &val, sizeof(val)))
382 if (pdu_write(pdu, &val, sizeof(val)))
388 if (pdu_write(pdu, &val, sizeof(val)))
399 errcode = p9pdu_writef(pdu, proto_version,
401 if (!errcode && pdu_write(pdu, sptr, len))
409 if (pdu_write(pdu, &val, sizeof(val)))
416 if (pdu_write(pdu, &val, sizeof(val)))
423 p9pdu_writef(pdu, proto_version, "bdq",
431 p9pdu_writef(pdu, proto_version,
446 errcode = p9pdu_writef(pdu, proto_version, "d",
448 if (!errcode && pdu_write_u(pdu, from, count))
456 errcode = p9pdu_writef(pdu, proto_version, "w",
463 p9pdu_writef(pdu,
478 errcode = p9pdu_writef(pdu, proto_version, "w",
485 p9pdu_writef(pdu,
499 errcode = p9pdu_writef(pdu, proto_version,
529 int p9pdu_readf(struct p9_fcall *pdu, int proto_version, const char *fmt, ...)
535 ret = p9pdu_vreadf(pdu, proto_version, fmt, ap);
542 p9pdu_writef(struct p9_fcall *pdu, int proto_version, const char *fmt, ...)
548 ret = p9pdu_vwritef(pdu, proto_version, fmt, ap);
575 int p9pdu_prepare(struct p9_fcall *pdu, int16_t tag, int8_t type)
577 pdu->id = type;
578 return p9pdu_writef(pdu, 0, "dbw", 0, type, tag);
581 int p9pdu_finalize(struct p9_client *clnt, struct p9_fcall *pdu)
583 int size = pdu->size;
586 pdu->size = 0;
587 err = p9pdu_writef(pdu, 0, "d", size);
588 pdu->size = size;
590 trace_9p_protocol_dump(clnt, pdu);
592 pdu->size, pdu->id, pdu->tag);
597 void p9pdu_reset(struct p9_fcall *pdu)
599 pdu->offset = 0;
600 pdu->size = 0;