Annotation of src/include/vis.h, Revision 1.3
1.3 ! aaron 1: /* $OpenBSD: vis.h,v 1.2 1997/09/21 10:46:01 niklas Exp $ */
1.1 deraadt 2: /* $NetBSD: vis.h,v 1.4 1994/10/26 00:56:41 cgd Exp $ */
3:
4: /*-
5: * Copyright (c) 1990 The Regents of the University of California.
6: * All rights reserved.
7: *
8: * Redistribution and use in source and binary forms, with or without
9: * modification, are permitted provided that the following conditions
10: * are met:
11: * 1. Redistributions of source code must retain the above copyright
12: * notice, this list of conditions and the following disclaimer.
13: * 2. Redistributions in binary form must reproduce the above copyright
14: * notice, this list of conditions and the following disclaimer in the
15: * documentation and/or other materials provided with the distribution.
16: * 3. All advertising materials mentioning features or use of this software
17: * must display the following acknowledgement:
18: * This product includes software developed by the University of
19: * California, Berkeley and its contributors.
20: * 4. Neither the name of the University nor the names of its contributors
21: * may be used to endorse or promote products derived from this software
22: * without specific prior written permission.
23: *
24: * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
25: * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27: * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
28: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29: * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30: * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33: * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34: * SUCH DAMAGE.
35: *
36: * @(#)vis.h 5.9 (Berkeley) 4/3/91
37: */
38:
39: #ifndef _VIS_H_
40: #define _VIS_H_
41:
42: /*
43: * to select alternate encoding format
44: */
45: #define VIS_OCTAL 0x01 /* use octal \ddd format */
1.3 ! aaron 46: #define VIS_CSTYLE 0x02 /* use \[nrft0..] where appropriate */
1.1 deraadt 47:
48: /*
49: * to alter set of characters encoded (default is to encode all
50: * non-graphic except space, tab, and newline).
51: */
52: #define VIS_SP 0x04 /* also encode space */
53: #define VIS_TAB 0x08 /* also encode tab */
54: #define VIS_NL 0x10 /* also encode newline */
55: #define VIS_WHITE (VIS_SP | VIS_TAB | VIS_NL)
56: #define VIS_SAFE 0x20 /* only encode "unsafe" characters */
57:
58: /*
59: * other
60: */
61: #define VIS_NOSLASH 0x40 /* inhibit printing '\' */
62:
63: /*
64: * unvis return codes
65: */
66: #define UNVIS_VALID 1 /* character valid */
67: #define UNVIS_VALIDPUSH 2 /* character valid, push back passed char */
68: #define UNVIS_NOCHAR 3 /* valid sequence, no character produced */
69: #define UNVIS_SYNBAD -1 /* unrecognized escape sequence */
70: #define UNVIS_ERROR -2 /* decoder in unknown state (unrecoverable) */
71:
72: /*
73: * unvis flags
74: */
75: #define UNVIS_END 1 /* no more characters */
76:
77: #include <sys/cdefs.h>
78:
79: __BEGIN_DECLS
80: char *vis __P((char *, int, int, int));
81: int strvis __P((char *, const char *, int));
82: int strvisx __P((char *, const char *, size_t, int));
83: int strunvis __P((char *, const char *));
84: int unvis __P((char *, char, int *, int));
85: __END_DECLS
86:
87: #endif /* !_VIS_H_ */