X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/f8b55f57304c2809cddf9374da11dab4631c133e..8c84600bf917165f5a9e17e7ee785ec61658b1ce:/usr/src/include/vis.h diff --git a/usr/src/include/vis.h b/usr/src/include/vis.h index 54e6a698b0..091f8e52c1 100644 --- a/usr/src/include/vis.h +++ b/usr/src/include/vis.h @@ -1,45 +1,53 @@ -/* - * Copyright (c) 1989 The Regents of the University of California. +/*- + * Copyright (c) 1990 The Regents of the University of California. * All rights reserved. * - * Redistribution and use in source and binary forms are permitted - * provided that the above copyright notice and this paragraph are - * duplicated in all such forms and that any documentation, - * advertising materials, and other materials related to such - * distribution and use acknowledge that the software was developed - * by the University of California, Berkeley. The name of the - * University may not be used to endorse or promote products derived - * from this software without specific prior written permission. - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. + * %sccs.include.redist.c% * - * @(#)vis.h 5.1 (Berkeley) %G% + * @(#)vis.h 5.8 (Berkeley) %G% + */ + +/* + * to select alternate encoding format */ +#define VIS_OCTAL 0x01 /* use octal \ddd format */ +#define VIS_CSTYLE 0x02 /* use \[nrft0..] where appropiate */ /* - * cencode flags + * to alter set of characters encoded (default is to encode all + * non-graphic except space, tab, and newline). */ -#define CENC_CSTYLE 1 /* use C-style backslash sequences */ -#define CENC_GRAPH 2 /* encode as ^? and M- sequences */ -#define CENC_OCTAL 4 /* encode as octal sequences */ -#define CENC_ALL (CENC_CSTYLE|CENC_GRAPH|CENC_OCTAL) -#define CENC_WHITE 8 /* encode white-space chars (sp-tb-nl) */ -#define CENC_RACHAR 0x10 /* look at read-ahead char */ +#define VIS_SP 0x04 /* also encode space */ +#define VIS_TAB 0x08 /* also encode tab */ +#define VIS_NL 0x10 /* also encode newline */ +#define VIS_WHITE (VIS_SP | VIS_TAB | VIS_NL) +#define VIS_SAFE 0x20 /* only encode "unsafe" characters */ /* - * cdecode flags + * other */ -#define CDEC_HAT 1 /* treat ^ as special */ -#define CDEC_END 2 /* reset decode machine */ +#define VIS_NOSLASH 0x40 /* inhibit printing '\' */ /* - * cdecode return codes + * unvis return codes */ -#define CDEC_NEEDMORE 0 /* not done, feed another char */ -#define CDEC_OK 1 /* done, character ready */ -#define CDEC_OKPUSH 2 /* done, push back passed char */ -#define CDEC_NOCHAR 3 /* done, no character ready (hidden newline) */ -#define CDEC_SYNBAD -1 /* unrecognized escape sequence */ +#define UNVIS_VALID 1 /* character valid */ +#define UNVIS_VALIDPUSH 2 /* character valid, push back passed char */ +#define UNVIS_NOCHAR 3 /* valid sequence, no character produced */ +#define UNVIS_SYNBAD -1 /* unrecognized escape sequence */ +#define UNVIS_ERROR -2 /* decoder in unknown state (unrecoverable) */ + +/* + * unvis flags + */ +#define UNVIS_END 1 /* no more characters */ + +#include -extern char *cencode(); +__BEGIN_DECLS +char *vis __P((char *, char, int, char)); +int strvis __P((char *, const char *, int)); +int strvisx __P((char *, const char *, size_t, int)); +int strunvis __P((char *, const char *)); +int unvis __P((char *, char, int *, int)); +__END_DECLS