96 lines
2.7 KiB
C
96 lines
2.7 KiB
C
/*****************************************************************************
|
|
*
|
|
* NCSA DTM version 2.3
|
|
* May 1, 1992
|
|
*
|
|
* NCSA DTM Version 2.3 source code and documentation are in the public
|
|
* domain. Specifically, we give to the public domain all rights for future
|
|
* licensing of the source code, all resale rights, and all publishing rights.
|
|
*
|
|
* We ask, but do not require, that the following message be included in all
|
|
* derived works:
|
|
*
|
|
* Portions developed at the National Center for Supercomputing Applications at
|
|
* the University of Illinois at Urbana-Champaign.
|
|
*
|
|
* THE UNIVERSITY OF ILLINOIS GIVES NO WARRANTY, EXPRESSED OR IMPLIED, FOR THE
|
|
* SOFTWARE AND/OR DOCUMENTATION PROVIDED, INCLUDING, WITHOUT LIMITATION,
|
|
* WARRANTY OF MERCHANTABILITY AND WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE
|
|
*
|
|
*****************************************************************************/
|
|
|
|
/*********************************************************************
|
|
**
|
|
* $Header: /X11/mosaic/cvsroot/xmosaic3/libdtm/uio.h,v 1.3 1995/01/12 02:33:40 spowers Exp $
|
|
**
|
|
**********************************************************************/
|
|
|
|
/*
|
|
* Revision 1.1.1.1 1993/07/04 00:03:15 marca
|
|
* Mosaic for X version 2 distribution
|
|
*
|
|
* Revision 1.1 1993/01/18 21:50:49 marca
|
|
* I think I got it now.
|
|
*
|
|
* Revision 1.2 92/04/30 20:27:37 jplevyak
|
|
* Changed Version to 2.3
|
|
*
|
|
* Revision 1.1 1992/03/06 22:51:22 jplevyak
|
|
* Initial revision
|
|
*
|
|
*/
|
|
|
|
#ifndef UIO_H
|
|
#define UIO_H
|
|
|
|
#include <sys\types.h>
|
|
|
|
typedef char far *caddr_t;
|
|
|
|
struct iovec {
|
|
caddr_t iov_base;
|
|
long int iov_len;
|
|
};
|
|
|
|
struct uio {
|
|
struct iovec *uio_iov;
|
|
long int uio_iovcnt;
|
|
off_t uio_offset;
|
|
long int uio_segflg;
|
|
short uio_fmode;
|
|
int uio_resid;
|
|
};
|
|
|
|
struct msghdr {
|
|
caddr_t msg_name; /* optional address */
|
|
long int msg_namelen; /* size of address */
|
|
struct iovec *msg_iov; /* scatter/gather array */
|
|
long int msg_iovlen; /* # elements in msg_iov */
|
|
caddr_t msg_accrights; /* access rights sent/received */
|
|
long int msg_accrightslen;
|
|
};
|
|
|
|
#ifndef EFAULT
|
|
#define EFAULT 14 /* for UNIX compability */
|
|
#endif
|
|
|
|
enum uio_rw { UIO_READ, UIO_WRITE };
|
|
|
|
/*
|
|
* Segment flag values (should be enum).
|
|
*/
|
|
#define UIO_USERSPACE 0 /* from user data space */
|
|
#define UIO_SYSSPACE 1 /* from system space */
|
|
#define UIO_USERISPACE 2 /* from user I space */
|
|
|
|
#if defined(__STDC__) | defined (_STDC_)
|
|
extern long int readv(int ,struct iovec *,int );
|
|
extern long int writev(int ,struct iovec *,int );
|
|
|
|
extern long int recvmsg(int ,struct msghdr *,int );
|
|
extern long int sendmsg(int ,struct msghdr *,int );
|
|
#endif /* defined(__STDC__) */
|
|
|
|
#endif /* UIO_H */
|
|
|