1*e2be04c7SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ 2607ca46eSDavid Howells /* 3607ca46eSDavid Howells * Berkeley style UIO structures - Alan Cox 1994. 4607ca46eSDavid Howells * 5607ca46eSDavid Howells * This program is free software; you can redistribute it and/or 6607ca46eSDavid Howells * modify it under the terms of the GNU General Public License 7607ca46eSDavid Howells * as published by the Free Software Foundation; either version 8607ca46eSDavid Howells * 2 of the License, or (at your option) any later version. 9607ca46eSDavid Howells */ 10607ca46eSDavid Howells #ifndef _UAPI__LINUX_UIO_H 11607ca46eSDavid Howells #define _UAPI__LINUX_UIO_H 12607ca46eSDavid Howells 13607ca46eSDavid Howells #include <linux/compiler.h> 14607ca46eSDavid Howells #include <linux/types.h> 15607ca46eSDavid Howells 16607ca46eSDavid Howells 17607ca46eSDavid Howells struct iovec 18607ca46eSDavid Howells { 19607ca46eSDavid Howells void __user *iov_base; /* BSD uses caddr_t (1003.1g requires void *) */ 20607ca46eSDavid Howells __kernel_size_t iov_len; /* Must be size_t (1003.1g) */ 21607ca46eSDavid Howells }; 22607ca46eSDavid Howells 23607ca46eSDavid Howells /* 24607ca46eSDavid Howells * UIO_MAXIOV shall be at least 16 1003.1g (5.4.1.1) 25607ca46eSDavid Howells */ 26607ca46eSDavid Howells 27607ca46eSDavid Howells #define UIO_FASTIOV 8 28607ca46eSDavid Howells #define UIO_MAXIOV 1024 29607ca46eSDavid Howells 30607ca46eSDavid Howells 31607ca46eSDavid Howells #endif /* _UAPI__LINUX_UIO_H */ 32