{
    "content": [
        {
            "type": "text",
            "text": "# IO::Tty (perldoc)\n\n## NAME\n\nIO::Tty - Low-level allocate a pseudo-Tty, import constants.\n\n## SYNOPSIS\n\nuse IO::Tty qw(TIOCNOTTY);\n...\n# use only to import constants, see IO::Pty to create ptys.\n\n## DESCRIPTION\n\n\"IO::Tty\" is used internally by \"IO::Pty\" to create a pseudo-tty. You\nwouldn't want to use it directly except to import constants, use\n\"IO::Pty\". For a list of importable constants, see IO::Tty::Constant.\n\n## Sections\n\n- **NAME**\n- **VERSION**\n- **SYNOPSIS**\n- **DESCRIPTION**\n- **SEE ALSO**\n- **MAILING LISTS**\n- **AUTHORS**\n- **COPYRIGHT**\n- **DISCLAIMER**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "IO::Tty",
        "section": "",
        "mode": "perldoc",
        "summary": "IO::Tty - Low-level allocate a pseudo-Tty, import constants.",
        "synopsis": "use IO::Tty qw(TIOCNOTTY);\n...\n# use only to import constants, see IO::Pty to create ptys.",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "VERSION",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 4,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 94,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "MAILING LISTS",
                "lines": 10,
                "subsections": []
            },
            {
                "name": "AUTHORS",
                "lines": 11,
                "subsections": []
            },
            {
                "name": "COPYRIGHT",
                "lines": 7,
                "subsections": []
            },
            {
                "name": "DISCLAIMER",
                "lines": 21,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "IO::Tty - Low-level allocate a pseudo-Tty, import constants.\n",
                "subsections": []
            },
            "VERSION": {
                "content": "1.15\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "use IO::Tty qw(TIOCNOTTY);\n...\n# use only to import constants, see IO::Pty to create ptys.\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "\"IO::Tty\" is used internally by \"IO::Pty\" to create a pseudo-tty. You\nwouldn't want to use it directly except to import constants, use\n\"IO::Pty\". For a list of importable constants, see IO::Tty::Constant.\n\nWindows is now supported, but ONLY under the Cygwin environment, see\n<http://sources.redhat.com/cygwin/>.\n\nPlease note that pty creation is very system-dependend. From my\nexperience, any modern POSIX system should be fine. Find below a list of\nsystems that \"IO::Tty\" should work on. A more detailed table (which is\nslowly getting out-of-date) is available from the project pages document\nmanager at SourceForge <http://sourceforge.net/projects/expectperl/>.\n\nIf you have problems on your system and your system is listed in the\n\"verified\" list, you probably have some non-standard setup, e.g. you\ncompiled your Linux-kernel yourself and disabled ptys (bummer!). Please\nask your friendly sysadmin for help.\n\nIf your system is not listed, unpack the latest version of \"IO::Tty\", do\na 'perl Makefile.PL; make; make test; uname -a' and send me\n(RGiersig@cpan.org) the results and I'll see what I can deduce from\nthat. There are chances that it will work right out-of-the-box...\n\nIf it's working on your system, please send me a short note with details\n(version number, distribution, etc. 'uname -a' and 'perl -V' is a good\nstart; also, the output from \"perl Makefile.PL\" contains a lot of\ninteresting info, so please include that as well) so I can get an\noverview. Thanks!\n\nVERIFIED SYSTEMS, KNOWN ISSUES\nThis is a list of systems that \"IO::Tty\" seems to work on ('make test'\npasses) with comments about \"features\":\n\n*   AIX 4.3\n\nReturns EIO instead of EOF when the slave is closed. Benign.\n\n*   AIX 5.x\n\n*   FreeBSD 4.4\n\nEOF on the slave tty is not reported back to the master.\n\n*   OpenBSD 2.8\n\nThe ioctl TIOCSCTTY sometimes fails. This is also known in\nTcl/Expect, see http://expect.nist.gov/FAQ.html\n\nEOF on the slave tty is not reported back to the master.\n\n*   Darwin 7.9.0\n\n*   HPUX 10.20 & 11.00\n\nEOF on the slave tty is not reported back to the master.\n\n*   IRIX 6.5\n\n*   Linux 2.2.x & 2.4.x\n\nReturns EIO instead of EOF when the slave is closed. Benign.\n\n*   OSF 4.0\n\nEOF on the slave tty is not reported back to the master.\n\n*   Solaris 8, 2.7, 2.6\n\nHas the \"feature\" of returning EOF just once?!\n\nEOF on the slave tty is not reported back to the master.\n\n*   Windows NT/2k/XP (under Cygwin)\n\nWhen you send (print) a too long line (>160 chars) to a non-raw pty,\nthe call just hangs forever and even alarm() cannot get you out.\nDon't complain to me...\n\nEOF on the slave tty is not reported back to the master.\n\n*   z/OS\n\nThe following systems have not been verified yet for this version, but a\nprevious version worked on them:\n\n*   SCO Unix\n\n*   NetBSD\n\nprobably the same as the other *BSDs...\n\nIf you have additions to these lists, please mail them to\n<RGiersig@cpan.org>.\n",
                "subsections": []
            },
            "SEE ALSO": {
                "content": "IO::Pty, IO::Tty::Constant\n",
                "subsections": []
            },
            "MAILING LISTS": {
                "content": "As this module is mainly used by Expect, support for it is available via\nthe two Expect mailing lists, expectperl-announce and\nexpectperl-discuss, at\n\nhttp://lists.sourceforge.net/lists/listinfo/expectperl-announce\n\nand\n\nhttp://lists.sourceforge.net/lists/listinfo/expectperl-discuss\n",
                "subsections": []
            },
            "AUTHORS": {
                "content": "Originally by Graham Barr <gbarr@pobox.com>, based on the Ptty module by\nNick Ing-Simmons <nik@tiuk.ti.com>.\n\nNow maintained and heavily rewritten by Roland Giersig\n<RGiersig@cpan.org>.\n\nContains copyrighted stuff from openssh v3.0p1, authored by Tatu Ylonen\n<ylo@cs.hut.fi>, Markus Friedl and Todd C. Miller\n<Todd.Miller@courtesan.com>. I also got a lot of inspiration from the\npty code in Xemacs.\n",
                "subsections": []
            },
            "COPYRIGHT": {
                "content": "Now all code is free software; you can redistribute it and/or modify it\nunder the same terms as Perl itself.\n\nNevertheless the above AUTHORS retain their copyrights to the various\nparts and want to receive credit if their source code is used. See the\nsource for details.\n",
                "subsections": []
            },
            "DISCLAIMER": {
                "content": "THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED\nWARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN\nNO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,\nINCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\nNOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF\nUSE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\nANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\nTHIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\nIn other words: Use at your own risk. Provided as is. Your mileage may\nvary. Read the source, Luke!\n\nAnd finally, just to be sure:\n\nAny Use of This Product, in Any Manner Whatsoever, Will Increase the\nAmount of Disorder in the Universe. Although No Liability Is Implied\nHerein, the Consumer Is Warned That This Process Will Ultimately Lead to\nthe Heat Death of the Universe.\n",
                "subsections": []
            }
        }
    }
}