table of contents
| FETCH(9) | Kernel Developer's Manual | FETCH(9) | 
NAME¶
fetch, fubyte,
    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);
int
  
  fueword(volatile
    const void *base, long
    *val);
int
  
  fueword32(volatile
    const void *base, int32_t
    *val);
int
  
  fueword64(volatile
    const void *base, int64_t
    *val);
#include
    <sys/resourcevar.h>
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.
 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(), and fuword64()
    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¶
| January 23, 2020 | Debian |