InnoDB Plugin  1.0
Functions
ut0byte.h File Reference
#include "univ.i"
#include "ut0byte.ic"
Include dependency graph for ut0byte.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of 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 1/20/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 in: align by this number

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 in: nth bit requested

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 in: value for the bit to set

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 in: align by this number which must be a power of 2

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 in: align by this number which must be a power of 2

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