~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux/include/linux/ctype.h

Version: ~ [ 2.4.0 ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 #ifndef _LINUX_CTYPE_H
  2 #define _LINUX_CTYPE_H
  3 
  4 /*
  5  * NOTE! This ctype does not handle EOF like the standard C
  6  * library is required to.
  7  */
  8 
  9 #define _U      0x01    /* upper */
 10 #define _L      0x02    /* lower */
 11 #define _D      0x04    /* digit */
 12 #define _C      0x08    /* cntrl */
 13 #define _P      0x10    /* punct */
 14 #define _S      0x20    /* white space (space/lf/tab) */
 15 #define _X      0x40    /* hex digit */
 16 #define _SP     0x80    /* hard space (0x20) */
 17 
 18 extern unsigned char _ctype[];
 19 
 20 #define __ismask(x) (_ctype[(int)(unsigned char)(x)])
 21 
 22 #define isalnum(c)      ((__ismask(c)&(_U|_L|_D)) != 0)
 23 #define isalpha(c)      ((__ismask(c)&(_U|_L)) != 0)
 24 #define iscntrl(c)      ((__ismask(c)&(_C)) != 0)
 25 #define isdigit(c)      ((__ismask(c)&(_D)) != 0)
 26 #define isgraph(c)      ((__ismask(c)&(_P|_U|_L|_D)) != 0)
 27 #define islower(c)      ((__ismask(c)&(_L)) != 0)
 28 #define isprint(c)      ((__ismask(c)&(_P|_U|_L|_D|_SP)) != 0)
 29 #define ispunct(c)      ((__ismask(c)&(_P)) != 0)
 30 #define isspace(c)      ((__ismask(c)&(_S)) != 0)
 31 #define isupper(c)      ((__ismask(c)&(_U)) != 0)
 32 #define isxdigit(c)     ((__ismask(c)&(_D|_X)) != 0)
 33 
 34 #define isascii(c) (((unsigned char)(c))<=0x7f)
 35 #define toascii(c) (((unsigned char)(c))&0x7f)
 36 
 37 static inline unsigned char __tolower(unsigned char c)
 38 {
 39         if (isupper(c))
 40                 c -= 'A'-'a';
 41         return c;
 42 }
 43 
 44 static inline unsigned char __toupper(unsigned char c)
 45 {
 46         if (islower(c))
 47                 c -= 'a'-'A';
 48         return c;
 49 }
 50 
 51 #define tolower(c) __tolower(c)
 52 #define toupper(c) __toupper(c)
 53 
 54 #endif
 55 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.