table of contents
| FETCH(9) | Kernel Developer's Manual | FETCH(9) |
NAME¶
fetch, fubyte,
fuswintr, fuword,
fuword16, fuword32,
fuword64, fueword,
fueword32, fueword64 —
SYNOPSIS¶
#include <sys/types.h>
#include <sys/systm.h>
int
fubyte(volatile
const void *base);
long
fuword(volatile
const void *base);
int
fuword16(volatile
const void *base);
int32_t
fuword32(volatile
const void *base);
int64_t
fuword64(volatile
const void *base);
long
fueword(volatile
const void *base, long
*val);
int32_t
fueword32(volatile
const void *base, int32_t
*val);
int64_t
fueword64(volatile
const void *base, int64_t
*val);
#include
<sys/resourcevar.h>
int
fuswintr(void
*base);
DESCRIPTION¶
Thefetch functions are designed to copy small amounts
of data from user-space of the current process. If read is successful, it is
performed atomically. The data read must be naturally aligned.
The fetch routines provide the following
functionality:
fubyte()- Fetches a byte of data from the user-space address base. The byte read is zero-extended into the results variable.
fuword()- Fetches a word of data (long) from the user-space address base.
fuword16()- Fetches 16 bits of data from the user-space address base. The half-word read is zero-extended into the results variable.
fuword32()- Fetches 32 bits of data from the user-space address base.
fuword64()- Fetches 64 bits of data from the user-space address base.
fuswintr()- Fetches a short word of data from the user-space address base. This function is safe to call during an interrupt context.
fueword()- Fetches a word of data (long) from the user-space address base and stores the result in the variable pointed by val.
fueword32()- Fetches 32 bits of data from the user-space address base and stores the result in the variable pointed by val.
fueword64()- Fetches 64 bits of data from the user-space address base and stores the result in the variable pointed by val.
The callers of fuword(),
fuword32() and fuword64()
functions cannot distinguish between -1 read from userspace and function
failure.
RETURN VALUES¶
Thefubyte(), fuword(),
fuword16(), fuword32(),
fuword64(), and fuswintr()
functions return the data fetched or -1 on failure. The
fueword(), fueword32() and
fueword64() functions return 0 on success and -1 on
failure.
SEE ALSO¶
copy(9), store(9)| October 29, 2014 | Linux 4.9.0-9-amd64 |