home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1997: The Complete Utilities Toolkit / macworld-complete-utilities-1997.iso / Programming / kvik / src / ctype.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-07-27  |  2.7 KB  |  67 lines  |  [TEXT/UNIX]

  1. /*
  2.  * Copyright (c) 1989 The Regents of the University of California.
  3.  * All rights reserved.
  4.  *
  5.  * Redistribution and use in source and binary forms, with or without
  6.  * modification, are permitted provided that the following conditions
  7.  * are met:
  8.  * 1. Redistributions of source code must retain the above copyright
  9.  *    notice, this list of conditions and the following disclaimer.
  10.  * 2. Redistributions in binary form must reproduce the above copyright
  11.  *    notice, this list of conditions and the following disclaimer in the
  12.  *    documentation and/or other materials provided with the distribution.
  13.  * 3. All advertising materials mentioning features or use of this software
  14.  *    must display the following acknowledgement:
  15.  *    This product includes software developed by the University of
  16.  *    California, Berkeley and its contributors.
  17.  * 4. Neither the name of the University nor the names of its contributors
  18.  *    may be used to endorse or promote products derived from this software
  19.  *    without specific prior written permission.
  20.  *
  21.  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  22.  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  23.  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  24.  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  25.  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  26.  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  27.  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  28.  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  29.  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  30.  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  31.  * SUCH DAMAGE.
  32.  *
  33.  *    @(#)ctype.h    5.3 (Berkeley) 4/3/91
  34.  */
  35.  
  36. #ifndef _CTYPE_H_
  37. #define _CTYPE_H_
  38.  
  39. #define    _U    0x01
  40. #define    _L    0x02
  41. #define    _N    0x04
  42. #define    _S    0x08
  43. #define    _P    0x10
  44. #define    _C    0x20
  45. #define    _X    0x40
  46. #define    _B    0x80
  47.  
  48. extern char    _ctype_[];
  49.  
  50. #define    isdigit(c)    ((_ctype_ + 1)[c] & _N)
  51. #define    islower(c)    ((_ctype_ + 1)[c] & _L)
  52. #define    isspace(c)    ((_ctype_ + 1)[c] & _S)
  53. #define    ispunct(c)    ((_ctype_ + 1)[c] & _P)
  54. #define    isupper(c)    ((_ctype_ + 1)[c] & _U)
  55. #define    isalpha(c)    ((_ctype_ + 1)[c] & (_U|_L))
  56. #define    isxdigit(c)    ((_ctype_ + 1)[c] & (_N|_X))
  57. #define    isalnum(c)    ((_ctype_ + 1)[c] & (_U|_L|_N))
  58. #define    isprint(c)    ((_ctype_ + 1)[c] & (_P|_U|_L|_N|_B))
  59. #define    isgraph(c)    ((_ctype_ + 1)[c] & (_P|_U|_L|_N))
  60. #define    iscntrl(c)    ((_ctype_ + 1)[c] & _C)
  61. #define    isascii(c)    ((unsigned)(c) <= 0177)
  62. #define    toupper(c)    ((c) - 'a' + 'A')
  63. #define    tolower(c)    ((c) - 'A' + 'a')
  64. #define    toascii(c)    ((c) & 0177)
  65.  
  66. #endif /* !_CTYPE_H_ */
  67.