GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
FETCH(9) FreeBSD Kernel Developer's Manual FETCH(9)

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

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

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.

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.

copy(9), store(9)
July 22, 2021 FreeBSD 13.1-RELEASE

Search for    or go to Top of page |  Section 9 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.