SVR5
ureadc(D3)
ureadc --
copy a character to space described by uio structure
Synopsis
#include <sys/uio.h>
#include <sys/ddi.h>
int ureadc(int c, uio_t *uiop);
Description
ureadc copies the character c into the space
described by the
uio(D4)
structure pointed to by uiop.
The uio_segflg
member of the uio structure specifies
the type of space to which the copy is made.
If uio_segflg
is set to UIO_SYSSPACE the character is
copied to a kernel address.
If uio_segflg
is set to UIO_USERSPACE the character is
copied to a user address.
If the character is successfully copied, ureadc updates the
appropriate members of the uio and
iovec(D4)
structures to reflect the copy (uio_offset
and iov_base
are incremented and uio_resid
and iov_len
are decremented).
Arguments
c-
The character to be copied.
uiop-
Pointer to the uio structure.
Return values
ureadc returns 0 on success or an error number on failure.
Usage
Context and synchronization
User
context
only if uio_segflg
is set to UIO_USERSPACE.
Non-blockable, interrupt, user, or blockable
context
if uio_segflg
is set to UIO_SYSSPACE.
Warnings
When holding locks across calls to this function,
multithreaded drivers must be careful to avoid creating a deadlock.
During the data transfer, page fault resolution
might result in another I/O to the same device.
For example, this could occur if the driver controls the disk drive
used as the swap device.
Hardware applicability
All
Version applicability
ddi:
1, 2, 3, 4, 5, 5mp, 6, 6mp, 7, 7mp, 7.1, 7.1mp, 8, 8mp
References
iovec(D4)
uio(D4)
uiomove(D3),
uwritec(D3)
19 June 2005
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005