1218767Sdes/*
2218767Sdes * Public domain, 2008, Todd C. Miller <Todd.Miller@courtesan.com>
3218767Sdes *
4218767Sdes * $OpenBSD: charclass.h,v 1.1 2008/10/01 23:04:13 millert Exp $
5218767Sdes */
6218767Sdes
7218767Sdes/* OPENBSD ORIGINAL: lib/libc/gen/charclass.h */
8218767Sdes
9218767Sdes/*
10218767Sdes * POSIX character class support for fnmatch() and glob().
11218767Sdes */
12218767Sdesstatic struct cclass {
13218767Sdes	const char *name;
14218767Sdes	int (*isctype)(int);
15218767Sdes} cclasses[] = {
16218767Sdes	{ "alnum",	isalnum },
17218767Sdes	{ "alpha",	isalpha },
18218767Sdes	{ "blank",	isblank },
19218767Sdes	{ "cntrl",	iscntrl },
20218767Sdes	{ "digit",	isdigit },
21218767Sdes	{ "graph",	isgraph },
22218767Sdes	{ "lower",	islower },
23218767Sdes	{ "print",	isprint },
24218767Sdes	{ "punct",	ispunct },
25218767Sdes	{ "space",	isspace },
26218767Sdes	{ "upper",	isupper },
27218767Sdes	{ "xdigit",	isxdigit },
28218767Sdes	{ NULL,		NULL }
29218767Sdes};
30218767Sdes
31218767Sdes#define NCCLASSES	(sizeof(cclasses) / sizeof(cclasses[0]) - 1)
32