µOS++ IIIe Reference 7.0.0
The third edition of µOS++, a POSIX inspired open source framework, written in C++
Loading...
Searching...
No Matches
uio.h
Go to the documentation of this file.
1/*
2 * This file is part of the µOS++ project (https://micro-os-plus.github.io/).
3 * Copyright (c) 2015-2025 Liviu Ionescu. All rights reserved.
4 *
5 * Permission to use, copy, modify, and/or distribute this software
6 * for any purpose is hereby granted, under the terms of the MIT license.
7 *
8 * If a copy of the license was not distributed with this file, it can
9 * be obtained from https://opensource.org/licenses/mit.
10 */
11
12#ifndef POSIX_IO_SYS_UIO_H_
13#define POSIX_IO_SYS_UIO_H_
14
15// ----------------------------------------------------------------------------
16
17#include <unistd.h>
18
19#if defined(_POSIX_VERSION)
20
21#pragma GCC diagnostic push
22#if defined(__clang__)
23#pragma clang diagnostic ignored "-Wgnu-include-next"
24#endif
25#include_next <sys/uio.h>
26#pragma GCC diagnostic pop
27
28#else
29
30#include <sys/types.h>
31
32#ifdef __cplusplus
33extern "C"
34{
35#endif
36
37 // --------------------------------------------------------------------------
38
39 struct iovec
40 {
41 void* iov_base; // Base address of a memory region for input or output.
42 size_t iov_len; // The size of the memory pointed to by iov_base.
43 };
44
45 ssize_t
46 writev (int fildes, const struct iovec* iov, int iovcnt);
47
48 // --------------------------------------------------------------------------
49
50#ifdef __cplusplus
51}
52#endif
53
54#endif /* defined(_POSIX_VERSION) */
55
56#endif /* POSIX_IO_SYS_UIO_H_ */
Definition uio.h:40
void * iov_base
Definition uio.h:41
size_t iov_len
Definition uio.h:42
ssize_t writev(int fildes, const struct iovec *iov, int iovcnt)