1*4a421b63SDag-Erling Smørgrav /* 2*4a421b63SDag-Erling Smørgrav * Public domain, 2008, Todd C. Miller <Todd.Miller@courtesan.com> 3*4a421b63SDag-Erling Smørgrav * 4*4a421b63SDag-Erling Smørgrav * $OpenBSD: charclass.h,v 1.1 2008/10/01 23:04:13 millert Exp $ 5*4a421b63SDag-Erling Smørgrav */ 6*4a421b63SDag-Erling Smørgrav 7*4a421b63SDag-Erling Smørgrav /* OPENBSD ORIGINAL: lib/libc/gen/charclass.h */ 8*4a421b63SDag-Erling Smørgrav 9*4a421b63SDag-Erling Smørgrav /* 10*4a421b63SDag-Erling Smørgrav * POSIX character class support for fnmatch() and glob(). 11*4a421b63SDag-Erling Smørgrav */ 12*4a421b63SDag-Erling Smørgrav static struct cclass { 13*4a421b63SDag-Erling Smørgrav const char *name; 14*4a421b63SDag-Erling Smørgrav int (*isctype)(int); 15*4a421b63SDag-Erling Smørgrav } cclasses[] = { 16*4a421b63SDag-Erling Smørgrav { "alnum", isalnum }, 17*4a421b63SDag-Erling Smørgrav { "alpha", isalpha }, 18*4a421b63SDag-Erling Smørgrav { "blank", isblank }, 19*4a421b63SDag-Erling Smørgrav { "cntrl", iscntrl }, 20*4a421b63SDag-Erling Smørgrav { "digit", isdigit }, 21*4a421b63SDag-Erling Smørgrav { "graph", isgraph }, 22*4a421b63SDag-Erling Smørgrav { "lower", islower }, 23*4a421b63SDag-Erling Smørgrav { "print", isprint }, 24*4a421b63SDag-Erling Smørgrav { "punct", ispunct }, 25*4a421b63SDag-Erling Smørgrav { "space", isspace }, 26*4a421b63SDag-Erling Smørgrav { "upper", isupper }, 27*4a421b63SDag-Erling Smørgrav { "xdigit", isxdigit }, 28*4a421b63SDag-Erling Smørgrav { NULL, NULL } 29*4a421b63SDag-Erling Smørgrav }; 30*4a421b63SDag-Erling Smørgrav 31*4a421b63SDag-Erling Smørgrav #define NCCLASSES (sizeof(cclasses) / sizeof(cclasses[0]) - 1) 32