Linux 6.9-rc1
[linux-2.6-microblaze.git] / net / 9p / protocol.h
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * 9P Protocol Support Code
4  *
5  *  Copyright (C) 2008 by Eric Van Hensbergen <ericvh@gmail.com>
6  *
7  *  Base on code from Anthony Liguori <aliguori@us.ibm.com>
8  *  Copyright (C) 2008 by IBM, Corp.
9  */
10
11 size_t p9_msg_buf_size(struct p9_client *c, enum p9_msg_t type,
12                         const char *fmt, va_list ap);
13 int p9pdu_vwritef(struct p9_fcall *pdu, int proto_version, const char *fmt,
14                   va_list ap);
15 int p9pdu_readf(struct p9_fcall *pdu, int proto_version, const char *fmt, ...);
16 int p9pdu_prepare(struct p9_fcall *pdu, int16_t tag, int8_t type);
17 int p9pdu_finalize(struct p9_client *clnt, struct p9_fcall *pdu);
18 void p9pdu_reset(struct p9_fcall *pdu);
19 size_t pdu_read(struct p9_fcall *pdu, void *data, size_t size);