|
|
1.1 root 1: .TH TERMCAP 3X
2: .CT 2 comm_term
3: .SH NAME
4: tgetent, tgetnum, tgetflag, tgetstr, tgoto, tputs \(mi device-independent terminal screen control
5: .SH SYNOPSIS
6: .2C
7: .nf
8: .B char PC;
9: .B char *BC;
10: .B char *UP;
11: .B short ospeed;
12: .PP
13: .B tgetent(bp, name)
14: .B char bp[1024], *name;
15: .PP
16: .B tgetnum(id)
17: .B char *id;
18: .PP
19: .B tgetflag(id)
20: .B char *id;
21: .PP
22: .B char *
23: .B tgetstr(id, area)
24: .B char *id, **area;
25: .PP
26: .B char *
27: .B tgoto(cm, destcol, destline)
28: .B char *cm;
29: .PP
30: .B tputs(cp, affcnt, outc)
31: .B char *cp;
32: .B int (*outc)();
33: .fi
34: .1C
35: .SH DESCRIPTION
36: These functions are loaded by option
37: .B -ltermcap
38: of
39: .IR ld (1).
40: They extract and use capabilities from the terminal capability data
41: base
42: .IR termcap (5).
43: These are low level routines;
44: see
45: .IR curses (3)
46: for a higher level package.
47: .PP
48: .I Tgetent
49: extracts the entry for terminal
50: .I name
51: into the buffer at
52: .I bp.
53: .I Bp
54: should be a character buffer of size
55: 1024 and must be retained through all subsequent calls
56: to
57: .I tgetnum,
58: .I tgetflag,
59: and
60: .I tgetstr.
61: .I Tgetent
62: returns \-1
63: if it cannot open the
64: .I termcap
65: file,
66: 0
67: if the terminal name given does not have an entry,
68: and 1
69: if all goes well.
70: It will look in the environment for a
71: .L TERMCAP
72: variable.
73: If found, and the value does not begin with a slash,
74: and the terminal type
75: .I name
76: is the same as the value of the environment variable
77: .LR TERM ,
78: the
79: .L TERMCAP
80: string is used instead of reading the termcap file.
81: If it does begin with a slash, the string is used as a path name rather than
82: .FR /etc/termcap .
83: .PP
84: .I Tgetnum
85: gets the numeric value of capability
86: .I id,
87: returning \-1
88: if is not given for the terminal.
89: .I Tgetflag
90: returns 1
91: if the specified capability is present in
92: the terminal's entry,
93: 0
94: if it is not.
95: .I Tgetstr
96: gets the string value of capability
97: .I id,
98: placing it in the buffer at
99: .I *area,
100: advancing the
101: .I area
102: pointer.
103: It decodes the abbreviations for this field described in
104: .IR termcap (5),
105: except for cursor addressing and padding information.
106: .PP
107: .I Tgoto
108: returns a cursor addressing string decoded from
109: .B cm
110: to go to column
111: .I destcol
112: in line
113: .I destline.
114: It uses the external variables
115: .B UP
116: (from the
117: .L up
118: capability)
119: and
120: .B BC
121: (if
122: .L bc
123: is given rather than
124: .LR bs )
125: if necessary to avoid placing
126: .LR en ,
127: .LR ^D ,
128: or
129: .L ^@
130: in the returned string.
131: (Programs which call
132: .I tgoto
133: should be sure to turn off the
134: .B XTABS
135: bit(s),
136: since
137: .I tgoto
138: may now output a tab.
139: Note that programs using termcap should in general turn off
140: .B XTABS
141: anyway since some terminals use \fL^I\fP for other functions,
142: such as nondestructive space.)
143: If a
144: .B %
145: sequence is given which is not understood, then
146: .I tgoto
147: returns
148: .LR `OOPS' .
149: .PP
150: .I Tputs
151: decodes the leading padding information of the string
152: .I cp;
153: .I affcnt
154: gives the number of lines affected by the operation, or 1 if this is
155: not applicable;
156: .I outc
157: is a routine which is called with each character in turn.
158: The external variable
159: .I ospeed
160: should contain the output speed of the terminal as in
161: .IR tty (4).
162: The external variable
163: .B PC
164: should contain a pad character to be used (from the
165: .L pc
166: capability)
167: if a null
168: .RB ( ^@ )
169: is inappropriate.
170: .SH FILES
171: .F /etc/termcap
172: .SH SEE ALSO
173: .IR vi (1),
174: .IR curses (3),
175: .IR termcap (5)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.