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