#ifndef _INTTYPES_H_
#define _INTTYPES_H_
#include <sys/cdefs.h>
#include <sys/featuretest.h>
#include <sys/inttypes.h>
#include <machine/ansi.h>
#if defined(_BSD_WCHAR_T_) && !defined(__cplusplus)
typedef _BSD_WCHAR_T_ wchar_t;
#undef _BSD_WCHAR_T_
#endif
__BEGIN_DECLS
intmax_t strtoimax(const char * __restrict,
char ** __restrict, int);
uintmax_t strtoumax(const char * __restrict,
char ** __restrict, int);
intmax_t wcstoimax(const wchar_t * __restrict,
wchar_t ** __restrict, int);
uintmax_t wcstoumax(const wchar_t * __restrict,
wchar_t ** __restrict, int);
intmax_t imaxabs(intmax_t);
typedef struct {
intmax_t quot;
intmax_t rem;
} imaxdiv_t;
imaxdiv_t imaxdiv(intmax_t, intmax_t);
#if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE)
# ifndef __LOCALE_T_DECLARED
typedef struct _locale *locale_t;
# define __LOCALE_T_DECLARED
# endif
intmax_t strtoimax_l(const char * __restrict,
char ** __restrict, int, locale_t);
uintmax_t strtoumax_l(const char * __restrict,
char ** __restrict, int, locale_t);
intmax_t wcstoimax_l(const wchar_t * __restrict,
wchar_t ** __restrict, int, locale_t);
uintmax_t wcstoumax_l(const wchar_t * __restrict,
wchar_t ** __restrict, int, locale_t);
#endif
#if defined(_NETBSD_SOURCE)
intmax_t strtoi(const char * __restrict, char ** __restrict, int,
intmax_t, intmax_t, int *);
uintmax_t strtou(const char * __restrict, char ** __restrict, int,
uintmax_t, uintmax_t, int *);
intmax_t strtoi_l(const char * __restrict, char ** __restrict, int,
intmax_t, intmax_t, int *, locale_t);
uintmax_t strtou_l(const char * __restrict, char ** __restrict, int,
uintmax_t, uintmax_t, int *, locale_t);
#endif
__END_DECLS
#endif