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

操作系统开发

开发平台:

C/C++

  1. .TH GETTTYENT 3
  2. .SH NAME
  3. getttyent, getttynam, setttyent, endttyent - interface to /etc/ttytab
  4. .SH SYNOPSIS
  5. .ft B
  6. .nf
  7. #include <ttyent.h>
  8. struct ttyent *getttyent(void)
  9. struct ttyent *getttynam(const char *fInamefP)
  10. int setttyent(void)
  11. void endttyent(void)
  12. .fi
  13. .ft P
  14. .SH DESCRIPTION
  15. The
  16. .B getttyent
  17. functions provide an interface to the /etc/ttytab.  (See
  18. .BR ttytab (5)).
  19. .PP
  20. To read one of these files one calls
  21. .B getttyent()
  22. several times to read the entries in the table until NULL is returned for
  23. end-of-file.
  24. .PP
  25. .B Getttyname()
  26. searches the
  27. .B ttytab
  28. file for the given terminal device.  It is equivalent to a call to
  29. .BR setttyent(),
  30. several calls to
  31. .B getttyent()
  32. to locate the entry, and a final
  33. .B endttyent()
  34. to close the file.
  35. .PP
  36. .B Setttyent()
  37. opens or rewinds the ttytab database, and
  38. .B endttyent() closes it.
  39. .B Getttyent()
  40. opens the database if not already open, but does not close it.
  41. .PP
  42. The struct ttyent is defined by <ttyent.h> as follows:
  43. .sp
  44. .nf
  45. .ta +4n +6n +15n
  46. struct ttyent {
  47. char *ty_name; /* Name of the terminal device. */
  48. char *ty_type; /* Terminal type name (termcap(3)). */
  49. char **ty_getty; /* Program to run, normally getty. */
  50. char **ty_init; /* Initialization command, normally stty. */
  51. };
  52. .fi
  53. .PP
  54. A valid entry has at least two strings, so both
  55. .B ty_name
  56. and
  57. .B ty_type
  58. are filled in.  The optional
  59. .B ty_getty
  60. and
  61. .B ty_init
  62. may be NULL (field omitted), point to a pointer that is NULL (null lenght
  63. field, i.e. ""), or an array of strings terminated by a NULL (field
  64. present).  For now no useful distinction can be made between a omitted field
  65. and an empty field, so treat both cases as an omission.
  66. .SH FILES
  67. .TP 15
  68. .B /etc/ttytab
  69. The terminal device database
  70. .SH "SEE ALSO"
  71. .BR ttyname (3),
  72. .BR ttyslot (3),
  73. .BR ttytab (5),
  74. .BR init (8).
  75. .SH DIAGNOSTICS
  76. .B Setttyent()
  77. has the same return value and error codes as the
  78. .BR open (2)
  79. call it uses to open the ttytab file.  The
  80. .BI get xxx ()
  81. functions return NULL on end of file, entry not found, or error.  You can
  82. set
  83. .B errno
  84. to zero before the call and check it after.
  85. .SH NOTES
  86. .B Getttyent()
  87. and
  88. .B getttynam()
  89. return a pointer to static storage that is overwritten in each call.
  90. .PP
  91. The Minix
  92. .B struct ttyent
  93. has only the
  94. .B ty_name
  95. and
  96. .B ty_type
  97. fields in common with the BSD implementation.  This does not seem to be a
  98. problem, because most third party software that need to know about terminals
  99. only look at the
  100. .B ty_name
  101. field.
  102. .SH AUTHOR
  103. Kees J. Bot (kjb@cs.vu.nl)