API Documentation (Doxygen generated)
These pages are generated with doxygen directly from the source code!
Common and shared functions used by multiple modules in the Mbed TLS library. More...


Go to the source code of this file.
Macros | |
#define | MBEDTLS_INTERNAL_VALIDATE_RET(cond, ret) do { } while( 0 ) |
#define | MBEDTLS_INTERNAL_VALIDATE(cond) do { } while( 0 ) |
#define | MBEDTLS_DEPRECATED_STRING_CONSTANT(VAL) VAL |
#define | MBEDTLS_DEPRECATED_NUMERIC_CONSTANT(VAL) VAL |
Functions | |
void | mbedtls_platform_zeroize (void *buf, size_t len) |
Securely zeroize a buffer. More... | |
struct tm * | mbedtls_platform_gmtime_r (const mbedtls_time_t *tt, struct tm *tm_buf) |
Platform-specific implementation of gmtime_r() More... | |
Detailed Description
Common and shared functions used by multiple modules in the Mbed TLS library.
Definition in file platform_util.h.
Macro Definition Documentation
#define MBEDTLS_DEPRECATED_NUMERIC_CONSTANT | ( | VAL | ) | VAL |
Definition at line 122 of file platform_util.h.
#define MBEDTLS_DEPRECATED_STRING_CONSTANT | ( | VAL | ) | VAL |
Definition at line 121 of file platform_util.h.
#define MBEDTLS_INTERNAL_VALIDATE | ( | cond | ) | do { } while( 0 ) |
Definition at line 101 of file platform_util.h.
#define MBEDTLS_INTERNAL_VALIDATE_RET | ( | cond, | |
ret | |||
) | do { } while( 0 ) |
Definition at line 100 of file platform_util.h.
Referenced by mbedtls_cipher_get_block_size(), mbedtls_cipher_get_cipher_mode(), mbedtls_cipher_get_iv_size(), mbedtls_cipher_get_key_bitlen(), mbedtls_cipher_get_name(), mbedtls_cipher_get_operation(), and mbedtls_cipher_get_type().
Function Documentation
struct tm* mbedtls_platform_gmtime_r | ( | const mbedtls_time_t * | tt, |
struct tm * | tm_buf | ||
) |
Platform-specific implementation of gmtime_r()
The function is a thread-safe abstraction that behaves similarly to the gmtime_r() function from Unix/POSIX.
Mbed TLS will try to identify the underlying platform and make use of an appropriate underlying implementation (e.g. gmtime_r() for POSIX and gmtime_s() for Windows). If this is not possible, then gmtime() will be used. In this case, calls from the library to gmtime() will be guarded by the mutex mbedtls_threading_gmtime_mutex if MBEDTLS_THREADING_C is enabled. It is recommended that calls from outside the library are also guarded by this mutex.
If MBEDTLS_PLATFORM_GMTIME_R_ALT is defined, then Mbed TLS will unconditionally use the alternative implementation for mbedtls_platform_gmtime_r() supplied by the user at compile time.
- Parameters
-
tt Pointer to an object containing time (in seconds) since the epoch to be converted tm_buf Pointer to an object where the results will be stored
- Returns
- Pointer to an object of type struct tm on success, otherwise NULL
void mbedtls_platform_zeroize | ( | void * | buf, |
size_t | len | ||
) |
Securely zeroize a buffer.
The function is meant to wipe the data contained in a buffer so that it can no longer be recovered even if the program memory is later compromised. Call this function on sensitive data stored on the stack before returning from a function, and on sensitive data stored on the heap before freeing the heap object.
It is extremely difficult to guarantee that calls to mbedtls_platform_zeroize() are not removed by aggressive compiler optimizations in a portable way. For this reason, Mbed TLS provides the configuration option MBEDTLS_PLATFORM_ZEROIZE_ALT, which allows users to configure mbedtls_platform_zeroize() to use a suitable implementation for their platform and needs
- Parameters
-
buf Buffer to be zeroized len Length of the buffer in bytes