TERMCAP.3
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:4k
源码类别:

操作系统开发

开发平台:

C/C++

  1. ." Copyright (c) 1980 Regents of the University of California.
  2. ." All rights reserved.  The Berkeley software License Agreement
  3. ." specifies the terms and conditions for redistribution.
  4. ."
  5. ." @(#)termcap.3x 6.1 (Berkeley) 5/15/85
  6. ."
  7. .TH TERMCAP 3 "May 15, 1985"
  8. .UC 4
  9. .SH NAME
  10. termcap, tgetent, tgetnum, tgetflag, tgetstr, tgoto, tputs - terminal independent operation routines
  11. .SH SYNOPSIS
  12. .nf
  13. .ft B
  14. #include <termcap.h>
  15. int tgetent(char *fIbpfP, char *fInamefP)
  16. int tgetflag(char *fIidfP)
  17. int tgetnum(char *fIidfP)
  18. char *tgetstr(char *fIidfP, char **fIareafP)
  19. char *tgoto(char *fIcmfP, int fIdestcolfP, int fIdestlinefP)
  20. int tputs(char *fIcpfP, int fIaffcntfP, void (*fIoutcfP)(int))
  21. .ft R
  22. .fi
  23. .SH DESCRIPTION
  24. These functions extract and use capabilities from the terminal capability data
  25. base
  26. .BR termcap (5).
  27. These are low level routines;
  28. see
  29. .BR curses (3)
  30. for a higher level package.
  31. .PP
  32. .B Tgetent
  33. extracts the entry for terminal
  34. .I name
  35. into the buffer at
  36. .IR bp .
  37. .I Bp
  38. should be a character buffer of size
  39. 1024 and must be retained through all subsequent calls
  40. to
  41. .BR tgetnum ,
  42. .BR tgetflag ,
  43. and
  44. .BR tgetstr .
  45. .B Tgetent
  46. returns -1 if it cannot find a termcap
  47. file, 0 if the terminal name given does not have an entry,
  48. and 1 if all goes well.
  49. .PP
  50. .B Tgetent
  51. uses the following recipe to find the termcap file and entry
  52. .IR name :
  53. .PP
  54. .in +5n
  55. if $TERMCAP is itself a termcap entry for
  56. .I name
  57. .br
  58. then
  59. .in +5n
  60. use $TERMCAP
  61. .in -5n
  62. elif $TERMCAP names a file
  63. .br
  64. then
  65. .in +5n
  66. use entry
  67. .I name
  68. found in that file
  69. .in -5n
  70. elif this is Minix-vmd
  71. .br
  72. then
  73. .in +5n
  74. if $TERMPATH is defined
  75. .br
  76. then
  77. .in +5n
  78. search the termcap files named in $TERMPATH for the first occurance of a
  79. .I name
  80. entry and use that entry
  81. .in -5n
  82. else
  83. .in +5n
  84. the path
  85. .B $HOME/.termcap:/etc/termcap:/usr/etc/termcap"
  86. is searched for entry
  87. .I name
  88. .in -5n
  89. fi
  90. .in -5n
  91. fi
  92. .in -5n
  93. .RE
  94. .PP
  95. .B Tgetnum
  96. gets the numeric value of capability
  97. .IR id ,
  98. returning -1 if is not given for the terminal.
  99. .B Tgetflag
  100. returns 1 if the specified capability is present in
  101. the terminal's entry, 0 if it is not.
  102. .B Tgetstr
  103. returns the string value of the capability
  104. .IR id ,
  105. places it in the buffer at
  106. .IR area ,
  107. and advances the
  108. .I area
  109. pointer.
  110. It decodes the abbreviations for this field described in
  111. .BR termcap (5),
  112. except for cursor addressing and padding information.
  113. .B Tgetstr
  114. returns NULL if the capability was not found.
  115. .PP
  116. .B Tgoto
  117. returns a cursor addressing string decoded from
  118. .I cm
  119. to go to column
  120. .I destcol
  121. in line
  122. .IR destline .
  123. It uses the external variables
  124. .B UP
  125. (from the fBupfR capability)
  126. and
  127. .B BC
  128. (if fBbcfR is given rather than fBbsfR)
  129. if necessary to avoid placing fBenfR, fB^DfR or fB^@fR in
  130. the returned string.
  131. (Programs which call tgoto should be sure to turn off the XTABS bit(s),
  132. since
  133. .B tgoto
  134. may now output a tab.
  135. Note that programs using termcap should in general turn off XTABS
  136. anyway since some terminals use CTRL-I for other functions,
  137. such as nondestructive space.)
  138. If a fB%fR sequence is given which is not understood, then
  139. .B tgoto
  140. returns *(lqOOPS*(rq.
  141. .PP
  142. .B Tputs
  143. decodes the leading padding information of the string
  144. .IR cp ;
  145. .I affcnt
  146. gives the number of lines affected by the operation, or 1 if this is
  147. not applicable,
  148. .I outc
  149. is a routine which is called with each character in turn.
  150. The external variable
  151. .B ospeed
  152. should contain the output speed of the terminal as encoded by
  153. .BR stty (3).
  154. The external variable
  155. .B PC
  156. should contain a pad character to be used (from the fBpcfR capability)
  157. if a null (fB^@fR) is inappropriate.
  158. .SH SEE ALSO
  159. .BR curses (3),
  160. .BR termcap (5).
  161. .SH AUTHOR
  162. William Joy
  163. .SH NOTES
  164. The Minix implementation does not support any of the external variables,
  165. only the functions calls.  The Minix-vmd termcap does support it all,
  166. although noone in his right mind meddles with those variables.