annotate lib/termios.in.h @ 40057:b06060465f09

maint: Run 'make update-copyright'
author Paul Eggert <eggert@cs.ucla.edu>
date Tue, 01 Jan 2019 00:25:11 +0100
parents 10eb9086bea0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
13687
b3e909bb673a New module 'termios'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
1 /* Substitute for and wrapper around <termios.h>.
40057
b06060465f09 maint: Run 'make update-copyright'
Paul Eggert <eggert@cs.ucla.edu>
parents: 19484
diff changeset
2 Copyright (C) 2010-2019 Free Software Foundation, Inc.
13687
b3e909bb673a New module 'termios'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
3
b3e909bb673a New module 'termios'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
4 This program is free software; you can redistribute it and/or modify
b3e909bb673a New module 'termios'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
5 it under the terms of the GNU General Public License as published by
b3e909bb673a New module 'termios'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
6 the Free Software Foundation; either version 2, or (at your option)
b3e909bb673a New module 'termios'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
7 any later version.
b3e909bb673a New module 'termios'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
8
b3e909bb673a New module 'termios'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
9 This program is distributed in the hope that it will be useful,
b3e909bb673a New module 'termios'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
b3e909bb673a New module 'termios'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
b3e909bb673a New module 'termios'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
12 GNU General Public License for more details.
b3e909bb673a New module 'termios'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
13
b3e909bb673a New module 'termios'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
14 You should have received a copy of the GNU General Public License
19190
9759915b2aca all: prefer https: URLs
Paul Eggert <eggert@cs.ucla.edu>
parents: 18626
diff changeset
15 along with this program; if not, see <https://www.gnu.org/licenses/>. */
13687
b3e909bb673a New module 'termios'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
16
14840
5f709022a256 Allow multiple gnulib generated include files to be combined.
Bruno Haible <bruno@clisp.org>
parents: 14083
diff changeset
17 #ifndef _@GUARD_PREFIX@_TERMIOS_H
13687
b3e909bb673a New module 'termios'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
18
b3e909bb673a New module 'termios'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
19 #if __GNUC__ >= 3
b3e909bb673a New module 'termios'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
20 @PRAGMA_SYSTEM_HEADER@
b3e909bb673a New module 'termios'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
21 #endif
13761
a19ace3ba849 Avoid line length limitation from HP NonStop system header files.
Bruno Haible <bruno@clisp.org>
parents: 13689
diff changeset
22 @PRAGMA_COLUMNS@
13687
b3e909bb673a New module 'termios'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
23
14083
5c5416c2942e tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
24 /* On HP-UX 11.00, some of the function declarations in <sys/termio.h>,
5c5416c2942e tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
25 included by <termios.h>, are not protected by extern "C". Enforce
5c5416c2942e tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
26 "C" linkage for these functions nevertheless. */
5c5416c2942e tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
27 #if defined __hpux && defined __cplusplus
5c5416c2942e tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
28 # include <sys/types.h>
5c5416c2942e tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
29 # include <sys/ioctl.h>
5c5416c2942e tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
30 extern "C" {
5c5416c2942e tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
31 # include <sys/termio.h>
5c5416c2942e tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
32 }
5c5416c2942e tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
33 #endif
5c5416c2942e tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
Bruno Haible <bruno@clisp.org>
parents: 14079
diff changeset
34
13687
b3e909bb673a New module 'termios'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
35 /* The include_next requires a split double-inclusion guard. */
13801
634db78ff254 termios: fix compilation on mingw
Eric Blake <eblake@redhat.com>
parents: 13761
diff changeset
36 #if @HAVE_TERMIOS_H@
634db78ff254 termios: fix compilation on mingw
Eric Blake <eblake@redhat.com>
parents: 13761
diff changeset
37 # @INCLUDE_NEXT@ @NEXT_TERMIOS_H@
634db78ff254 termios: fix compilation on mingw
Eric Blake <eblake@redhat.com>
parents: 13761
diff changeset
38 #endif
13687
b3e909bb673a New module 'termios'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
39
14840
5f709022a256 Allow multiple gnulib generated include files to be combined.
Bruno Haible <bruno@clisp.org>
parents: 14083
diff changeset
40 #ifndef _@GUARD_PREFIX@_TERMIOS_H
5f709022a256 Allow multiple gnulib generated include files to be combined.
Bruno Haible <bruno@clisp.org>
parents: 14083
diff changeset
41 #define _@GUARD_PREFIX@_TERMIOS_H
13687
b3e909bb673a New module 'termios'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
42
13689
af3a7152efba New module 'tcgetsid'.
Bruno Haible <bruno@clisp.org>
parents: 13687
diff changeset
43 /* Get pid_t. */
16522
982859eb1700 termios: fix pid_t always, not just for tcgetsid
Eric Blake <eblake@redhat.com>
parents: 16517
diff changeset
44 #include <sys/types.h>
13689
af3a7152efba New module 'tcgetsid'.
Bruno Haible <bruno@clisp.org>
parents: 13687
diff changeset
45
af3a7152efba New module 'tcgetsid'.
Bruno Haible <bruno@clisp.org>
parents: 13687
diff changeset
46 /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
af3a7152efba New module 'tcgetsid'.
Bruno Haible <bruno@clisp.org>
parents: 13687
diff changeset
47
af3a7152efba New module 'tcgetsid'.
Bruno Haible <bruno@clisp.org>
parents: 13687
diff changeset
48 /* The definition of _GL_WARN_ON_USE is copied here. */
af3a7152efba New module 'tcgetsid'.
Bruno Haible <bruno@clisp.org>
parents: 13687
diff changeset
49
13687
b3e909bb673a New module 'termios'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
50
b3e909bb673a New module 'termios'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
51 /* Declare overridden functions. */
b3e909bb673a New module 'termios'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
52
13689
af3a7152efba New module 'tcgetsid'.
Bruno Haible <bruno@clisp.org>
parents: 13687
diff changeset
53 #if @GNULIB_TCGETSID@
af3a7152efba New module 'tcgetsid'.
Bruno Haible <bruno@clisp.org>
parents: 13687
diff changeset
54 /* Return the session ID of the controlling terminal of the current process.
af3a7152efba New module 'tcgetsid'.
Bruno Haible <bruno@clisp.org>
parents: 13687
diff changeset
55 The argument is a descriptor if this controlling terminal.
af3a7152efba New module 'tcgetsid'.
Bruno Haible <bruno@clisp.org>
parents: 13687
diff changeset
56 Return -1, with errno set, upon failure. errno = ENOSYS means that the
af3a7152efba New module 'tcgetsid'.
Bruno Haible <bruno@clisp.org>
parents: 13687
diff changeset
57 function is unsupported. */
13955
7f79090fda41 tcgetsid: Add missing declaration on OSF/1 5.1.
Bruno Haible <bruno@clisp.org>
parents: 13801
diff changeset
58 # if !@HAVE_DECL_TCGETSID@
13689
af3a7152efba New module 'tcgetsid'.
Bruno Haible <bruno@clisp.org>
parents: 13687
diff changeset
59 _GL_FUNCDECL_SYS (tcgetsid, pid_t, (int fd));
af3a7152efba New module 'tcgetsid'.
Bruno Haible <bruno@clisp.org>
parents: 13687
diff changeset
60 # endif
af3a7152efba New module 'tcgetsid'.
Bruno Haible <bruno@clisp.org>
parents: 13687
diff changeset
61 _GL_CXXALIAS_SYS (tcgetsid, pid_t, (int fd));
af3a7152efba New module 'tcgetsid'.
Bruno Haible <bruno@clisp.org>
parents: 13687
diff changeset
62 _GL_CXXALIASWARN (tcgetsid);
af3a7152efba New module 'tcgetsid'.
Bruno Haible <bruno@clisp.org>
parents: 13687
diff changeset
63 #elif defined GNULIB_POSIXCHECK
af3a7152efba New module 'tcgetsid'.
Bruno Haible <bruno@clisp.org>
parents: 13687
diff changeset
64 # undef tcgetsid
af3a7152efba New module 'tcgetsid'.
Bruno Haible <bruno@clisp.org>
parents: 13687
diff changeset
65 # if HAVE_RAW_DECL_TCGETSID
af3a7152efba New module 'tcgetsid'.
Bruno Haible <bruno@clisp.org>
parents: 13687
diff changeset
66 _GL_WARN_ON_USE (tcgetsid, "tcgetsid is not portable - "
af3a7152efba New module 'tcgetsid'.
Bruno Haible <bruno@clisp.org>
parents: 13687
diff changeset
67 "use gnulib module tcgetsid for portability");
af3a7152efba New module 'tcgetsid'.
Bruno Haible <bruno@clisp.org>
parents: 13687
diff changeset
68 # endif
af3a7152efba New module 'tcgetsid'.
Bruno Haible <bruno@clisp.org>
parents: 13687
diff changeset
69 #endif
af3a7152efba New module 'tcgetsid'.
Bruno Haible <bruno@clisp.org>
parents: 13687
diff changeset
70
af3a7152efba New module 'tcgetsid'.
Bruno Haible <bruno@clisp.org>
parents: 13687
diff changeset
71
14840
5f709022a256 Allow multiple gnulib generated include files to be combined.
Bruno Haible <bruno@clisp.org>
parents: 14083
diff changeset
72 #endif /* _@GUARD_PREFIX@_TERMIOS_H */
5f709022a256 Allow multiple gnulib generated include files to be combined.
Bruno Haible <bruno@clisp.org>
parents: 14083
diff changeset
73 #endif /* _@GUARD_PREFIX@_TERMIOS_H */