source: trunk/src/emx/include/sys/uio.h@ 275

Last change on this file since 275 was 275, checked in by bird, 23 years ago

#434: readv/writev crash.

  • Property cvs2svn:cvs-rev set to 1.6
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 1.2 KB
Line 
1/* sys/uio.h (emx+gcc) */
2
3#ifndef _SYS_UIO_H
4#define _SYS_UIO_H
5#define _SYS_UIO_H_ /*toolkit pollution*/
6
7#if defined (__cplusplus)
8extern "C" {
9#endif
10
11struct iovec
12{
13 caddr_t iov_base;
14#if defined(__32BIT__) && !defined(TCPV40HDRS)
15 size_t iov_len;
16#else
17 int iov_len;
18#endif
19};
20
21
22/* needed for sys\socket.h TCPIPV4 now */
23#ifdef TCPV40HDRS
24struct uio {
25 struct iovec *uio_iov;
26 int uio_iovcnt;
27 off_t uio_offset;
28 int uio_segflg;
29 unsigned int uio_resid;
30};
31#ifndef FREAD
32#define FREAD 1
33#define FWRITE 2
34#endif
35#endif
36
37enum uio_rw { UIO_READ, UIO_WRITE };
38
39#ifndef TCPV40HDRS
40/* Segment flag values. */
41enum uio_seg {
42 UIO_USERSPACE, /* from user data space */
43 UIO_SYSSPACE, /* from system space */
44 UIO_USERISPACE /* from user I space */
45};
46/** @name tcpip40 function mappings.
47 * @{ */
48#define so_readv tcpip40_readv
49#define so_writev tcpip40_writev
50/* @} */
51#endif
52
53/* TCPIP versions */
54int _System so_readv (int, __const__ struct iovec *, int);
55int _System so_writev (int, __const__ struct iovec *, int);
56
57/* EMX versions */
58int readv (int, __const__ struct iovec *, int);
59int writev (int, __const__ struct iovec *, int);
60
61#if defined (__cplusplus)
62}
63#endif
64
65#endif /* not _SYS_UIO_H */
Note: See TracBrowser for help on using the repository browser.