04977e0ad938d99d8d7f5729d8fa72fabc7fc3e1
[linux-2.6.git] / net / 9p / trans_common.h
1 /*
2  * Copyright IBM Corporation, 2010
3  * Author Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com>
4  *
5  * This program is free software; you can redistribute it and/or modify it
6  * under the terms of version 2.1 of the GNU Lesser General Public License
7  * as published by the Free Software Foundation.
8  *
9  * This program is distributed in the hope that it would be useful, but
10  * WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12  *
13  */
14
15 /**
16  * struct trans_rpage_info - To store mapped page information in PDU.
17  * @rp_alloc:Set if this structure is allocd, not a reuse unused space in pdu.
18  * @rp_nr_pages: Number of mapped pages
19  * @rp_data: Array of page pointers
20  */
21 struct trans_rpage_info {
22         u8 rp_alloc;
23         int rp_nr_pages;
24         struct page *rp_data[0];
25 };
26
27 void p9_release_req_pages(struct trans_rpage_info *);
28 int p9_payload_gup(struct p9_req_t *, size_t *, int *, int, u8);
29 int p9_nr_pages(struct p9_req_t *);