Merge remote-tracking branch 'origin/stable-2.0'
[bpt/guile.git] / lib / sys_uio.in.h
CommitLineData
dd7d0148 1/* Substitute for <sys/uio.h>.
f0007cad 2 Copyright (C) 2011-2012 Free Software Foundation, Inc.
4f02b98d
LC
3
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU Lesser General Public License as published by
6 the Free Software Foundation; either version 2, or (at your option)
7 any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public License
15 along with this program; if not, write to the Free Software Foundation,
16 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
17
dd7d0148 18# if __GNUC__ >= 3
4f02b98d 19@PRAGMA_SYSTEM_HEADER@
dd7d0148 20# endif
0f00f2c3 21@PRAGMA_COLUMNS@
4f02b98d 22
3d458a81 23#ifndef _@GUARD_PREFIX@_SYS_UIO_H
dd7d0148
LC
24
25#if @HAVE_SYS_UIO_H@
26
3d458a81
AW
27/* On OpenBSD 4.4, <sys/uio.h> assumes prior inclusion of <sys/types.h>. */
28# include <sys/types.h>
29
4f02b98d 30/* The include_next requires a split double-inclusion guard. */
dd7d0148
LC
31# @INCLUDE_NEXT@ @NEXT_SYS_UIO_H@
32
33#endif
34
3d458a81
AW
35#ifndef _@GUARD_PREFIX@_SYS_UIO_H
36#define _@GUARD_PREFIX@_SYS_UIO_H
4f02b98d 37
dd7d0148
LC
38#if !@HAVE_SYS_UIO_H@
39/* A platform that lacks <sys/uio.h>. */
35428fb6 40/* Get 'size_t' and 'ssize_t'. */
dd7d0148 41# include <sys/types.h>
4f02b98d 42
3d458a81
AW
43# ifdef __cplusplus
44extern "C" {
45# endif
46
47# if !GNULIB_defined_struct_iovec
dd7d0148
LC
48/* All known platforms that lack <sys/uio.h> also lack any declaration
49 of struct iovec in any other header. */
50struct iovec {
51 void *iov_base;
52 size_t iov_len;
53};
3d458a81
AW
54# define GNULIB_defined_struct_iovec 1
55# endif
56
57# ifdef __cplusplus
58}
59# endif
60
4f02b98d
LC
61#endif
62
3d458a81
AW
63#endif /* _@GUARD_PREFIX@_SYS_UIO_H */
64#endif /* _@GUARD_PREFIX@_SYS_UIO_H */