15#if !defined(IFX_MEMCPY) || !defined(IFX_MEMCMP) || !defined(IFX_MEMSET) || \
25#define IFX_MEMCPY(dest, src, size) \
26 memcpy(dest, src, size)
35#define IFX_MEMCMP(first_memory, second_memory, size) \
36 memcmp(first_memory, second_memory, size)
44#define IFX_MEMSET(buffer, value, size) memset(buffer, value, size)
52#define IFX_FREE(buffer) free(buffer)
62#define IFX_UNUSED_VARIABLE(var) (void) var
69#define IFX_UTILS_CONCAT UINT8_C(0x01)
74#define IFX_ENABLE UINT8_C(0x01)
79#define IFX_DISABLE UINT8_C(0x00)
84#define IFX_LITTLE_ENDIAN IFX_ENABLE
89#define IFX_VALIDATE_NULL_PTR IFX_ENABLE
94#define IFX_VALIDATE_NULL_PTR_BLOB(blob) (blob == NULL || blob->buffer == NULL)
99#define IFX_VALIDATE_NULL_PTR_MEMORY(data) (data == NULL)
107#define IFX_GET_LOWER_BYTE(p1_value, p2_value) \
108 (p1_value) = ((p2_value) & 0x00FF);
113#define IFX_GET_UPPER_BYTE(p1_value, p2_value) \
114 (p1_value) = (((p2_value) & 0xFF00) >> 8);
120#define IFX_READ_U16(buffer, value) \
122 value = (((*(uint8_t *) buffer) << 8) | (*(uint8_t *) (buffer + 1))); \
129#define IFX_UPDATE_U16(buffer, value) \
131 *(uint8_t *) buffer = (uint8_t) ((value >> 8) & 0x00FF); \
132 *(uint8_t *) (buffer + 1) = (uint8_t) (value); \
141#define IFX_GET_LOWER_BYTE(p1_value, p2_value) \
142 (p1_value) = (((p2_value) & 0xff00) >> 8);
147#define IFX_GET_UPPER_BYTE(p1_value, p2_value) \
148 (p1_value) = ((p2_value) & 0x00FF);
159#define IFX_READ_U32(buffer, u32value) \
161 u32value = ((((*(uint8_t *) (buffer)) << 24) & 0XFF000000) | \
162 (((*(uint8_t *) (buffer + 1)) << 16) & 0X00FF0000) | \
163 (((*(uint8_t *) (buffer + 2)) << 8) & 0X0000FF00) | \
164 (((*(uint8_t *) (buffer + 3)) & 0X000000FF))); \
176#define IFX_UPDATE_U32(buffer, u32value) \
178 *(uint8_t *) buffer = (uint8_t) ((u32value >> 24) & 0xFF); \
179 *(uint8_t *) (buffer + 1) = (uint8_t) ((u32value >> 16) & 0xFF); \
180 *(uint8_t *) (buffer + 2) = (uint8_t) ((u32value >> 8) & 0xFF); \
181 *(uint8_t *) (buffer + 3) = (uint8_t) (u32value); \
uint32_t ifx_status_t
Custom return code type used by all Infineon host software libraries.
Provides the module, method and error identifiers of the library.
ifx_status_t ifx_utils_concat(const ifx_blob_t *append_data, ifx_blob_t *result)
Concatenates the buffers of two ifx_blob_t type data structures. Buffer field of append_data will be ...
Data storage for data and data length where both are required as parameters.