Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

ucas(9) [netbsd man page]

UCAS(9) 						   BSD Kernel Developer's Manual						   UCAS(9)

NAME
ucas -- atomic memory operations on user-space address SYNOPSIS
#include <sys/systm.h> int ucas_ptr(volatile void *uptr, void *old, void *new, void *retp); int ucas_int(volatile int *uptr, int old, int new, int *retp); DESCRIPTION
These functions provide compare-and-swap (CAS) functionality on user-space address. Except that they can be safely used for the kernel to access user-space address, they are semantically equivalents of atomic_cas(3). uptr The pointer to the variable. This should be a user-space pointer. old The value to compare with the variable. new The value to store to the variable. retp The pointer to the memory to store the old value of the variable. RETURN VALUES
On success, these functions return 0. In that case, the caller can consult the value returned via retp to check the result of the CAS opera- tion. Otherwise, these functions return an appropriate errno(9) error code, typically EFAULT. SEE ALSO
atomic_cas(3), intro(9) BUGS
Conceptually, the retp argument of ucas_ptr() would be of void **. The current prototype is a compromise for usability. BSD
October 24, 2011 BSD

Check Out this Related Man Page

STORE(9)						   BSD Kernel Developer's Manual						  STORE(9)

NAME
store, subyte, suswintr, suword -- store data to user-space SYNOPSIS
#include <sys/types.h> #include <sys/time.h> #include <sys/systm.h> int subyte(volatile void *base, int byte); int suword(volatile void *base, long word); int suword16(volatile void *base, int word); int suword32(volatile void *base, int32_t word); int suword64(volatile void *base, int64_t word); #include <sys/resourcevar.h> int suswintr(void *base, int word); DESCRIPTION
The store functions are designed to copy small amounts of data to user-space. If write is successful, it is performed atomically. The data written must be naturally aligned. The store routines provide the following functionality: subyte() Stores a byte of data to the user-space address base. suword() Stores a word of data to the user-space address base. suword16() Stores 16 bits of data to the user-space address base. suword32() Stores 32 bits of data to the user-space address base. suword64() Stores 64 bits of data to the user-space address base. suswintr() Stores a short word of data to the user-space address base. This function is safe to call during an interrupt context. RETURN VALUES
The store functions return 0 on success or -1 on failure. SEE ALSO
copy(9), fetch(9) BSD
October 29, 2014 BSD
Man Page

3 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

How to compare null and space using single if condition

Hi I have a input file with many fields and each filed will be with in double quotes(""). i want to check fields contains balnk,null or space using condition using if. when i write code as below for if condition its not working a=`awk -F ',' '{gsub("\"", "", $1);'NF==0';printf $1}'... (3 Replies)
Discussion started by: jayakumarrt
3 Replies

2. Linux

Question about Variables in If?

Hi everybody, im trying to store a path "address" of a file in a variable, then IF the Address that the user entered INSIDE the variable is exist, do something, else echo invalid file address. here's my code, but it's not working i dunno why: $variable cat > variable #variable will contain... (4 Replies)
Discussion started by: iam_ako
4 Replies

3. UNIX for Dummies Questions & Answers

Printing pointer address

How can I print the memory address of a pointer using printf (or any other STDOUT functions?). I see in Linux its %p but not in unix, help? thanks (5 Replies)
Discussion started by: perleo
5 Replies