Data Transfer Services

The lists in this section show user-mode data access kernel services (primitives).

Kernel Service Purpose
suword Stores a word of data in user memory.
fubyte Fetches, or retrieves, a byte of data from user memory.
fuword Fetches, or retrieves, a word of data from user memory.
copyin Copies data between user and kernel memory.
copyout Copies data between user and kernel memory.
copyinstr Copies a character string (including the terminating null character) from user to kernel space.

Additional kernel services allow data transfer between user mode and kernel mode when a uio structure is used, thereby describing the user-mode data area to be accessed. Following is a list of services that typically are used between the file system and device drivers to perform device I/O:

Kernel Service Purpose
uiomove Moves a block of data between kernel space and a space defined by a uio structure.
ureadc Writes a character to a buffer described by a uio structure.
uwritec Retrieves a character from a buffer described by a uio structure.

Kernel services ending in “64”, such as suword64, copyin64 and so on, are deprecated in AIX® 6.1 and later. To maintain binary compatibility of applications, macros in the sys/uio.h header file redefine these services to their counterparts when compiling in 64-bit mode.