#ifndef __TSLOCALE_H__
#define __TSLOCALE_H__

#include "postgres.h"

#include <ctype.h>
#include <limits.h>

/*
 * towlower() and friends should be in <wctype.h>, but some pre-C99 systems
 * declare them in <wchar.h>.
 */
#ifdef HAVE_WCHAR_H
#include <wchar.h>
#endif
#ifdef HAVE_WCTYPE_H
#include <wctype.h>
#endif

#if defined(HAVE_WCSTOMBS) && defined(HAVE_TOWLOWER)
#define TS_USE_WIDE

#ifdef WIN32

size_t		wchar2char(char *to, const wchar_t *from, size_t len);
size_t		char2wchar(wchar_t *to, const char *from, size_t len);
#else							/* WIN32 */

/* correct mbstowcs */
#define char2wchar mbstowcs
#define wchar2char wcstombs
#endif   /* WIN32 */
#endif   /* defined(HAVE_WCSTOMBS) &&
								 * defined(HAVE_TOWLOWER) */

#endif   /* __TSLOCALE_H__ */
