1 /* SPDX-License-Identifier: GPL-2.0+ WITH Linu 1 /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ 2 /* 2 /* 3 * Berkeley style UIO structures - 3 * Berkeley style UIO structures - Alan Cox 1994. 4 * 4 * 5 * This program is free software; 5 * This program is free software; you can redistribute it and/or 6 * modify it under the terms of t 6 * modify it under the terms of the GNU General Public License 7 * as published by the Free Softw 7 * as published by the Free Software Foundation; either version 8 * 2 of the License, or (at your 8 * 2 of the License, or (at your option) any later version. 9 */ 9 */ 10 #ifndef _UAPI__LINUX_UIO_H 10 #ifndef _UAPI__LINUX_UIO_H 11 #define _UAPI__LINUX_UIO_H 11 #define _UAPI__LINUX_UIO_H 12 12 13 #include <linux/compiler.h> 13 #include <linux/compiler.h> 14 #include <linux/types.h> 14 #include <linux/types.h> 15 15 16 16 17 struct iovec 17 struct iovec 18 { 18 { 19 void __user *iov_base; /* BSD uses ca 19 void __user *iov_base; /* BSD uses caddr_t (1003.1g requires void *) */ 20 __kernel_size_t iov_len; /* Must be si 20 __kernel_size_t iov_len; /* Must be size_t (1003.1g) */ 21 }; 21 }; 22 22 23 struct dmabuf_cmsg { 23 struct dmabuf_cmsg { 24 __u64 frag_offset; /* offset into 24 __u64 frag_offset; /* offset into the dmabuf where the frag starts. 25 */ 25 */ 26 __u32 frag_size; /* size of the 26 __u32 frag_size; /* size of the frag. */ 27 __u32 frag_token; /* token repre 27 __u32 frag_token; /* token representing this frag for 28 * DEVMEM_DONT 28 * DEVMEM_DONTNEED. 29 */ 29 */ 30 __u32 dmabuf_id; /* dmabuf id t 30 __u32 dmabuf_id; /* dmabuf id this frag belongs to. */ 31 __u32 flags; /* Currently u 31 __u32 flags; /* Currently unused. Reserved for future 32 * uses. 32 * uses. 33 */ 33 */ 34 }; 34 }; 35 35 36 struct dmabuf_token { 36 struct dmabuf_token { 37 __u32 token_start; 37 __u32 token_start; 38 __u32 token_count; 38 __u32 token_count; 39 }; 39 }; 40 40 41 /* 41 /* 42 * UIO_MAXIOV shall be at least 16 1003.1 42 * UIO_MAXIOV shall be at least 16 1003.1g (5.4.1.1) 43 */ 43 */ 44 44 45 #define UIO_FASTIOV 8 45 #define UIO_FASTIOV 8 46 #define UIO_MAXIOV 1024 46 #define UIO_MAXIOV 1024 47 47 48 48 49 #endif /* _UAPI__LINUX_UIO_H */ 49 #endif /* _UAPI__LINUX_UIO_H */ 50 50
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.