121 lines
3.3 KiB
C
Executable File
121 lines
3.3 KiB
C
Executable File
/* Copyright (c) 1988 AT&T */
|
|
/* All Rights Reserved */
|
|
|
|
/* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T */
|
|
/* The copyright notice above does not evidence any */
|
|
/* actual or intended publication of such source code. */
|
|
|
|
#ifndef _CTYPE_H
|
|
#define _CTYPE_H
|
|
|
|
#pragma ident "@(#)ctype.h 1.19 95/01/28 SMI" /* SVr4.0 1.18 */
|
|
|
|
#include <sys/feature_tests.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#define _U 01 /* Upper case */
|
|
#define _L 02 /* Lower case */
|
|
#define _N 04 /* Numeral (digit) */
|
|
#define _S 010 /* Spacing character */
|
|
#define _P 020 /* Punctuation */
|
|
#define _C 040 /* Control character */
|
|
#define _B 0100 /* Blank */
|
|
#define _X 0200 /* heXadecimal digit */
|
|
|
|
#if defined(__STDC__)
|
|
|
|
extern int isalnum(int);
|
|
extern int isalpha(int);
|
|
extern int iscntrl(int);
|
|
extern int isdigit(int);
|
|
extern int isgraph(int);
|
|
extern int islower(int);
|
|
extern int isprint(int);
|
|
extern int ispunct(int);
|
|
extern int isspace(int);
|
|
extern int isupper(int);
|
|
extern int isxdigit(int);
|
|
extern int tolower(int);
|
|
extern int toupper(int);
|
|
|
|
#if defined(__EXTENSIONS__) || ((__STDC__ == 0 && \
|
|
!defined(_POSIX_C_SOURCE)) || defined(_XOPEN_SOURCE))
|
|
|
|
extern int isascii(int);
|
|
extern int toascii(int);
|
|
extern int _tolower(int);
|
|
extern int _toupper(int);
|
|
|
|
#endif
|
|
|
|
extern unsigned char __ctype[];
|
|
|
|
/*
|
|
* Note that the following construct, "!#lint(on)", is a non-standard
|
|
* extension to ANSI-C. It is maintained here to provide compatibility
|
|
* for existing compilations systems, but should be viewed as transitional
|
|
* and may be removed in a future release. If it is required that this
|
|
* file not contain this extension, edit this file to remove the offending
|
|
* condition.
|
|
*/
|
|
#if !#lint(on) && !defined(__lint)
|
|
|
|
#define isalpha(c) ((__ctype + 1)[c] & (_U | _L))
|
|
#define isupper(c) ((__ctype + 1)[c] & _U)
|
|
#define islower(c) ((__ctype + 1)[c] & _L)
|
|
#define isdigit(c) ((__ctype + 1)[c] & _N)
|
|
#define isxdigit(c) ((__ctype + 1)[c] & _X)
|
|
#define isalnum(c) ((__ctype + 1)[c] & (_U | _L | _N))
|
|
#define isspace(c) ((__ctype + 1)[c] & _S)
|
|
#define ispunct(c) ((__ctype + 1)[c] & _P)
|
|
#define isprint(c) ((__ctype + 1)[c] & (_P | _U | _L | _N | _B))
|
|
#define isgraph(c) ((__ctype + 1)[c] & (_P | _U | _L | _N))
|
|
#define iscntrl(c) ((__ctype + 1)[c] & _C)
|
|
|
|
#if defined(__EXTENSIONS__) || ((__STDC__ == 0 && \
|
|
!defined(_POSIX_C_SOURCE)) || defined(_XOPEN_SOURCE))
|
|
|
|
#define isascii(c) (!((c) & ~0177))
|
|
#define _toupper(c) ((__ctype + 258)[c])
|
|
#define _tolower(c) ((__ctype + 258)[c])
|
|
#define toascii(c) ((c) & 0177)
|
|
|
|
#endif
|
|
|
|
#endif /* __lint */
|
|
|
|
#else /* __STDC__ */
|
|
|
|
extern unsigned char _ctype[];
|
|
|
|
#if !defined(lint) && !defined(__lint)
|
|
|
|
#define isalpha(c) ((_ctype + 1)[c] & (_U | _L))
|
|
#define isupper(c) ((_ctype + 1)[c] & _U)
|
|
#define islower(c) ((_ctype + 1)[c] & _L)
|
|
#define isdigit(c) ((_ctype + 1)[c] & _N)
|
|
#define isxdigit(c) ((_ctype + 1)[c] & _X)
|
|
#define isalnum(c) ((_ctype + 1)[c] & (_U | _L | _N))
|
|
#define isspace(c) ((_ctype + 1)[c] & _S)
|
|
#define ispunct(c) ((_ctype + 1)[c] & _P)
|
|
#define isprint(c) ((_ctype + 1)[c] & (_P | _U | _L | _N | _B))
|
|
#define isgraph(c) ((_ctype + 1)[c] & (_P | _U | _L | _N))
|
|
#define iscntrl(c) ((_ctype + 1)[c] & _C)
|
|
#define isascii(c) (!((c) & ~0177))
|
|
#define _toupper(c) ((_ctype + 258)[c])
|
|
#define _tolower(c) ((_ctype + 258)[c])
|
|
#define toascii(c) ((c) & 0177)
|
|
|
|
#endif /* __lint */
|
|
|
|
#endif /* __STDC__ */
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* _CTYPE_H */
|