|
|
1.1 root 1: /*
2: * Copyright (c) 1983 Regents of the University of California.
3: * All rights reserved.
4: *
5: * This code is derived from software contributed to Berkeley by
6: * Edward Wang at The University of California, Berkeley.
7: *
8: * Redistribution and use in source and binary forms are permitted provided
9: * that: (1) source distributions retain this entire copyright notice and
10: * comment, and (2) distributions including binaries display the following
11: * acknowledgement: ``This product includes software developed by the
12: * University of California, Berkeley and its contributors'' in the
13: * documentation or other materials provided with the distribution and in
14: * all advertising materials mentioning features or use of this software.
15: * Neither the name of the University nor the names of its contributors may
16: * be used to endorse or promote products derived from this software without
17: * specific prior written permission.
18: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
19: * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
20: * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
21: *
22: * @(#)char.h 3.9 (Berkeley) 6/6/90
23: */
24:
25: /*
26: * Macros and things to deal with control characters.
27: *
28: * Unctrl() is just like the standard function, except we don't want
29: * to include curses.
30: * Isctrl() returns true for all characters less than space and
31: * greater than or equal to delete.
32: * Isprt() is tab and all characters not isctrl(). It's used
33: * by wwwrite().
34: * Isunctrl() includes all characters that should be expanded
35: * using unctrl() by wwwrite() if ww_unctrl is set.
36: */
37:
38: extern char *_unctrl[];
39: extern char _cmap[];
40: #define ctrl(c) (c & 0x1f)
41: #define unctrl(c) (_unctrl[(unsigned char) (c)])
42: #define _C 0x01
43: #define _P 0x02
44: #define _U 0x04
45: #define isctrl(c) (_cmap[(unsigned char) (c)] & _C)
46: #define isprt(c) (_cmap[(unsigned char) (c)] & _P)
47: #define isunctrl(c) (_cmap[(unsigned char) (c)] & _U)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.