source: GPL/trunk/include/linux/uio.h@ 679

Last change on this file since 679 was 679, checked in by David Azarewicz, 4 years ago

Merge changes from Paul's uniaud32next branch.

File size: 719 bytes
Line 
1/* $Id: uio.h,v 1.1.1.1 2003/07/02 13:57:00 eleph Exp $ */
2
3#ifndef _LINUX_UIO_H
4#define _LINUX_UIO_H
5
6enum {
7 ITER_IOVEC = 0,
8 ITER_KVEC = 2,
9 ITER_BVEC = 4,
10};
11
12struct iovec {
13 char *iov_base; /* Base address. */
14#ifdef __32BIT__
15 size_t iov_len; /* Length. */
16#else
17 long iov_len; /* Length. */
18#endif
19};
20
21struct iov_iter {
22 int type;
23 size_t iov_offset;
24 size_t count;
25 union {
26 const struct iovec *iov;
27 const struct kvec *kvec;
28 const struct bio_vec *bvec;
29 };
30 unsigned long nr_segs;
31};
32
33static inline bool iter_is_iovec(const struct iov_iter *i)
34{
35 return !(i->type & (ITER_BVEC | ITER_KVEC));
36}
37
38#endif /* _LINUX_UIO_H */
Note: See TracBrowser for help on using the repository browser.