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