1/*[clinic input]
2preserve
3[clinic start generated code]*/
4
5#if defined(HAVE_GETSPNAM)
6
7PyDoc_STRVAR(spwd_getspnam__doc__,
8"getspnam($module, arg, /)\n"
9"--\n"
10"\n"
11"Return the shadow password database entry for the given user name.\n"
12"\n"
13"See `help(spwd)` for more on shadow password database entries.");
14
15#define SPWD_GETSPNAM_METHODDEF \
16 {"getspnam", (PyCFunction)spwd_getspnam, METH_O, spwd_getspnam__doc__},
17
18static PyObject *
19spwd_getspnam_impl(PyObject *module, PyObject *arg);
20
21static PyObject *
22spwd_getspnam(PyObject *module, PyObject *arg_)
23{
24 PyObject *return_value = NULL;
25 PyObject *arg;
26
27 if (!PyUnicode_Check(arg_)) {
28 _PyArg_BadArgument("getspnam", "argument", "str", arg_);
29 goto exit;
30 }
31 if (PyUnicode_READY(arg_) == -1) {
32 goto exit;
33 }
34 arg = arg_;
35 return_value = spwd_getspnam_impl(module, arg);
36
37exit:
38 return return_value;
39}
40
41#endif /* defined(HAVE_GETSPNAM) */
42
43#if defined(HAVE_GETSPENT)
44
45PyDoc_STRVAR(spwd_getspall__doc__,
46"getspall($module, /)\n"
47"--\n"
48"\n"
49"Return a list of all available shadow password database entries, in arbitrary order.\n"
50"\n"
51"See `help(spwd)` for more on shadow password database entries.");
52
53#define SPWD_GETSPALL_METHODDEF \
54 {"getspall", (PyCFunction)spwd_getspall, METH_NOARGS, spwd_getspall__doc__},
55
56static PyObject *
57spwd_getspall_impl(PyObject *module);
58
59static PyObject *
60spwd_getspall(PyObject *module, PyObject *Py_UNUSED(ignored))
61{
62 return spwd_getspall_impl(module);
63}
64
65#endif /* defined(HAVE_GETSPENT) */
66
67#ifndef SPWD_GETSPNAM_METHODDEF
68 #define SPWD_GETSPNAM_METHODDEF
69#endif /* !defined(SPWD_GETSPNAM_METHODDEF) */
70
71#ifndef SPWD_GETSPALL_METHODDEF
72 #define SPWD_GETSPALL_METHODDEF
73#endif /* !defined(SPWD_GETSPALL_METHODDEF) */
74/*[clinic end generated code: output=eec8d0bedcd312e5 input=a9049054013a1b77]*/
75