rtapi_div_u64(3rtapi)

NAME

rtapi_div_u64 - unsigned division of a 64-bit number by a 32-bit number

SYNTAX

__u64 rtapi_div_u64_rem(__u64 dividend, __u32 divisor, __u32 *remainder)

__u64 rtapi_div_u64(__u64 dividend, __u32 divisor)

__s64 rtapi_div_s64(__s64 dividend, __s32 divisor)

__s64 rtapi_div_s64_rem(__s64 dividend, __s32 divisor, __s32 *remainder)

ARGUMENTS

dividend
    The value to be divided

divisor
    The value to divide by

remainder
    Pointer to the location to store the remainder. This may not be a NULL pointer. If the remainder is not desired, call rtapi_div_u64 or rtapi_div_s64.

DESCRIPTION
Perform integer division (and optionally compute the remainder) with a 64-bit dividend and 32-bit divisor.

RETURN VALUE
The result of integer division of dividend / divisor. In versions with the remainder argument, the remainder is stored in the pointed-to location.

NOTES
If the result of the division does not fit in the return type, the result is undefined.

This function exists because in kernel space the use of the division operator on a 64-bit type can lead to an undefined symbol such as __umoddi3 when the module is loaded.

REALTIME CONSIDERATIONS
May be called from init/cleanup code and from within realtime tasks. Available in non-realtime components.