home *** CD-ROM | disk | FTP | other *** search
-
- 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
-
-
-
-
-
-
-
-
-
-
-
-
-