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

Last change on this file since 344 was 343, checked in by bird, 22 years ago

#457: make it more conforming to standard.

  • Property cvs2svn:cvs-rev set to 1.7
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 1.7 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
11/* bird: standard saith these shall be definedl */
12#include <sys/cdefs.h>
13#include <sys/_types.h>
14
15#if !defined(_SIZE_T_DECLARED) && !defined(_SIZE_T) /* bird: emx */
16typedef __size_t size_t;
17#define _SIZE_T_DECLARED
18#define _SIZE_T /* bird: emx */
19#endif
20
21#if !defined(_SSIZE_T_DECLARED) && !defined(_SSIZE_T) /* bird: emx */
22typedef __ssize_t ssize_t;
23#define _SSIZE_T_DECLARED
24#define _SSIZE_T /* bird: emx */
25#endif
26
27
28struct iovec
29{
30 /* bird: standard saith void* not caddr_t. */
31 void * iov_base;
32#if defined(__32BIT__) && !defined(TCPV40HDRS)
33 size_t iov_len;
34#else
35 int iov_len;
36#endif
37};
38
39
40/* needed for sys\socket.h TCPIPV4 now */
41#ifdef TCPV40HDRS
42struct uio {
43 struct iovec *uio_iov;
44 int uio_iovcnt;
45 off_t uio_offset;
46 int uio_segflg;
47 unsigned int uio_resid;
48};
49#ifndef FREAD
50#define FREAD 1
51#define FWRITE 2
52#endif
53#endif
54
55enum uio_rw { UIO_READ, UIO_WRITE };
56
57#ifndef TCPV40HDRS
58/* Segment flag values. */
59enum uio_seg {
60 UIO_USERSPACE, /* from user data space */
61 UIO_SYSSPACE, /* from system space */
62 UIO_USERISPACE /* from user I space */
63};
64/** @name tcpip40 function mappings.
65 * @{ */
66#define so_readv tcpip40_readv
67#define so_writev tcpip40_writev
68/* @} */
69#endif
70
71/* TCPIP versions */
72int _System so_readv (int, __const__ struct iovec *, int);
73int _System so_writev (int, __const__ struct iovec *, int);
74
75/* EMX versions */
76int readv (int, __const__ struct iovec *, int);
77int writev (int, __const__ struct iovec *, int);
78
79#if defined (__cplusplus)
80}
81#endif
82
83#endif /* not _SYS_UIO_H */
Note: See TracBrowser for help on using the repository browser.