{
    "content": [
        {
            "type": "text",
            "text": "# misc_conv (man)\n\n## NAME\n\nmiscconv - text based conversation function\n\n## SYNOPSIS\n\n#include <security/pammisc.h>\nint miscconv(int nummsg, const struct pammessage msgm, struct pamresponse response,\nvoid *appdataptr);\n\n## DESCRIPTION\n\nThe miscconv function is part of libpammisc and not of the standard libpam library. This\nfunction will prompt the user with the appropriate comments and obtain the appropriate inputs\nas directed by authentication modules.\n\n## Sections\n\n- **NAME**\n- **SYNOPSIS**\n- **DESCRIPTION**\n- **SEE ALSO**\n- **STANDARDS**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "misc_conv",
        "section": "",
        "mode": "man",
        "summary": "miscconv - text based conversation function",
        "synopsis": "#include <security/pammisc.h>\nint miscconv(int nummsg, const struct pammessage msgm, struct pamresponse response,\nvoid *appdataptr);",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [
            {
                "name": "pamconv",
                "section": "3",
                "url": "https://www.chedong.com/phpMan.php/man/pamconv/3/json"
            },
            {
                "name": "pam",
                "section": "7",
                "url": "https://www.chedong.com/phpMan.php/man/pam/7/json"
            }
        ],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 5,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 51,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "STANDARDS",
                "lines": 5,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "miscconv - text based conversation function\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "#include <security/pammisc.h>\n\nint miscconv(int nummsg, const struct pammessage msgm, struct pamresponse response,\nvoid *appdataptr);\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "The miscconv function is part of libpammisc and not of the standard libpam library. This\nfunction will prompt the user with the appropriate comments and obtain the appropriate inputs\nas directed by authentication modules.\n\nIn addition to simply slotting into the appropriate pamconv(3), this function provides some\ntime-out facilities. The function exports five variables that can be used by an application\nprogrammer to limit the amount of time this conversation function will spend waiting for the\nuser to type something. The five variables are as follows:\n\ntimet pammiscconvwarntime;\nThis variable contains the time (as returned by time(2)) that the user should be first\nwarned that the clock is ticking. By default it has the value 0, which indicates that no\nsuch warning will be given. The application may set its value to sometime in the future,\nbut this should be done prior to passing control to the Linux-PAM library.\n\nconst char *pammiscconvwarnline;\nUsed in conjunction with pammiscconvwarntime, this variable is a pointer to the\nstring that will be displayed when it becomes time to warn the user that the timeout is\napproaching. Its default value is a translated version of “...Time is running out...”,\nbut this can be changed by the application prior to passing control to Linux-PAM.\n\ntimet pammiscconvdietime;\nThis variable contains the time (as returned by time(2)) that the will time out. By\ndefault it has the value 0, which indicates that the conversation function will not\ntimeout. The application may set its value to sometime in the future, but this should be\ndone prior to passing control to the Linux-PAM library.\n\nconst char *pammiscconvdieline;\nUsed in conjunction with pammiscconvdietime, this variable is a pointer to the string\nthat will be displayed when the conversation times out. Its default value is a translated\nversion of “...Sorry, your time is up!”, but this can be changed by the application prior\nto passing control to Linux-PAM.\n\nint pammiscconvdied;\nFollowing a return from the Linux-PAM library, the value of this variable indicates\nwhether the conversation has timed out. A value of 1 indicates the time-out occurred.\n\nThe following two function pointers are available for supporting binary prompts in the\nconversation function. They are optimized for the current incarnation of the libpamc library\nand are subject to change.\n\nint (*pambinaryhandlerfn)(void *appdata, pamcbpt *promptp);\nThis function pointer is initialized to NULL but can be filled with a function that\nprovides machine-machine (hidden) message exchange. It is intended for use with hidden\nauthentication protocols such as RSA or Diffie-Hellman key exchanges. (This is still\nunder development.)\n\nint (*pambinaryhandlerfree)(void *appdata, pamcbpt *deleteme);\nThis function pointer is initialized to PAMBPRENEW(deleteme, 0, 0), but can be\nredefined as desired by the application.\n",
                "subsections": []
            },
            "SEE ALSO": {
                "content": "pamconv(3), pam(7)\n",
                "subsections": []
            },
            "STANDARDS": {
                "content": "The miscconv function is part of the libpammisc Library and not defined in any standard.\n\n\n\nLinux-PAM Manual                             06/08/2020                                 MISCCONV(3)",
                "subsections": []
            }
        }
    }
}