Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ uwritec(D3DK) — Motorola System V 88k Release 4 Version 4.3

Media Vault

Software Library

Restoration Projects

Artifacts Sought

uwritec(D3DK)  —  

NAME

uwritec − return a character from space described by uio(D4DK) structure .IX \f4uwritec\fP(D3DK)

SYNOPSIS

#include <sys/uio.h>
int uwritec(uio_t ∗uiop);

ARGUMENTS

uiopPointer to the uio structure. 

DESCRIPTION

uwritec copies a character from the space described by the uio structure pointed to by uiop and returns the character 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(D4DK) 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. 

RETURN VALUE

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

LEVEL

Base only if uio_segflg is set to UIO_USERSPACE.  Base or interrupt if uio_segflg is set to UIO_SYSSPACE. 

NOTES

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. 

When holding locks across calls to this function, 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. 

SEE ALSO

uiomove(D3DK), ureadc(D3DK), iovec(D4DK), uio(D4DK)

DDI/DKI

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026