DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 
SVR5

uwritec(D3)


uwritec -- return a character from space described by uio structure

Synopsis

   #include <sys/uio.h>
   #include <sys/ddi.h>
   

int uwritec(uio_t *uiop);

Description

uwritec copies a character from the space described by the uio(D4) to the caller.

The uio_segflg member of the uio structure specifies the type of space from which the copy is made. If uio_segflg is set to UIO_SYSSPACE the character is copied from a kernel address. If uio_segflg is set to UIO_USERSPACE the character is copied from a user address.

If the character is successfully copied, uwritec 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) and returns the character to the caller.

Arguments


uiop
Pointer to the uio structure.

Return values

If successful, uwritec returns the character. -1 is returned if the space described by the uio(D4) structure is empty or there is an error.

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.

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), ureadc(D3)
19 June 2005
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005