tail head cat sleep
QR code linking to this page

Manual Pages  — FETCH

NAME

fetch, fubyte, fuword, fuword16, fuword32, fuword64, fueword, fueword32, fueword64 – fetch data from user-space

CONTENTS

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);

DESCRIPTION

The fetch functions are designed to copy small amounts of data from user-space of the current process. If the user address is naturally aligned, then the operation will be performed atomically. Otherwise it may fail or be performed non-atomically, depending on the platform.

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

copy(9), store(9)

FETCH (9) July 22, 2021

tail head cat sleep
QR code linking to this page


Please direct any comments about this manual page service to Ben Bullock. Privacy policy.