NAME
fetch,
fubyte,
fuibyte,
fusword,
fuswintr,
fuword,
fuiword —
fetch data from user-space
SYNOPSIS
#include <sys/types.h>
#include <sys/systm.h>
int
fubyte(
const void
*base);
int
fusword(
const
void *base);
int
fuswintr(
const
void *base);
long
fuword(
const void
*base);
DESCRIPTION
The
fetch functions are designed to copy small amounts of data
from user-space.
The
fetch routines provide the following functionality:
-
-
- fubyte()
- Fetches a byte of data from the user-space address
base.
-
-
- fusword()
- Fetches a short word 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.
-
-
- fuword()
- Fetches a word of data from the user-space address
base.
RETURN VALUES
The
fetch functions return the data fetched or -1 on failure.
Note that these functions all do "unsigned" access, and therefore
will never sign extend byte or short values. This prevents ambiguity with the
error return value for all functions except
fuword().
SEE ALSO
copy(9),
store(9)
BUGS
The function
fuword() has no way to unambiguously signal an
error, because the data it reads might legitimately be the same as the -1 used
to indicate an error. The other functions do not have this problem because the
unsigned values returned by those can never match the -1 error return
value.