41 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* ctype.h */
 | 
						|
 | 
						|
/* This file contains macros definitions and extern declarations for a
 | 
						|
 * version of <ctype.h> which is aware of the o_flipcase letters used in
 | 
						|
 * elvis.
 | 
						|
 *
 | 
						|
 * This file uses the "uchar" data type and "UCHAR" conversion macro which
 | 
						|
 * are defined in "config.h".  Consequently, any file that includes this
 | 
						|
 * header must include config.h first.
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef _CT_UPPER
 | 
						|
 | 
						|
#define _CT_UPPER	0x01
 | 
						|
#define _CT_LOWER	0x02
 | 
						|
#define _CT_SPACE	0x04
 | 
						|
#define _CT_DIGIT	0x08
 | 
						|
#define _CT_ALNUM	0x10
 | 
						|
#define _CT_CNTRL	0x20
 | 
						|
 | 
						|
#define isalnum(c)	(_ct_ctypes[UCHAR(c)] & _CT_ALNUM)
 | 
						|
#define isalpha(c)	(_ct_ctypes[UCHAR(c)] & (_CT_LOWER|_CT_UPPER))
 | 
						|
#define isdigit(c)	(_ct_ctypes[UCHAR(c)] & _CT_DIGIT)
 | 
						|
#define islower(c)	(_ct_ctypes[UCHAR(c)] & _CT_LOWER)
 | 
						|
#define isspace(c)	(_ct_ctypes[UCHAR(c)] & _CT_SPACE)
 | 
						|
#define isupper(c)	(_ct_ctypes[UCHAR(c)] & _CT_UPPER)
 | 
						|
#define iscntrl(c)	(_ct_ctypes[UCHAR(c)] & _CT_CNTRL)
 | 
						|
#define ispunct(c)	(!_ct_ctypes[UCHAR(c)]) /* punct = "none of the above" */
 | 
						|
 | 
						|
#define isascii(c)	(!((c) & 0x80))
 | 
						|
 | 
						|
#define toupper(c)	_ct_toupper[UCHAR(c)]
 | 
						|
#define tolower(c)	_ct_tolower[UCHAR(c)]
 | 
						|
 | 
						|
extern uchar	_ct_toupper[];
 | 
						|
extern uchar	_ct_tolower[];
 | 
						|
extern uchar	_ct_ctypes[];
 | 
						|
extern void	_ct_init(/* char *flipcase */);
 | 
						|
 | 
						|
#endif /* ndef _CT_UPPER */
 |