furnace/extern/macports-legacy-support/include/stdlib.h
tildearrow 8b43d5a488 use macports-legacy-support for OS X
disabled for macOS onwards
modified version without APSL licensed files
2024-04-09 13:10:06 -05:00

79 lines
2 KiB
C

/*
* Copyright (c) 2018 Chris Jones <jonesc@macports.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
#ifndef _MACPORTS_STDLIB_H_
#define _MACPORTS_STDLIB_H_
/* MP support header */
#include "MacportsLegacySupport.h"
/* Include the primary system stdlib.h */
#include_next <stdlib.h>
/* posix_memalign */
#if __MP_LEGACY_SUPPORT_POSIX_MEMALIGN__
/*
* [XSI] The ssize_t and size_t types shall be defined as described
* in <sys/types.h>.
*/
#ifndef _SIZE_T
#define _SIZE_T
typedef __darwin_size_t size_t;
#endif
#ifndef _SSIZE_T
#define _SSIZE_T
typedef __darwin_ssize_t ssize_t;
#endif
__MP__BEGIN_DECLS
extern int posix_memalign(void **memptr, size_t alignment, size_t size);
__MP__END_DECLS
#endif /* __MP_LEGACY_SUPPORT_POSIX_MEMALIGN__ */
/* arc4random */
#if __MP_LEGACY_SUPPORT_ARC4RANDOM__
#ifndef _SIZE_T
#define _SIZE_T
typedef __darwin_size_t size_t;
#endif
#ifndef _UINT32_T
#define _UINT32_T
typedef unsigned int uint32_t;
#endif
/*
* Generate and return a uniformly random 32-bit quantity with an
* upper bound of 'upper_bound'
*/
__MP__BEGIN_DECLS
extern uint32_t arc4random_uniform( uint32_t upper_bound );
__MP__END_DECLS
/*
* Generate 'n' random bytes and put them in 'buf'.
*/
__MP__BEGIN_DECLS
extern void arc4random_buf( void* buf, size_t n );
__MP__END_DECLS
#endif /* __MP_LEGACY_SUPPORT_ARC4RANDOM__ */
#endif /* _MACPORTS_STDLIB_H_ */