summaryrefslogtreecommitdiffstats
path: root/man3/tcgetsid.3
diff options
context:
space:
mode:
Diffstat (limited to 'man3/tcgetsid.3')
-rw-r--r--man3/tcgetsid.374
1 files changed, 74 insertions, 0 deletions
diff --git a/man3/tcgetsid.3 b/man3/tcgetsid.3
new file mode 100644
index 0000000..4fb349c
--- /dev/null
+++ b/man3/tcgetsid.3
@@ -0,0 +1,74 @@
+'\" t
+.\" Copyright (C) 2002 Andries Brouwer <aeb@cwi.nl>
+.\"
+.\" SPDX-License-Identifier: Linux-man-pages-copyleft
+.\"
+.TH tcgetsid 3 2023-07-20 "Linux man-pages 6.05.01"
+.SH NAME
+tcgetsid \- get session ID
+.SH LIBRARY
+Standard C library
+.RI ( libc ", " \-lc )
+.SH SYNOPSIS
+.nf
+.BR "#define _XOPEN_SOURCE 500" " /* See feature_test_macros(7) */"
+.B "#include <termios.h>"
+.PP
+.BI "pid_t tcgetsid(int " fd );
+.fi
+.SH DESCRIPTION
+The function
+.BR tcgetsid ()
+returns the session ID of the current session that has the
+terminal associated to
+.I fd
+as controlling terminal.
+This terminal must be the controlling terminal of the calling process.
+.SH RETURN VALUE
+When
+.I fd
+refers to the controlling terminal of our session,
+the function
+.BR tcgetsid ()
+will return the session ID of this session.
+Otherwise, \-1 is returned, and
+.I errno
+is set to indicate the error.
+.SH ERRORS
+.TP
+.B EBADF
+.I fd
+is not a valid file descriptor.
+.TP
+.B ENOTTY
+The calling process does not have a controlling terminal, or
+it has one but it is not described by
+.IR fd .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbx lb lb
+l l l.
+Interface Attribute Value
+T{
+.na
+.nh
+.BR tcgetsid ()
+T} Thread safety MT-Safe
+.TE
+.sp 1
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+glibc 2.1.
+POSIX.1-2001.
+.PP
+This function is implemented via the
+.B TIOCGSID
+.BR ioctl (2),
+present
+since Linux 2.1.71.
+.SH SEE ALSO
+.BR getsid (2)