.SH NAME
grantpt \- grant access to the slave pseudoterminal
.SH SYNOPSIS
-.nf
-.BR "#define _XOPEN_SOURCE" " /* See feature_test_macros(7) */"
-.br
.B #include <stdlib.h>
.sp
.BI "int grantpt(int " fd ");"
-.fi
+.sp
+.in -4n
+Feature Test Macro Requirements for glibc (see
+.BR feature_test_macros (7)):
+.in
+.PP
+.ad l
+.BR grantpt ():
+.br
+.RS 4
+Since glibc 2.24:
+ _XOPEN_SOURCE\ >=\ 500 ||
+ (_XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED)
+.br
+Glibc 2.23 and earlier:
+ _XOPEN_SOURCE
+.RE
+.ad
.SH DESCRIPTION
The
.BR grantpt ()
.SH NAME
ptsname, ptsname_r \- get the name of the slave pseudoterminal
.SH SYNOPSIS
-.nf
-.BR "#define _XOPEN_SOURCE" " /* See feature_test_macros(7) */"
-.br
.B #include <stdlib.h>
.sp
.BI "char *ptsname(int " fd ");"
-.sp
-.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.br
-.B #include <stdlib.h>
-.sp
.BI "int ptsname_r(int " fd ", char *" buf ", size_t " buflen ");"
-.fi
+.PP
+.in -4n
+Feature Test Macro Requirements for glibc (see
+.BR feature_test_macros (7)):
+.in
+.PP
+.ad l
+.BR ptsname ():
+.br
+.RS 4
+Since glibc 2.24:
+ _XOPEN_SOURCE\ >=\ 500 ||
+ (_XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED)
+.br
+Glibc 2.23 and earlier:
+ _XOPEN_SOURCE
+.RE
+.PP
+.BR ptsname_r ():
+ _GNU_SOURCE
+.ad
.SH DESCRIPTION
The
.BR ptsname ()
.SH NAME
unlockpt \- unlock a pseudoterminal master/slave pair
.SH SYNOPSIS
-.nf
-.BR "#define _XOPEN_SOURCE" " /* See feature_test_macros(7) */"
+.B #define _XOPEN_SOURCE
.br
.B #include <stdlib.h>
.sp
.BI "int unlockpt(int " fd ");"
-.fi
+.sp
+.in -4n
+Feature Test Macro Requirements for glibc (see
+.BR feature_test_macros (7)):
+.in
+.PP
+.ad l
+.BR unlockpt ():
+.br
+.RS 4
+Since glibc 2.24:
+ _XOPEN_SOURCE\ >=\ 500 ||
+ (_XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED)
+.br
+Glibc 2.23 and earlier:
+ _XOPEN_SOURCE
+.RE
+.ad
.SH DESCRIPTION
The
.BR unlockpt ()