#ifndef AG_CHAR_MAP_H_GUARD
#define AG_CHAR_MAP_H_GUARD 1
#ifdef HAVE_CONFIG_H
# if defined(HAVE_INTTYPES_H)
# include <inttypes.h>
# elif defined(HAVE_STDINT_H)
# include <stdint.h>
# else
# ifndef HAVE_INT8_T
typedef signed char int8_t;
# endif
# ifndef HAVE_UINT8_T
typedef unsigned char uint8_t;
# endif
# ifndef HAVE_INT16_T
typedef signed short int16_t;
# endif
# ifndef HAVE_UINT16_T
typedef unsigned short uint16_t;
# endif
# ifndef HAVE_UINT_T
typedef unsigned int uint_t;
# endif
# ifndef HAVE_INT32_T
# if SIZEOF_INT == 4
typedef signed int int32_t;
# elif SIZEOF_LONG == 4
typedef signed long int32_t;
# endif
# endif
# ifndef HAVE_UINT32_T
# if SIZEOF_INT == 4
typedef unsigned int uint32_t;
# elif SIZEOF_LONG == 4
typedef unsigned long uint32_t;
# endif
# endif
# endif
#else
# ifdef __sun
# include <inttypes.h>
# else
# include <stdint.h>
# endif
#endif
#if 0
#endif
typedef uint32_t opt_char_cat_mask_t;
extern opt_char_cat_mask_t const opt_char_cat[128];
static inline int is_opt_char_cat_char(char ch, opt_char_cat_mask_t mask) {
unsigned int ix = (unsigned char)ch;
return ((ix < 0x7F) && ((opt_char_cat[ix] & mask) != 0)); }
#define IS_LOWER_CASE_CHAR(_c) is_opt_char_cat_char((_c), 0x00001)
#define IS_UPPER_CASE_CHAR(_c) is_opt_char_cat_char((_c), 0x00002)
#define IS_ALPHABETIC_CHAR(_c) is_opt_char_cat_char((_c), 0x00003)
#define IS_OCT_DIGIT_CHAR(_c) is_opt_char_cat_char((_c), 0x00004)
#define IS_DEC_DIGIT_CHAR(_c) is_opt_char_cat_char((_c), 0x0000C)
#define IS_HEX_DIGIT_CHAR(_c) is_opt_char_cat_char((_c), 0x0001C)
#define IS_ALPHANUMERIC_CHAR(_c) is_opt_char_cat_char((_c), 0x0000F)
#define IS_VAR_FIRST_CHAR(_c) is_opt_char_cat_char((_c), 0x00023)
#define IS_VARIABLE_NAME_CHAR(_c) is_opt_char_cat_char((_c), 0x0002F)
#define IS_OPTION_NAME_CHAR(_c) is_opt_char_cat_char((_c), 0x0006F)
#define IS_VALUE_NAME_CHAR(_c) is_opt_char_cat_char((_c), 0x000EF)
#define IS_HORIZ_WHITE_CHAR(_c) is_opt_char_cat_char((_c), 0x00100)
#define IS_COMPOUND_NAME_CHAR(_c) is_opt_char_cat_char((_c), 0x003EF)
#define IS_WHITESPACE_CHAR(_c) is_opt_char_cat_char((_c), 0x00500)
#define IS_UNQUOTABLE_CHAR(_c) is_opt_char_cat_char((_c), 0x00800)
#define IS_END_XML_TOKEN_CHAR(_c) is_opt_char_cat_char((_c), 0x01500)
#define IS_GRAPHIC_CHAR(_c) is_opt_char_cat_char((_c), 0x02000)
#define IS_PLUS_N_SPACE_CHAR(_c) is_opt_char_cat_char((_c), 0x04500)
#define IS_PUNCTUATION_CHAR(_c) is_opt_char_cat_char((_c), 0x08000)
#define IS_SUFFIX_CHAR(_c) is_opt_char_cat_char((_c), 0x1000F)
#define IS_SUFFIX_FMT_CHAR(_c) is_opt_char_cat_char((_c), 0x3000F)
#define IS_FALSE_TYPE_CHAR(_c) is_opt_char_cat_char((_c), 0x40000)
#ifdef AUTOOPTS_INTERNAL
opt_char_cat_mask_t const opt_char_cat[128] = {
0x40000, 0x00000, 0x00000, 0x00000,
0x00000, 0x00000, 0x00000, 0x00000,
0x00400, 0x00100, 0x00400, 0x00400,
0x00400, 0x00400, 0x00000, 0x00000,
0x00000, 0x00000, 0x00000, 0x00000,
0x00000, 0x00000, 0x00000, 0x00000,
0x00000, 0x00000, 0x00000, 0x00000,
0x00000, 0x00000, 0x00000, 0x00000,
0x00100, 0x0A800, 0x0A000, 0x0A000,
0x0A800, 0x2A800, 0x0A800, 0x0A000,
0x0A000, 0x0A000, 0x0A000, 0x0E800,
0x0A000, 0x1A840, 0x1AA00, 0x2B800,
0x42804, 0x02804, 0x02804, 0x02804,
0x02804, 0x02804, 0x02804, 0x02804,
0x02808, 0x02808, 0x0A880, 0x0A000,
0x0A000, 0x0A000, 0x0B000, 0x0A000,
0x0A800, 0x02812, 0x02812, 0x02812,
0x02812, 0x02812, 0x42812, 0x02802,
0x02802, 0x02802, 0x02802, 0x02802,
0x02802, 0x02802, 0x42802, 0x02802,
0x02802, 0x02802, 0x02802, 0x02802,
0x02802, 0x02802, 0x02802, 0x02802,
0x02802, 0x02802, 0x02802, 0x0A200,
0x0A000, 0x0A200, 0x0A840, 0x12820,
0x0A000, 0x02811, 0x02811, 0x02811,
0x02811, 0x02811, 0x42811, 0x02801,
0x02801, 0x02801, 0x02801, 0x02801,
0x02801, 0x02801, 0x42801, 0x02801,
0x02801, 0x02801, 0x02801, 0x02801,
0x02801, 0x02801, 0x02801, 0x02801,
0x02801, 0x02801, 0x02801, 0x0A000,
0x0A800, 0x0A000, 0x0A800, 0x00000
};
#endif
#endif