$darkmode
cmocka 2.0.2
Unit testing library with mock support
🔨 Utility Macros and Types

Type conversions, casting helpers, and common data structures. More...

Data Structures

union  CMockaValueData
 

Macros

#define cast_to_intmax_type(value)   ((intmax_t)(value))
 
#define cast_to_uintmax_type(value)   ((uintmax_t)(value))
 
#define cast_ptr_to_uintmax_type(value)   ((uintmax_t)(uintptr_t)(value))
 
#define cast_to_double_type(value)   ((double)(value))
 
#define cast_to_float_type(value)   ((float)(value))
 
#define cast_to_void_pointer(ptr)   ((void *)(uintptr_t)(ptr))
 
#define cast_int_to_cmocka_value(value)
 
#define cast_ptr_to_cmocka_value(value)
 
#define assign_int_to_cmocka_value(value)
 
#define assign_uint_to_cmocka_value(value)
 
#define assign_float_to_cmocka_value(value)
 
#define assign_double_to_cmocka_value(value)
 
#define cmocka_tostring(val)   #val
 

Detailed Description

Type conversions, casting helpers, and common data structures.

Internal utilities and data types used throughout the CMocka API.

Macro Definition Documentation

◆ assign_double_to_cmocka_value

#define assign_double_to_cmocka_value (   value)
Value:
{ \
.real_val = ((double)(value)) \
}
Definition: cmocka.h:6346

Assign a double floating point value to CMockaValueData.

◆ assign_float_to_cmocka_value

#define assign_float_to_cmocka_value (   value)
Value:
{ \
.float_val = ((float)(value)) \
}
Definition: cmocka.h:6346

Assign a floating point value to CMockaValueData.

◆ assign_int_to_cmocka_value

#define assign_int_to_cmocka_value (   value)
Value:
{ \
.int_val = (value) \
}
Definition: cmocka.h:6346

Assign an integer value to CMockaValueData.

◆ assign_uint_to_cmocka_value

#define assign_uint_to_cmocka_value (   value)
Value:
{ \
.uint_val = (value) \
}
Definition: cmocka.h:6346

Assign an unsigned integer value to CMockaValueData.

◆ cast_int_to_cmocka_value

#define cast_int_to_cmocka_value (   value)
Value:
{ \
.uint_val = (uintmax_t)(value) \
}
Definition: cmocka.h:6346

Perform a cast from an integer to CMockaValueData.

For backwards compatibility reasons, this explicitly casts to uintmax_t. For most compilers, this will suppress warnings about passing float/intmax_t to this macro.

◆ cast_ptr_to_cmocka_value

#define cast_ptr_to_cmocka_value (   value)
Value:
{ \
.const_ptr = (value) \
}
Definition: cmocka.h:6346

Perform a cast from a pointer to CMockaValueData.

◆ cast_to_void_pointer

#define cast_to_void_pointer (   ptr)    ((void *)(uintptr_t)(ptr))

Perform cast to void pointer.

ISO C forbids conversion between function pointers and void*. This macro provides a portable way to perform such conversions by casting through uintptr_t, which is allowed by POSIX and works on all practical platforms.