17db96d56Sopenharmony_ci/*[clinic input]
27db96d56Sopenharmony_cipreserve
37db96d56Sopenharmony_ci[clinic start generated code]*/
47db96d56Sopenharmony_ci
57db96d56Sopenharmony_ci#if defined(HAVE_GETSPNAM)
67db96d56Sopenharmony_ci
77db96d56Sopenharmony_ciPyDoc_STRVAR(spwd_getspnam__doc__,
87db96d56Sopenharmony_ci"getspnam($module, arg, /)\n"
97db96d56Sopenharmony_ci"--\n"
107db96d56Sopenharmony_ci"\n"
117db96d56Sopenharmony_ci"Return the shadow password database entry for the given user name.\n"
127db96d56Sopenharmony_ci"\n"
137db96d56Sopenharmony_ci"See `help(spwd)` for more on shadow password database entries.");
147db96d56Sopenharmony_ci
157db96d56Sopenharmony_ci#define SPWD_GETSPNAM_METHODDEF    \
167db96d56Sopenharmony_ci    {"getspnam", (PyCFunction)spwd_getspnam, METH_O, spwd_getspnam__doc__},
177db96d56Sopenharmony_ci
187db96d56Sopenharmony_cistatic PyObject *
197db96d56Sopenharmony_cispwd_getspnam_impl(PyObject *module, PyObject *arg);
207db96d56Sopenharmony_ci
217db96d56Sopenharmony_cistatic PyObject *
227db96d56Sopenharmony_cispwd_getspnam(PyObject *module, PyObject *arg_)
237db96d56Sopenharmony_ci{
247db96d56Sopenharmony_ci    PyObject *return_value = NULL;
257db96d56Sopenharmony_ci    PyObject *arg;
267db96d56Sopenharmony_ci
277db96d56Sopenharmony_ci    if (!PyUnicode_Check(arg_)) {
287db96d56Sopenharmony_ci        _PyArg_BadArgument("getspnam", "argument", "str", arg_);
297db96d56Sopenharmony_ci        goto exit;
307db96d56Sopenharmony_ci    }
317db96d56Sopenharmony_ci    if (PyUnicode_READY(arg_) == -1) {
327db96d56Sopenharmony_ci        goto exit;
337db96d56Sopenharmony_ci    }
347db96d56Sopenharmony_ci    arg = arg_;
357db96d56Sopenharmony_ci    return_value = spwd_getspnam_impl(module, arg);
367db96d56Sopenharmony_ci
377db96d56Sopenharmony_ciexit:
387db96d56Sopenharmony_ci    return return_value;
397db96d56Sopenharmony_ci}
407db96d56Sopenharmony_ci
417db96d56Sopenharmony_ci#endif /* defined(HAVE_GETSPNAM) */
427db96d56Sopenharmony_ci
437db96d56Sopenharmony_ci#if defined(HAVE_GETSPENT)
447db96d56Sopenharmony_ci
457db96d56Sopenharmony_ciPyDoc_STRVAR(spwd_getspall__doc__,
467db96d56Sopenharmony_ci"getspall($module, /)\n"
477db96d56Sopenharmony_ci"--\n"
487db96d56Sopenharmony_ci"\n"
497db96d56Sopenharmony_ci"Return a list of all available shadow password database entries, in arbitrary order.\n"
507db96d56Sopenharmony_ci"\n"
517db96d56Sopenharmony_ci"See `help(spwd)` for more on shadow password database entries.");
527db96d56Sopenharmony_ci
537db96d56Sopenharmony_ci#define SPWD_GETSPALL_METHODDEF    \
547db96d56Sopenharmony_ci    {"getspall", (PyCFunction)spwd_getspall, METH_NOARGS, spwd_getspall__doc__},
557db96d56Sopenharmony_ci
567db96d56Sopenharmony_cistatic PyObject *
577db96d56Sopenharmony_cispwd_getspall_impl(PyObject *module);
587db96d56Sopenharmony_ci
597db96d56Sopenharmony_cistatic PyObject *
607db96d56Sopenharmony_cispwd_getspall(PyObject *module, PyObject *Py_UNUSED(ignored))
617db96d56Sopenharmony_ci{
627db96d56Sopenharmony_ci    return spwd_getspall_impl(module);
637db96d56Sopenharmony_ci}
647db96d56Sopenharmony_ci
657db96d56Sopenharmony_ci#endif /* defined(HAVE_GETSPENT) */
667db96d56Sopenharmony_ci
677db96d56Sopenharmony_ci#ifndef SPWD_GETSPNAM_METHODDEF
687db96d56Sopenharmony_ci    #define SPWD_GETSPNAM_METHODDEF
697db96d56Sopenharmony_ci#endif /* !defined(SPWD_GETSPNAM_METHODDEF) */
707db96d56Sopenharmony_ci
717db96d56Sopenharmony_ci#ifndef SPWD_GETSPALL_METHODDEF
727db96d56Sopenharmony_ci    #define SPWD_GETSPALL_METHODDEF
737db96d56Sopenharmony_ci#endif /* !defined(SPWD_GETSPALL_METHODDEF) */
747db96d56Sopenharmony_ci/*[clinic end generated code: output=eec8d0bedcd312e5 input=a9049054013a1b77]*/
75