InnoDB Plugin  1.0
Functions
ut0byte.ic File Reference
This graph shows which files directly or indirectly include this file:

Functions

UNIV_INLINE ib_uint64_t ut_ull_create (ulint high, ulint low)
UNIV_INLINE ib_uint64_t ut_uint64_align_down (ib_uint64_t n, ulint align_no)
UNIV_INLINE ib_uint64_t ut_uint64_align_up (ib_uint64_t n, ulint align_no)
UNIV_INLINE void * ut_align (const void *ptr, ulint align_no)
UNIV_INLINE void * ut_align_down (const void *ptr, ulint align_no)
UNIV_INLINE ulint ut_align_offset (const void *ptr, ulint align_no)
UNIV_INLINE ibool ut_bit_get_nth (ulint a, ulint n)
UNIV_INLINE ulint ut_bit_set_nth (ulint a, ulint n, ibool val)

Detailed Description

Utilities for byte operations

Created 5/30/1994 Heikki Tuuri

Function Documentation

UNIV_INLINE void* ut_align ( const void *  ptr,
ulint  align_no 
)

The following function rounds up a pointer to the nearest aligned address.

Returns
aligned pointer
Parameters
ptrin: pointer
align_noin: align by this number
UNIV_INLINE void* ut_align_down ( const void *  ptr,
ulint  align_no 
)

The following function rounds down a pointer to the nearest aligned address.

Returns
aligned pointer
Parameters
ptrin: pointer
align_noin: align by this number
UNIV_INLINE ulint ut_align_offset ( const void *  ptr,
ulint  align_no 
)

The following function computes the offset of a pointer from the nearest aligned address.

Returns
distance from aligned pointer
Parameters
ptrin: pointer
align_noin: align by this number
UNIV_INLINE ibool ut_bit_get_nth ( ulint  a,
ulint  n 
)

Gets the nth bit of a ulint.

Returns
TRUE if nth bit is 1; 0th bit is defined to be the least significant
Parameters
ain: ulint
nin: nth bit requested
UNIV_INLINE ulint ut_bit_set_nth ( ulint  a,
ulint  n,
ibool  val 
)

Sets the nth bit of a ulint.

Returns
the ulint with the bit set as requested
Parameters
ain: ulint
nin: nth bit requested
valin: value for the bit to set
UNIV_INLINE ib_uint64_t ut_uint64_align_down ( ib_uint64_t  n,
ulint  align_no 
)

Rounds a 64-bit integer downward to a multiple of a power of 2.

Returns
rounded value
Parameters
nin: number to be rounded
align_noin: align by this number which must be a power of 2
UNIV_INLINE ib_uint64_t ut_uint64_align_up ( ib_uint64_t  n,
ulint  align_no 
)

Rounds ib_uint64_t upward to a multiple of a power of 2.

Returns
rounded value
Parameters
nin: number to be rounded
align_noin: align by this number which must be a power of 2
UNIV_INLINE ib_uint64_t ut_ull_create ( ulint  high,
ulint  low 
)

Creates a 64-bit integer out of two 32-bit integers.

Returns
created integer
Parameters
highin: high-order 32 bits
lowin: low-order 32 bits