17#define APR_WANT_MEMFUNC
21#include "apr_arch_misc.h"
23#if APR_HAVE_SYS_TYPES_H
26#if APR_HAVE_SYS_SOCKET_H
27#include <sys/socket.h>
38#if defined(HAVE_UUID_H)
40#elif defined(HAVE_UUID_UUID_H)
42#elif defined(HAVE_SYS_UUID_H)
46#if defined(SYS_RANDOM)
47#if defined(HAVE_SYS_RANDOM_H) && \
48 defined(HAVE_GETRANDOM)
50#include <sys/random.h>
53#elif defined(HAVE_SYS_SYSCALL_H) && \
54 defined(HAVE_LINUX_RANDOM_H) && \
55 defined(HAVE_DECL_SYS_GETRANDOM) && \
56 HAVE_DECL_SYS_GETRANDOM
62#include <sys/syscall.h>
63#include <linux/random.h>
64#define getrandom(buf, buflen, flags) \
65 syscall(SYS_getrandom, (buf), (buflen), (flags))
77#if defined(HAVE_UUID_CREATE)
94#elif defined(HAVE_UUID_GENERATE)
137 unsigned char req[2],
resp[255];
211#elif defined(SYS_RANDOM) && defined(USE_GETRANDOM)
228#elif defined(SYS_RANDOM) && defined(HAVE_ARC4RANDOM_BUF)
232#elif defined(DEV_RANDOM)
275#elif defined(HAVE_TRUERAND)
288#error APR_HAS_RANDOM defined with no implementation
299#include "randbyte_os2.inc"
APR Miscellaneous library routines.
APR Standard Headers Support.
const unsigned char * buf
const void apr_status_t(*) apr_status_t(* APR_DECLARE)(void) apr_pool_pre_cleanup_register(apr_pool_t *p
apr_sockaddr_t * sockaddr