DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 
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