home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 4
/
FreshFish_May-June1994.bin
/
gnu
/
man
/
cat3
/
vis.0
< prev
Wrap
Text File
|
1993-12-07
|
6KB
|
133 lines
VIS(3) UNIX Programmer's Manual VIS(3)
NNAAMMEE
vviiss - visually encode characters
SSYYNNOOPPSSIISS
##iinncclluuddee <<vviiss..hh>>
_c_h_a_r _*
vviiss(_c_h_a_r _*_d_s_t, _c_h_a_r _c, _i_n_t _f_l_a_g, _c_h_a_r _n_e_x_t_c)
_i_n_t
ssttrrvviiss(_c_h_a_r _*_d_s_t, _c_h_a_r _*_s_r_c, _i_n_t _f_l_a_g)
_i_n_t
ssttrrvviissxx(_c_h_a_r _*_d_s_t, _c_h_a_r _*_s_r_c, _i_n_t _l_e_n, _i_n_t _f_l_a_g)
DDEESSCCRRIIPPTTIIOONN
The vviiss() function copies into _d_s_t a string which represents the charac
ter _c. If _c needs no encoding, it is copied in unaltered. The string is
null terminated, and a pointer to the end of the string is returned. The
maximum length of any encoding is four characters (not including the
trailing NULL); thus, when encoding a set of characters into a buffer,
the size of the buffer should be four times the number of characters en
coded, plus one for the trailing NULL. The flag parameter is used for al
tering the default range of characters considered for encoding and for
altering the visual representation. The additional character, _n_e_x_t_c, is
only used when selecting the VIS_CSTYLE encoding format (explained be
low).
The ssttrrvviiss() and ssttrrvviissxx() functions copy into _d_s_t a visual representa
tion of the string _s_r_c. The ssttrrvviiss() function encodes characters from _s_r_c
up to the first NULL. The ssttrrvviissxx() function encodes exactly _l_e_n charac
ters from _s_r_c (this is useful for encoding a block of data that may con
tain NULL's). Both forms NULL terminate _d_s_t. The size of _d_s_t must be four
times the number of characters encoded from _s_r_c (plus one for the NULL).
Both forms return the number of characters in dst (not including the
trailing NULL).
The encoding is a unique, invertible representation comprised entirely of
graphic characters; it can be decoded back into the original form using
the unvis(3) or strunvis(3) functions.
There are two parameters that can be controlled: the range of characters
that are encoded, and the type of representation used. By default, all
nongraphic characters. except space, tab, and newline are encoded.
(See isgraph(3).) The following flags alter this:
VIS_SP Also encode space.
VIS_TAB
Also encode tab.
VIS_NL Also encode newline.
VIS_WHITE Synonym for VIS_SP | VIS_TAB | VIS_NL.
VIS_SAFE Only encode "unsafe" characters. Unsafe means control char
acters which may cause common terminals to perform unexpected
functions. Currently this form allows space, tab, newline,
backspace, bell, and return in addition to all graphic
characters unencoded.
There are three forms of encoding. All forms use the backslash character
`\' to introduce a special sequence; two backslashes are used to repre
sent a real backslash. These are the visual formats:
(default) Use an `M' to represent meta characters (characters with the
8th bit set), and use carat `^' to represent control charac
ters see (iscntrl(3)). The following formats are used:
\^C Represents the control character `C'. Spans characters
`\000' through `\037', and `\177' (as `\^?').
\MC Represents character `C' with the 8th bit set. Spans
characters `\241' through `\376'.
\M^C Represents control character `C' with the 8th bit set.
Spans characters `\200' through `\237', and `\377' (as
`\M^?').
\040 Represents ASCII space.
\240 Represents Metaspace.
VIS_CSTYLE Use Cstyle backslash sequences to represent standard non
printable characters. The following sequences are used to
represent the indicated characters:
\a BEL (007)
\b BS (010)
\f NP (014)
\n NL (012)
\r CR (015)
\t HT (011)
\v VT (013)
\0 NUL (000)
When using this format, the nextc parameter is looked at to
determine if a NULL character can be encoded as `\0' instead
of `\000'. If _n_e_x_t_c is an octal digit, the latter representa
tion is used to avoid ambiguity.
VIS_OCTAL Use a three digit octal sequence. The form is `\ddd' where _d
represents an octal digit.
There is one additional flag, VIS_NOSLASH, which inhibits the doubling of
backslashes and the backslash before the default format (that is, control
characters are represented by `^C' and meta characters as `MC'). With
this flag set, the encoding is ambiguous and noninvertible.
SSEEEE AALLSSOO
unvis(1), unvis(3) strunvis(3)
HHIISSTTOORRYY
These functions are currently under development.
BSD Experimental April 19, 1991 2