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 tango.stdc.posix.sys.uio; 10 11 private import tango.stdc.posix.config; 12 public import tango.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 tango.stdc.posix.sys.types 27 size_t // from tango.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(OSX) 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 } 66 else version( solaris ) 67 { 68 struct iovec 69 { 70 void* iov_base; 71 size_t iov_len; 72 } 73 74 ssize_t readv(int, in iovec*, int); 75 ssize_t writev(int, in iovec*, int); 76 }