FETCH(9) BSD Kernel Developer's Manual FETCH(9)
fetch, fubyte, fuibyte, fusword, fuswintr, fuword, fuiword -- fetch data
fubyte(const void *base);
fusword(const void *base);
fuswintr(const void *base);
fuword(const void *base);
The fetch functions are designed to copy small amounts of data from user-
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
fuswintr() Fetches a short word of data from the user-space address
base. This function is safe to call during an interrupt con-
fuword() Fetches a word of data from the user-space address base.
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().
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.
BSD January 7, 1996 BSD