platform_util.h File Reference

Common and shared functions used by multiple modules in the Mbed TLS library. More...

`#include "config.h"`
`#include <stddef.h>`
`#include "platform_time.h"`
`#include <time.h>`
Include dependency graph for platform_util.h:
This graph shows which files directly or indirectly include this file:

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 __attribute__((deprecated))
#define | MBEDTLS_DEPRECATED_STRING_CONSTANT(VAL) ( (mbedtls_deprecated_string_constant_t) ( VAL ) )
#define | MBEDTLS_DEPRECATED_NUMERIC_CONSTANT(VAL) ( (mbedtls_deprecated_numeric_constant_t) ( 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...

## Variables

MBEDTLS_DEPRECATED typedef const char * | mbedtls_deprecated_string_constant_t
MBEDTLS_DEPRECATED typedef int | mbedtls_deprecated_numeric_constant_t

## Detailed Description

Common and shared functions used by multiple modules in the Mbed TLS library.

Definition in file platform_util.h.

## Macro Definition Documentation

## MBEDTLS_DEPRECATED

#define MBEDTLS_DEPRECATED __attribute__((deprecated))

Definition at line 123 of file platform_util.h.

## MBEDTLS_DEPRECATED_NUMERIC_CONSTANT

#define MBEDTLS_DEPRECATED_NUMERIC_CONSTANT | ( |  | VAL | ) | ( (mbedtls_deprecated_numeric_constant_t) ( VAL ) )

Definition at line 128 of file platform_util.h.

## MBEDTLS_DEPRECATED_STRING_CONSTANT

#define MBEDTLS_DEPRECATED_STRING_CONSTANT | ( |  | VAL | ) | ( (mbedtls_deprecated_string_constant_t) ( VAL ) )

Definition at line 125 of file platform_util.h.

## MBEDTLS_INTERNAL_VALIDATE

#define MBEDTLS_INTERNAL_VALIDATE | ( |  | cond | ) | do { } while( 0 )

Definition at line 112 of file platform_util.h.

## MBEDTLS_INTERNAL_VALIDATE_RET

#define MBEDTLS_INTERNAL_VALIDATE_RET | ( |  | cond,
|  |  | ret
| ) |  | do { } while( 0 )

Definition at line 111 of file platform_util.h.

## Function Documentation

## mbedtls_platform_gmtime_r()

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

## mbedtls_platform_zeroize()

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

## Variable Documentation

## mbedtls_deprecated_numeric_constant_t

MBEDTLS_DEPRECATED typedef int mbedtls_deprecated_numeric_constant_t

Definition at line 127 of file platform_util.h.

## mbedtls_deprecated_string_constant_t

MBEDTLS_DEPRECATED typedef const char* mbedtls_deprecated_string_constant_t

Definition at line 124 of file platform_util.h.