• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*[clinic input]
2 preserve
3 [clinic start generated code]*/
4 
5 PyDoc_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 
16 PyDoc_STRVAR(pwd_getpwnam__doc__,
17 "getpwnam($module, name, /)\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 
27 static PyObject *
28 pwd_getpwnam_impl(PyObject *module, PyObject *name);
29 
30 static PyObject *
pwd_getpwnam(PyObject * module,PyObject * arg)31 pwd_getpwnam(PyObject *module, PyObject *arg)
32 {
33     PyObject *return_value = NULL;
34     PyObject *name;
35 
36     if (!PyUnicode_Check(arg)) {
37         PyErr_Format(PyExc_TypeError, "getpwnam() argument must be str, not %T", arg);
38         goto exit;
39     }
40     name = arg;
41     return_value = pwd_getpwnam_impl(module, name);
42 
43 exit:
44     return return_value;
45 }
46 
47 #if defined(HAVE_GETPWENT)
48 
49 PyDoc_STRVAR(pwd_getpwall__doc__,
50 "getpwall($module, /)\n"
51 "--\n"
52 "\n"
53 "Return a list of all available password database entries, in arbitrary order.\n"
54 "\n"
55 "See help(pwd) for more on password database entries.");
56 
57 #define PWD_GETPWALL_METHODDEF    \
58     {"getpwall", (PyCFunction)pwd_getpwall, METH_NOARGS, pwd_getpwall__doc__},
59 
60 static PyObject *
61 pwd_getpwall_impl(PyObject *module);
62 
63 static PyObject *
pwd_getpwall(PyObject * module,PyObject * Py_UNUSED (ignored))64 pwd_getpwall(PyObject *module, PyObject *Py_UNUSED(ignored))
65 {
66     return pwd_getpwall_impl(module);
67 }
68 
69 #endif /* defined(HAVE_GETPWENT) */
70 
71 #ifndef PWD_GETPWALL_METHODDEF
72     #define PWD_GETPWALL_METHODDEF
73 #endif /* !defined(PWD_GETPWALL_METHODDEF) */
74 /*[clinic end generated code: output=dac88d500f6d6f49 input=a9049054013a1b77]*/
75