sipxtacklib
Version 3.3
Main Page
Related Pages
Classes
Files
File List
File Members
include
resparse
wnt
sys
uio.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 1982, 1986, 1993, 1994
3
* The Regents of the University of California. All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions
7
* are met:
8
* 1. Redistributions of source code must retain the above copyright
9
* notice, this list of conditions and the following disclaimer.
10
* 2. Redistributions in binary form must reproduce the above copyright
11
* notice, this list of conditions and the following disclaimer in the
12
* documentation and/or other materials provided with the distribution.
13
* 3. All advertising materials mentioning features or use of this software
14
* must display the following acknowledgement:
15
* This product includes software developed by the University of
16
* California, Berkeley and its contributors.
17
* 4. Neither the name of the University nor the names of its contributors
18
* may be used to endorse or promote products derived from this software
19
* without specific prior written permission.
20
*
21
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
22
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
25
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31
* SUCH DAMAGE.
32
*
33
* @(#)uio.h 8.5 (Berkeley) 2/22/94
34
*
35
*/
36
37
#ifndef _SYS_UIO_H_
38
#define _SYS_UIO_H_
39
40
#include <stddef.h>
41
42
/*
43
* XXX
44
* iov_base should be a void *.
45
*/
46
struct
iovec
{
47
char
*
iov_base
;
/* Base address. */
48
size_t
iov_len
;
/* Length. */
49
};
50
51
enum
uio_rw
{
UIO_READ
,
UIO_WRITE
};
52
53
/* Segment flag values. */
54
enum
uio_seg
{
55
UIO_USERSPACE
,
/* from user data space */
56
UIO_SYSSPACE
,
/* from system space */
57
UIO_USERISPACE
,
/* from user I space */
58
UIO_NOCOPY
/* don't copy, already in object */
59
};
60
61
#ifdef KERNEL
62
struct
uio {
63
struct
iovec
*uio_iov;
64
int
uio_iovcnt;
65
off_t uio_offset;
66
int
uio_resid;
67
enum
uio_seg
uio_segflg;
68
enum
uio_rw
uio_rw
;
69
struct
proc *uio_procp;
70
};
71
72
/*
73
* Limits
74
*/
75
#define UIO_MAXIOV 1024
/* max 1K of iov's */
76
#define UIO_SMALLIOV 8
/* 8 on stack, else malloc */
77
#endif
/* KERNEL */
78
79
#ifdef KERNEL
80
81
int
uiomove
__P
((caddr_t,
int
,
struct
uio *));
82
83
#else
/* !KERNEL */
84
85
/* #include <sys/cdefs.h> */
86
#include "
resparse/types.h
"
87
88
ssize_t
readv
(
int
,
const
struct
iovec
*,
int
);
89
ssize_t
writev
(
int
,
const
struct
iovec
*,
int
);
90
91
#endif
/* KERNEL */
92
93
#endif
/* !_SYS_UIO_H_ */
types.h
UIO_USERSPACE
Definition:
uio.h:55
uio_seg
uio_seg
Definition:
uio.h:54
UIO_USERISPACE
Definition:
uio.h:57
writev
ssize_t writev(int, const struct iovec *, int)
UIO_NOCOPY
Definition:
uio.h:58
iovec
Definition:
uio.h:46
uio_rw
uio_rw
Definition:
uio.h:51
UIO_SYSSPACE
Definition:
uio.h:56
UIO_WRITE
Definition:
uio.h:51
iovec::iov_base
char * iov_base
Definition:
uio.h:47
iovec::iov_len
size_t iov_len
Definition:
uio.h:48
readv
ssize_t readv(int, const struct iovec *, int)
__P
#define __P(x)
Definition:
resolv.h:176
UIO_READ
Definition:
uio.h:51
sipXtackLib home page