Provided by: freebsd-manpages_11.1-3_all
NAME
fetch, fubyte, fuswintr, fuword, fuword16, fuword32, fuword64, fueword, fueword32, fueword64 — fetch data from user-space
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
The fetch 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
The fubyte(), 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)