1 /* 2 * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana 3 * University Research and Technology 4 * Corporation. All rights reserved. 5 * Copyright (c) 2004-2014 The University of Tennessee and The University 6 * of Tennessee Research Foundation. All rights 7 * reserved. 8 * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, 9 * University of Stuttgart. All rights reserved. 10 * Copyright (c) 2004-2005 The Regents of the University of California. 11 * All rights reserved. 12 * $COPYRIGHT$ 13 * 14 * Additional copyrights may follow 15 * 16 * $HEADER$ 17 */ 18 19 #ifndef OPAL_UIO_H 20 #define OPAL_UIO_H 21 22 #include "opal_config.h" 23 24 #ifndef OPAL_WIN_COMPAT_H 25 #error This file is supposed to be included only from win_compat.h 26 #endif /* OPAL_WIN_COMPAT_H */ 27 28 /* define the iovec structure */ 29 struct iovec { 30 WSABUF data; 31 }; 32 #define iov_base data.buf 33 #define iov_len data.len 34 35 BEGIN_C_DECLS 36 /* 37 * writev: 38 writev writes data to file descriptor fd, and from the buffers 39 described by iov. The number of buffers is specified by cnt. The 40 buffers are used in the order specified. Operates just like write 41 except that data is taken from iov instead of a contiguous buffer. 42 */ 43 OPAL_DECLSPEC int writev (int fd, struct iovec *iov, int cnt); 44 45 /* 46 readv reads data from file descriptor fd, and puts the result in the 47 buffers described by iov. The number of buffers is specified by 48 cnt. The buffers are filled in the order specified. Operates just 49 like read except that data is put in iov instead of a contiguous 50 buffer. 51 */ 52 OPAL_DECLSPEC int readv (int fd, struct iovec *iov, int cnt); 53 54 END_C_DECLS 55 56 #endif /* OPAL_UIO_H */