blob: b2479ff245b825e4b05d6e1fbfddbc7c3b49090c [file] [log] [blame]
Brett Cannon20cf6dd2014-08-22 13:59:24 -04001/*[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 \
Serhiy Storchaka92e8af62015-04-04 00:12:11 +030016 {"getspnam", (PyCFunction)spwd_getspnam, METH_O, spwd_getspnam__doc__},
Brett Cannon20cf6dd2014-08-22 13:59:24 -040017
18static PyObject *
Serhiy Storchaka1a2b24f2016-07-07 17:35:15 +030019spwd_getspnam_impl(PyObject *module, PyObject *arg);
Brett Cannon20cf6dd2014-08-22 13:59:24 -040020
21static PyObject *
Serhiy Storchaka1a2b24f2016-07-07 17:35:15 +030022spwd_getspnam(PyObject *module, PyObject *arg_)
Brett Cannon20cf6dd2014-08-22 13:59:24 -040023{
24 PyObject *return_value = NULL;
25 PyObject *arg;
26
Serhiy Storchaka5dee6552016-06-09 16:16:06 +030027 if (!PyArg_Parse(arg_, "U:getspnam", &arg)) {
Brett Cannon20cf6dd2014-08-22 13:59:24 -040028 goto exit;
Serhiy Storchaka5dee6552016-06-09 16:16:06 +030029 }
Brett Cannon20cf6dd2014-08-22 13:59:24 -040030 return_value = spwd_getspnam_impl(module, arg);
31
32exit:
33 return return_value;
34}
35
36#endif /* defined(HAVE_GETSPNAM) */
37
Brett Cannon20cf6dd2014-08-22 13:59:24 -040038#if defined(HAVE_GETSPENT)
39
40PyDoc_STRVAR(spwd_getspall__doc__,
41"getspall($module, /)\n"
42"--\n"
43"\n"
44"Return a list of all available shadow password database entries, in arbitrary order.\n"
45"\n"
46"See `help(spwd)` for more on shadow password database entries.");
47
48#define SPWD_GETSPALL_METHODDEF \
49 {"getspall", (PyCFunction)spwd_getspall, METH_NOARGS, spwd_getspall__doc__},
50
51static PyObject *
Serhiy Storchaka1a2b24f2016-07-07 17:35:15 +030052spwd_getspall_impl(PyObject *module);
Brett Cannon20cf6dd2014-08-22 13:59:24 -040053
54static PyObject *
Serhiy Storchaka1a2b24f2016-07-07 17:35:15 +030055spwd_getspall(PyObject *module, PyObject *Py_UNUSED(ignored))
Brett Cannon20cf6dd2014-08-22 13:59:24 -040056{
57 return spwd_getspall_impl(module);
58}
59
60#endif /* defined(HAVE_GETSPENT) */
61
Larry Hastings0759f842015-04-03 13:09:02 -070062#ifndef SPWD_GETSPNAM_METHODDEF
63 #define SPWD_GETSPNAM_METHODDEF
64#endif /* !defined(SPWD_GETSPNAM_METHODDEF) */
65
Brett Cannon20cf6dd2014-08-22 13:59:24 -040066#ifndef SPWD_GETSPALL_METHODDEF
67 #define SPWD_GETSPALL_METHODDEF
68#endif /* !defined(SPWD_GETSPALL_METHODDEF) */
Serhiy Storchaka2954f832016-07-07 18:20:03 +030069/*[clinic end generated code: output=07cd8af0afd77fe7 input=a9049054013a1b77]*/