]> git.llucax.com Git - software/druntime.git/blob - import/stdc/posix/sys/uio.d
Applied all D2 changes to trunk. It should now be a fully functional D2 runtime.
[software/druntime.git] / import / stdc / posix / sys / uio.d
1 /**
2  * D header file for POSIX.
3  *
4  * Copyright: Public Domain
5  * License:   Public Domain
6  * Authors:   Sean Kelly
7  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
8  */
9 module stdc.posix.sys.uio;
10
11 private import stdc.posix.config;
12 public import stdc.posix.sys.types; // for ssize_t, size_t
13
14 extern (C):
15
16 //
17 // Required
18 //
19 /*
20 struct iovec
21 {
22     void*  iov_base;
23     size_t iov_len;
24 }
25
26 ssize_t // from stdc.posix.sys.types
27 size_t  // from stdc.posix.sys.types
28
29 ssize_t readv(int, in iovec*, int);
30 ssize_t writev(int, in iovec*, int);
31 */
32
33 version( linux )
34 {
35     struct iovec
36     {
37         void*  iov_base;
38         size_t iov_len;
39     }
40
41     ssize_t readv(int, in iovec*, int);
42     ssize_t writev(int, in iovec*, int);
43 }
44 else version( darwin )
45 {
46     struct iovec
47     {
48         void*  iov_base;
49         size_t iov_len;
50     }
51
52     ssize_t readv(int, in iovec*, int);
53     ssize_t writev(int, in iovec*, int);
54 }
55 else version( freebsd )
56 {
57     struct iovec
58     {
59         void*  iov_base;
60         size_t iov_len;
61     }
62
63     ssize_t readv(int, in iovec*, int);
64     ssize_t writev(int, in iovec*, int);
65 }