Generated from cl_atomic.h with ROBODoc v3.2.3 on Sat Jan 18 07:05:17 2003

TABLE OF CONTENTS

  1. Component Library/Atomic Operations
  2. Component Library: Atomic Operations/cl_atomic_add
  3. Component Library: Atomic Operations/cl_atomic_comp_xchg
  4. Component Library: Atomic Operations/cl_atomic_dec
  5. Component Library: Atomic Operations/cl_atomic_inc
  6. Component Library: Atomic Operations/cl_atomic_sub
  7. Component Library: Atomic Operations/cl_atomic_xchg

Component Library/Atomic Operations

NAME
    Atomic Operations

DESCRIPTION
    The Atomic Operations functions allow callers to operate on 
    32-bit signed integers in an atomic fashion.

Component Library: Atomic Operations/cl_atomic_add

NAME
    cl_atomic_add

DESCRIPTION
    The cl_atomic_add function atomically adds a value to a 
    32-bit signed integer and returns the resulting value.

SYNOPSIS
int32_t
cl_atomic_add(
    IN  atomic32_t* const   p_value,
    IN  const int32_t       increment );

PARAMETERS
    p_value
        [in] Pointer to a 32-bit integer that will be added to.

    increment
        [in] Value by which to increment the integer pointed to by p_value.

RETURN VALUE
    Returns the value pointed to by p_value after the addition.

NOTES
    The provided increment is added to the value and the result returned in 
    one atomic operation.

    cl_atomic_add maintains data consistency without requiring additional
    synchronization mechanisms in multi-threaded environments.

SEE ALSO
    Atomic Operations, cl_atomic_inc, cl_atomic_dec, cl_atomic_sub, 
    cl_atomic_xchg, cl_atomic_comp_xchg

Component Library: Atomic Operations/cl_atomic_comp_xchg

NAME
    cl_atomic_comp_xchg

DESCRIPTION
    The cl_atomic_comp_xchg function atomically compares a 32-bit signed 
    integer to a desired value, sets that integer to the
    specified value if equal, and returns the initial value.

SYNOPSIS
int32_t
cl_atomic_comp_xchg(
    IN  atomic32_t* const   p_value,
    IN  const int32_t       compare,
    IN  const int32_t       new_value );

PARAMETERS
    p_value
        [in] Pointer to a 32-bit integer to exchange with new_value.

    compare
        [in] Value to compare to the value pointed to by p_value.

    new_value
        [in] Value to assign if the value pointed to by p_value is equal to 
        the value specified by the compare parameter.

RETURN VALUE
    Returns the initial value of the variable pointed to by p_value.

NOTES
    The value pointed to by p_value is compared to the value specified by the 
    compare parameter.  If the two values are equal, the p_value variable is
    set to new_value.  The initial value pointed to by p_value is returned.

    cl_atomic_comp_xchg maintains data consistency without requiring additional
    synchronization mechanisms in multi-threaded environments.

SEE ALSO
    Atomic Operations, cl_atomic_inc, cl_atomic_dec, cl_atomic_add, 
    cl_atomic_sub, cl_atomic_xchg

Component Library: Atomic Operations/cl_atomic_dec

NAME
    cl_atomic_dec

DESCRIPTION
    The cl_atomic_dec function atomically decrements a 32-bit signed 
    integer and returns the decremented value.

SYNOPSIS
int32_t 
cl_atomic_dec( 
    IN  atomic32_t* const   p_value );

PARAMETERS
    p_value
        [in] Pointer to a 32-bit integer to decrement.

RETURN VALUE
    Returns the decremented value pointed to by p_value.

NOTES
    The provided value is decremented and its value returned in one atomic 
    operation.

    cl_atomic_dec maintains data consistency without requiring additional
    synchronization mechanisms in multi-threaded environments.

SEE ALSO
    Atomic Operations, cl_atomic_inc, cl_atomic_add, cl_atomic_sub, 
    cl_atomic_xchg, cl_atomic_comp_xchg

Component Library: Atomic Operations/cl_atomic_inc

NAME
    cl_atomic_inc

DESCRIPTION
    The cl_atomic_inc function atomically increments a 32-bit signed 
    integer and returns the incremented value.

SYNOPSIS
int32_t
cl_atomic_inc( 
    IN  atomic32_t* const   p_value );

PARAMETERS
    p_value
        [in] Pointer to a 32-bit integer to increment.

RETURN VALUE
    Returns the incremented value pointed to by p_value.

NOTES
    The provided value is incremented and its value returned in one atomic 
    operation.

    cl_atomic_inc maintains data consistency without requiring additional
    synchronization mechanisms in multi-threaded environments.

SEE ALSO
    Atomic Operations, cl_atomic_dec, cl_atomic_add, cl_atomic_sub, 
    cl_atomic_xchg, cl_atomic_comp_xchg

Component Library: Atomic Operations/cl_atomic_sub

NAME
    cl_atomic_sub

DESCRIPTION
    The cl_atomic_sub function atomically subtracts a value from a 
    32-bit signed integer and returns the resulting value.

SYNOPSIS
int32_t
cl_atomic_sub(
    IN  atomic32_t* const   p_value,
    IN  const int32_t       decrement );

PARAMETERS
    p_value
        [in] Pointer to a 32-bit integer that will be subtracted from.

    decrement
        [in] Value by which to decrement the integer pointed to by p_value.

RETURN VALUE
    Returns the value pointed to by p_value after the subtraction.

NOTES
    The provided decrement is subtracted from the value and the result 
    returned in one atomic operation.

    cl_atomic_sub maintains data consistency without requiring additional
    synchronization mechanisms in multi-threaded environments.

SEE ALSO
    Atomic Operations, cl_atomic_inc, cl_atomic_dec, cl_atomic_add, 
    cl_atomic_xchg, cl_atomic_comp_xchg

Component Library: Atomic Operations/cl_atomic_xchg

NAME
    cl_atomic_xchg

DESCRIPTION
    The cl_atomic_xchg function atomically sets a value of a 
    32-bit signed integer and returns the initial value.

SYNOPSIS
int32_t
cl_atomic_xchg(
    IN  atomic32_t* const   p_value,
    IN  const int32_t       new_value );

PARAMETERS
    p_value
        [in] Pointer to a 32-bit integer to exchange with new_value.

    new_value
        [in] Value to assign.

RETURN VALUE
    Returns the initial value pointed to by p_value.

NOTES
    The provided value is exchanged with new_value and its initial value 
    returned in one atomic operation.

    cl_atomic_xchg maintains data consistency without requiring additional
    synchronization mechanisms in multi-threaded environments.

SEE ALSO
    Atomic Operations, cl_atomic_inc, cl_atomic_dec, cl_atomic_add, 
    cl_atomic_sub, cl_atomic_comp_xchg