blob: 66ff545552f71ebe11a9cefc373d98fdeedbf321 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#ifndef _LINUX_SCATTERLIST_H
2#define _LINUX_SCATTERLIST_H
3
Herbert Xud32311f2005-09-17 14:41:40 +10004#include <asm/scatterlist.h>
5#include <linux/mm.h>
6#include <linux/string.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -07007
Herbert Xud32311f2005-09-17 14:41:40 +10008static inline void sg_set_buf(struct scatterlist *sg, void *buf,
9 unsigned int buflen)
10{
Linus Torvalds1da177e2005-04-16 15:20:36 -070011 sg->page = virt_to_page(buf);
12 sg->offset = offset_in_page(buf);
13 sg->length = buflen;
14}
15
Herbert Xud32311f2005-09-17 14:41:40 +100016static inline void sg_init_one(struct scatterlist *sg, void *buf,
17 unsigned int buflen)
18{
19 memset(sg, 0, sizeof(*sg));
20 sg_set_buf(sg, buf, buflen);
21}
22
Linus Torvalds1da177e2005-04-16 15:20:36 -070023#endif /* _LINUX_SCATTERLIST_H */