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 */