ureadc(D3)
ureadc - copy a character to space described by uio(D4) structure
As shipped in IRIX 6.5.5. Unchanged since IRIX 6.5.
NAME ureadc - copy a character to space described by uio(D4) structure SYNOPSIS #include <sys/uio.h> #include <sys/ddi.h> int ureadc(int c, uio_t *uiop); Arguments c The character to be copied. uiop Pointer to the uio structure. DESCRIPTION ureadc copies the character c into the space described by the uio 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). Return Values ureadc returns 0 on success or an error number on failure. USAGE Level Base only if uio_segflg is set to UIO_USERSPACE. Base or Interrupt if uio_segflg is set to UIO_SYSSPACE. Synchronization Constraints May sleep if uio_segflg is set to UIO_USERSPACE. Driver-defined basic locks and read/write locks may be held across calls to this function if uio_segflg is UIO_SYSSPACE but may not be held if uio_segflg is UIO_USERSPACE. Driver-defined sleep locks may be held across calls to this function regardless of the value of uio_segflg. 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. REFERENCES iovec(D4), uio(D4), uiomove(D3), uwritec(D3)