1#ifndef __STDC_WANT_LIB_EXT1__
2#define __STDC_WANT_LIB_EXT1__ 1
5#include "ruby/missing.h"
30#ifndef FUNC_UNOPTIMIZED
31# define FUNC_UNOPTIMIZED(x) x
35#ifndef HAVE_EXPLICIT_BZERO
36 #ifdef HAVE_EXPLICIT_MEMSET
38explicit_bzero(
void *b,
size_t len)
40 (void)explicit_memset(b, 0, len);
42 #elif defined HAVE_MEMSET_S
44explicit_bzero(
void *b,
size_t len)
46 memset_s(b, len, 0, len);
48 #elif defined SecureZeroMemory
50explicit_bzero(
void *b,
size_t len)
52 SecureZeroMemory(b, len);
55 #elif defined HAVE_FUNC_WEAK
58WEAK(
void ruby_explicit_bzero_hook_unused(
void *buf,
size_t len));
60ruby_explicit_bzero_hook_unused(
void *buf,
size_t len)
65explicit_bzero(
void *b,
size_t len)
68 ruby_explicit_bzero_hook_unused(b, len);
73FUNC_UNOPTIMIZED(
void explicit_bzero(
void *b,
size_t len));
77explicit_bzero(
void *b,
size_t len)
85 volatile char* p = (
volatile char*)b;