/* Header file auto-generated by Charmonizer. 
 * DO NOT EDIT THIS FILE!!
 */

#ifndef H_CHARMONY
#define H_CHARMONY 1

#define CHY_EMPLOY_INTEGERTYPES

#define CHY_EMPLOY_INTEGERLITERALS

#define CHY_EMPLOY_INTEGERFORMATSTRINGS


/* BuildEnv */
#define CHY_CC cc
#define CHY_CFLAGS  -fno-common -DPERL_DARWIN -mmacosx-version-min=12.4 -fno-strict-aliasing -pipe -fstack-protector-strong -DPERL_USE_SAFE_PUTENV -I/Users/pkarman/perl5/perlbrew/perls/perl-5.36.0/lib/5.36.0/darwin-2level/CORE
#define CHY_EXTRA_CFLAGS -pedantic -Wall -Wextra -Wno-variadic-macros -Wno-overlength-strings -DPERL_GCC_PEDANTIC -std=gnu99 -D_GNU_SOURCE

#if defined(CHY_USE_SHORT_NAMES) || defined(CHAZ_USE_SHORT_NAMES)
  #define CC CHY_CC
  #define CFLAGS CHY_CFLAGS
  #define EXTRA_CFLAGS CHY_EXTRA_CFLAGS
#endif /* USE_SHORT_NAMES */


/* DirManip */
#define CHY_HAS_DIRENT_H
#define CHY_HAS_DIRENT_D_NAMLEN
#define CHY_HAS_DIRENT_D_TYPE
#define chy_makedir(_dir, _mode) mkdir(_dir, _mode)
#define CHY_MAKEDIR_MODE_IGNORED 0
#define CHY_DIR_SEP "/"
#define CHY_DIR_SEP_CHAR '/'
#define CHY_REMOVE_ZAPS_DIRS

#if defined(CHY_USE_SHORT_NAMES) || defined(CHAZ_USE_SHORT_NAMES)
  #define HAS_DIRENT_H CHY_HAS_DIRENT_H
  #define HAS_DIRENT_D_NAMLEN CHY_HAS_DIRENT_D_NAMLEN
  #define HAS_DIRENT_D_TYPE CHY_HAS_DIRENT_D_TYPE
  #define makedir(_dir, _mode) chy_makedir(_dir, _mode)
  #define MAKEDIR_MODE_IGNORED CHY_MAKEDIR_MODE_IGNORED
  #define DIR_SEP CHY_DIR_SEP
  #define DIR_SEP_CHAR CHY_DIR_SEP_CHAR
  #define REMOVE_ZAPS_DIRS CHY_REMOVE_ZAPS_DIRS
#endif /* USE_SHORT_NAMES */


/* Headers */
#define CHY_HAS_POSIX
#define CHY_HAS_C89
#define CHY_HAS_C90
#define CHY_HAS_CPIO_H
#define CHY_HAS_DIRENT_H
#define CHY_HAS_FCNTL_H
#define CHY_HAS_GRP_H
#define CHY_HAS_PWD_H
#define CHY_HAS_REGEX_H
#define CHY_HAS_SCHED_H
#define CHY_HAS_SYS_STAT_H
#define CHY_HAS_SYS_TIME_H
#define CHY_HAS_SYS_TIMES_H
#define CHY_HAS_SYS_TYPES_H
#define CHY_HAS_SYS_UTSNAME_H
#define CHY_HAS_SYS_WAIT_H
#define CHY_HAS_TAR_H
#define CHY_HAS_TERMIOS_H
#define CHY_HAS_UNISTD_H
#define CHY_HAS_UTIME_H
#define CHY_HAS_ASSERT_H
#define CHY_HAS_CTYPE_H
#define CHY_HAS_ERRNO_H
#define CHY_HAS_FLOAT_H
#define CHY_HAS_LIMITS_H
#define CHY_HAS_LOCALE_H
#define CHY_HAS_MATH_H
#define CHY_HAS_SETJMP_H
#define CHY_HAS_SIGNAL_H
#define CHY_HAS_STDARG_H
#define CHY_HAS_STDDEF_H
#define CHY_HAS_STDIO_H
#define CHY_HAS_STDLIB_H
#define CHY_HAS_STRING_H
#define CHY_HAS_TIME_H
#define CHY_HAS_PTHREAD_H

#if defined(CHY_USE_SHORT_NAMES) || defined(CHAZ_USE_SHORT_NAMES)
  #define HAS_POSIX CHY_HAS_POSIX
  #define HAS_C89 CHY_HAS_C89
  #define HAS_C90 CHY_HAS_C90
  #define HAS_CPIO_H CHY_HAS_CPIO_H
  #define HAS_DIRENT_H CHY_HAS_DIRENT_H
  #define HAS_FCNTL_H CHY_HAS_FCNTL_H
  #define HAS_GRP_H CHY_HAS_GRP_H
  #define HAS_PWD_H CHY_HAS_PWD_H
  #define HAS_REGEX_H CHY_HAS_REGEX_H
  #define HAS_SCHED_H CHY_HAS_SCHED_H
  #define HAS_SYS_STAT_H CHY_HAS_SYS_STAT_H
  #define HAS_SYS_TIME_H CHY_HAS_SYS_TIME_H
  #define HAS_SYS_TIMES_H CHY_HAS_SYS_TIMES_H
  #define HAS_SYS_TYPES_H CHY_HAS_SYS_TYPES_H
  #define HAS_SYS_UTSNAME_H CHY_HAS_SYS_UTSNAME_H
  #define HAS_SYS_WAIT_H CHY_HAS_SYS_WAIT_H
  #define HAS_TAR_H CHY_HAS_TAR_H
  #define HAS_TERMIOS_H CHY_HAS_TERMIOS_H
  #define HAS_UNISTD_H CHY_HAS_UNISTD_H
  #define HAS_UTIME_H CHY_HAS_UTIME_H
  #define HAS_ASSERT_H CHY_HAS_ASSERT_H
  #define HAS_CTYPE_H CHY_HAS_CTYPE_H
  #define HAS_ERRNO_H CHY_HAS_ERRNO_H
  #define HAS_FLOAT_H CHY_HAS_FLOAT_H
  #define HAS_LIMITS_H CHY_HAS_LIMITS_H
  #define HAS_LOCALE_H CHY_HAS_LOCALE_H
  #define HAS_MATH_H CHY_HAS_MATH_H
  #define HAS_SETJMP_H CHY_HAS_SETJMP_H
  #define HAS_SIGNAL_H CHY_HAS_SIGNAL_H
  #define HAS_STDARG_H CHY_HAS_STDARG_H
  #define HAS_STDDEF_H CHY_HAS_STDDEF_H
  #define HAS_STDIO_H CHY_HAS_STDIO_H
  #define HAS_STDLIB_H CHY_HAS_STDLIB_H
  #define HAS_STRING_H CHY_HAS_STRING_H
  #define HAS_TIME_H CHY_HAS_TIME_H
  #define HAS_PTHREAD_H CHY_HAS_PTHREAD_H
#endif /* USE_SHORT_NAMES */


/* FuncMacro */
#define CHY_HAS_FUNC_MACRO
#define CHY_FUNC_MACRO __func__
#define CHY_HAS_ISO_FUNC_MACRO
#define CHY_HAS_GNUC_FUNC_MACRO
#define CHY_INLINE __inline

#if defined(CHY_USE_SHORT_NAMES) || defined(CHAZ_USE_SHORT_NAMES)
  #define HAS_FUNC_MACRO CHY_HAS_FUNC_MACRO
  #define FUNC_MACRO CHY_FUNC_MACRO
  #define HAS_ISO_FUNC_MACRO CHY_HAS_ISO_FUNC_MACRO
  #define HAS_GNUC_FUNC_MACRO CHY_HAS_GNUC_FUNC_MACRO
  #define INLINE CHY_INLINE
#endif /* USE_SHORT_NAMES */


/* Booleans */
#define CHY_HAS_STDBOOL_H

#if defined(CHY_USE_SHORT_NAMES) || defined(CHAZ_USE_SHORT_NAMES)
  #define HAS_STDBOOL_H CHY_HAS_STDBOOL_H
#endif /* USE_SHORT_NAMES */

#ifdef CHY_EMPLOY_BOOLEANS

#include <stdbool.h>

#endif /* EMPLOY_BOOLEANS */


/* Integers */
#define CHY_LITTLE_END
#define CHY_HAS_INTTYPES_H
#define CHY_HAS_STDINT_H
#define CHY_HAS_LONG_LONG
#define CHY_SIZEOF_CHAR 1
#define CHY_SIZEOF_SHORT 2
#define CHY_SIZEOF_INT 4
#define CHY_SIZEOF_LONG 8
#define CHY_SIZEOF_PTR 8
#define CHY_SIZEOF_SIZE_T 8
#define CHY_SIZEOF_LONG_LONG 8
#define CHY_HAS_INT8_T
#define CHY_HAS_INT16_T
#define CHY_HAS_INT32_T
#define CHY_HAS_INT64_T
#define CHY_PTR_TO_I64(ptr) ((int64_t)(uint64_t)(ptr))
#define CHY_U64_TO_DOUBLE(num) ((double)(num))

#if defined(CHY_USE_SHORT_NAMES) || defined(CHAZ_USE_SHORT_NAMES)
  #define LITTLE_END CHY_LITTLE_END
  #define HAS_INTTYPES_H CHY_HAS_INTTYPES_H
  #define HAS_STDINT_H CHY_HAS_STDINT_H
  #define HAS_LONG_LONG CHY_HAS_LONG_LONG
  #define SIZEOF_CHAR CHY_SIZEOF_CHAR
  #define SIZEOF_SHORT CHY_SIZEOF_SHORT
  #define SIZEOF_INT CHY_SIZEOF_INT
  #define SIZEOF_LONG CHY_SIZEOF_LONG
  #define SIZEOF_PTR CHY_SIZEOF_PTR
  #define SIZEOF_SIZE_T CHY_SIZEOF_SIZE_T
  #define SIZEOF_LONG_LONG CHY_SIZEOF_LONG_LONG
  #define HAS_INT8_T CHY_HAS_INT8_T
  #define HAS_INT16_T CHY_HAS_INT16_T
  #define HAS_INT32_T CHY_HAS_INT32_T
  #define HAS_INT64_T CHY_HAS_INT64_T
  #define PTR_TO_I64(ptr) CHY_PTR_TO_I64(ptr)
  #define U64_TO_DOUBLE(num) CHY_U64_TO_DOUBLE(num)
#endif /* USE_SHORT_NAMES */


/* IntegerTypes */

#if defined(CHY_USE_SHORT_NAMES) || defined(CHAZ_USE_SHORT_NAMES)
#endif /* USE_SHORT_NAMES */

#ifdef CHY_EMPLOY_INTEGERTYPES

#include <stdint.h>

#endif /* EMPLOY_INTEGERTYPES */


/* IntegerLimits */

#if defined(CHY_USE_SHORT_NAMES) || defined(CHAZ_USE_SHORT_NAMES)
#endif /* USE_SHORT_NAMES */

#ifdef CHY_EMPLOY_INTEGERLIMITS

#include <stdint.h>

#endif /* EMPLOY_INTEGERLIMITS */


/* IntegerLiterals */

#if defined(CHY_USE_SHORT_NAMES) || defined(CHAZ_USE_SHORT_NAMES)
#endif /* USE_SHORT_NAMES */

#ifdef CHY_EMPLOY_INTEGERLITERALS

#include <stdint.h>

#endif /* EMPLOY_INTEGERLITERALS */


/* IntegerFormatStrings */

#if defined(CHY_USE_SHORT_NAMES) || defined(CHAZ_USE_SHORT_NAMES)
#endif /* USE_SHORT_NAMES */

#ifdef CHY_EMPLOY_INTEGERFORMATSTRINGS

#include <inttypes.h>

#endif /* EMPLOY_INTEGERFORMATSTRINGS */


/* Strings */
#define CHY_HAS_C99_SNPRINTF

#if defined(CHY_USE_SHORT_NAMES) || defined(CHAZ_USE_SHORT_NAMES)
  #define HAS_C99_SNPRINTF CHY_HAS_C99_SNPRINTF
#endif /* USE_SHORT_NAMES */


/* Memory */
#define CHY_HAS_SYS_MMAN_H
#define CHY_HAS_ALLOCA_H
#define chy_alloca alloca

#if defined(CHY_USE_SHORT_NAMES) || defined(CHAZ_USE_SHORT_NAMES)
  #define HAS_SYS_MMAN_H CHY_HAS_SYS_MMAN_H
  #define HAS_ALLOCA_H CHY_HAS_ALLOCA_H
#endif /* USE_SHORT_NAMES */


/* SymbolVisibility */
#define CHY_EXPORT __attribute__ ((visibility ("default")))
#define CHY_IMPORT

#if defined(CHY_USE_SHORT_NAMES) || defined(CHAZ_USE_SHORT_NAMES)
  #define EXPORT CHY_EXPORT
  #define IMPORT CHY_IMPORT
#endif /* USE_SHORT_NAMES */


/* UnusedVars */
#define CHY_UNUSED_VAR(x) ((void)x)
#define CHY_UNREACHABLE_RETURN(type) return (type)0

#if defined(CHY_USE_SHORT_NAMES) || defined(CHAZ_USE_SHORT_NAMES)
  #define UNUSED_VAR(x) CHY_UNUSED_VAR(x)
  #define UNREACHABLE_RETURN(type) CHY_UNREACHABLE_RETURN(type)
#endif /* USE_SHORT_NAMES */


/* VariadicMacros */
#define CHY_HAS_VARIADIC_MACROS
#define CHY_HAS_ISO_VARIADIC_MACROS
#define CHY_HAS_GNUC_VARIADIC_MACROS

#if defined(CHY_USE_SHORT_NAMES) || defined(CHAZ_USE_SHORT_NAMES)
  #define HAS_VARIADIC_MACROS CHY_HAS_VARIADIC_MACROS
  #define HAS_ISO_VARIADIC_MACROS CHY_HAS_ISO_VARIADIC_MACROS
  #define HAS_GNUC_VARIADIC_MACROS CHY_HAS_GNUC_VARIADIC_MACROS
#endif /* USE_SHORT_NAMES */

#define CHY_HAS_VA_COPY

#endif /* H_CHARMONY */

