1/*[clinic input]
2preserve
3[clinic start generated code]*/
4
5PyDoc_STRVAR(pwd_getpwuid__doc__,
6"getpwuid($module, uidobj, /)\n"
7"--\n"
8"\n"
9"Return the password database entry for the given numeric user ID.\n"
10"\n"
11"See `help(pwd)` for more on password database entries.");
12
13#define PWD_GETPWUID_METHODDEF    \
14    {"getpwuid", (PyCFunction)pwd_getpwuid, METH_O, pwd_getpwuid__doc__},
15
16PyDoc_STRVAR(pwd_getpwnam__doc__,
17"getpwnam($module, arg, /)\n"
18"--\n"
19"\n"
20"Return the password database entry for the given user name.\n"
21"\n"
22"See `help(pwd)` for more on password database entries.");
23
24#define PWD_GETPWNAM_METHODDEF    \
25    {"getpwnam", (PyCFunction)pwd_getpwnam, METH_O, pwd_getpwnam__doc__},
26
27static PyObject *
28pwd_getpwnam_impl(PyObject *module, PyObject *arg);
29
30static PyObject *
31pwd_getpwnam(PyObject *module, PyObject *arg_)
32{
33    PyObject *return_value = NULL;
34    PyObject *arg;
35
36    if (!PyArg_Parse(arg_, "U:getpwnam", &arg)) {
37        goto exit;
38    }
39    return_value = pwd_getpwnam_impl(module, arg);
40
41exit:
42    return return_value;
43}
44
45#if defined(HAVE_GETPWENT)
46
47PyDoc_STRVAR(pwd_getpwall__doc__,
48"getpwall($module, /)\n"
49"--\n"
50"\n"
51"Return a list of all available password database entries, in arbitrary order.\n"
52"\n"
53"See help(pwd) for more on password database entries.");
54
55#define PWD_GETPWALL_METHODDEF    \
56    {"getpwall", (PyCFunction)pwd_getpwall, METH_NOARGS, pwd_getpwall__doc__},
57
58static PyObject *
59pwd_getpwall_impl(PyObject *module);
60
61static PyObject *
62pwd_getpwall(PyObject *module, PyObject *Py_UNUSED(ignored))
63{
64    return pwd_getpwall_impl(module);
65}
66
67#endif /* defined(HAVE_GETPWENT) */
68
69#ifndef PWD_GETPWALL_METHODDEF
70    #define PWD_GETPWALL_METHODDEF
71#endif /* !defined(PWD_GETPWALL_METHODDEF) */
72/*[clinic end generated code: output=fc41d8d88ec206d8 input=a9049054013a1b77]*/
73