USTORE(9) | Kernel Developer's Manual | USTORE(9)

# NAME

`ustore`, `ustore_8`, `ustore_16`, `ustore_32`, `ustore_64`, `ustore_char`, `ustore_short`, `ustore_int`, `ustore_long`, `ustore_ptr` —
store data in user-space

# SYNOPSIS

`#include <sys/systm.h>`

int
`ustore_8`(const uint8_t *uaddr, uint8_t val);

int
`ustore_16`(const uint16_t *uaddr, uint16_t val);

int
`ustore_32`(const uint32_t *uaddr, uint32_t val);

int
`ustore_64`(const uint64_t *uaddr, uint64_t val);

int
`ustore_char`(const unsigned char *uaddr, unsigned char val);

int
`ustore_short`(const unsigned short *uaddr, unsigned short val);

int
`ustore_int`(const unsigned int *uaddr, unsigned int val);

int
`ustore_long`(const unsigned long *uaddr, unsigned long val);

int
`ustore_ptr`(const void **uaddr, void *val);

# DESCRIPTION

The `ustore` functions provide a way to store a value to single memory cells in user-space. In each case, the value val is stored in the user-space memory location referenced by uaddr.

The `ustore_64` function is only available on systems employing the ‘LP64’ memory model, which can be determined by testing for the presence of the `_LP64` C preprocessor macro.

# RETURN VALUES

The `ustore` functions return 0 on success and an error number on failure.

# SEE ALSO

copy(9), ufetch(9)

March 18, 2019 | NetBSD 9.2