mbed TLS v2.16.3
Macros | Functions | Variables
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
ttPointer to an object containing time (in seconds) since the epoch to be converted
tm_bufPointer 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
bufBuffer to be zeroized
lenLength 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.