36 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* $Id: myctype.h,v 1.6 2003/09/22 21:02:20 ukai Exp $ */
 | 
						|
#ifndef _MYCTYPE_H
 | 
						|
#define _MYCTYPE_H
 | 
						|
 | 
						|
#define MYCTYPE_CNTRL 1
 | 
						|
#define MYCTYPE_SPACE 2
 | 
						|
#define MYCTYPE_ALPHA 4
 | 
						|
#define MYCTYPE_DIGIT 8
 | 
						|
#define MYCTYPE_PRINT 16
 | 
						|
#define MYCTYPE_HEX   32
 | 
						|
#define MYCTYPE_INTSPACE 64
 | 
						|
#define MYCTYPE_ASCII (MYCTYPE_CNTRL|MYCTYPE_PRINT)
 | 
						|
#define MYCTYPE_ALNUM (MYCTYPE_ALPHA|MYCTYPE_DIGIT)
 | 
						|
#define MYCTYPE_XDIGIT (MYCTYPE_HEX|MYCTYPE_DIGIT)
 | 
						|
 | 
						|
#define GET_MYCTYPE(x) (MYCTYPE_MAP[(int)(unsigned char)(x)])
 | 
						|
#define GET_MYCDIGIT(x) (MYCTYPE_DIGITMAP[(int)(unsigned char)(x)])
 | 
						|
 | 
						|
#define IS_CNTRL(x) (GET_MYCTYPE(x) & MYCTYPE_CNTRL)
 | 
						|
#define IS_SPACE(x) (GET_MYCTYPE(x) & MYCTYPE_SPACE)
 | 
						|
#define IS_ALPHA(x) (GET_MYCTYPE(x) & MYCTYPE_ALPHA)
 | 
						|
#define IS_DIGIT(x) (GET_MYCTYPE(x) & MYCTYPE_DIGIT)
 | 
						|
#define IS_PRINT(x) (GET_MYCTYPE(x) & MYCTYPE_PRINT)
 | 
						|
#define IS_ASCII(x) (GET_MYCTYPE(x) & MYCTYPE_ASCII)
 | 
						|
#define IS_ALNUM(x) (GET_MYCTYPE(x) & MYCTYPE_ALNUM)
 | 
						|
#define IS_XDIGIT(x) (GET_MYCTYPE(x) & MYCTYPE_XDIGIT)
 | 
						|
#define IS_INTSPACE(x) (MYCTYPE_MAP[(unsigned char)(x)] & MYCTYPE_INTSPACE)
 | 
						|
 | 
						|
extern unsigned char MYCTYPE_MAP[];
 | 
						|
extern unsigned char MYCTYPE_DIGITMAP[];
 | 
						|
 | 
						|
#define	TOLOWER(x)	(IS_ALPHA(x) ? ((x)|0x20) : (x))
 | 
						|
#define	TOUPPER(x)	(IS_ALPHA(x) ? ((x)&~0x20) : (x))
 | 
						|
 | 
						|
#endif
 |