blob: 73af272ba98ad6df8538c03b3f4bc1bad24c2a52 [file] [log] [blame]
Brett Cannon8fb7bb22014-08-22 11:52:46 -04001/*[clinic input]
2preserve
3[clinic start generated code]*/
4
5PyDoc_STRVAR(grp_getgrgid__doc__,
6"getgrgid($module, /, id)\n"
7"--\n"
8"\n"
9"Return the group database entry for the given numeric group ID.\n"
10"\n"
11"If id is not valid, raise KeyError.");
12
13#define GRP_GETGRGID_METHODDEF \
Victor Stinner37e4ef72016-09-09 20:00:13 -070014 {"getgrgid", (PyCFunction)grp_getgrgid, METH_FASTCALL, grp_getgrgid__doc__},
Brett Cannon8fb7bb22014-08-22 11:52:46 -040015
16static PyObject *
Serhiy Storchaka1a2b24f2016-07-07 17:35:15 +030017grp_getgrgid_impl(PyObject *module, PyObject *id);
Brett Cannon8fb7bb22014-08-22 11:52:46 -040018
19static PyObject *
Victor Stinner37e4ef72016-09-09 20:00:13 -070020grp_getgrgid(PyObject *module, PyObject **args, Py_ssize_t nargs, PyObject *kwnames)
Brett Cannon8fb7bb22014-08-22 11:52:46 -040021{
22 PyObject *return_value = NULL;
Serhiy Storchaka9171a8b2016-08-14 10:52:18 +030023 static const char * const _keywords[] = {"id", NULL};
24 static _PyArg_Parser _parser = {"O:getgrgid", _keywords, 0};
Brett Cannon8fb7bb22014-08-22 11:52:46 -040025 PyObject *id;
26
Victor Stinner3e1fad62017-01-17 01:29:01 +010027 if (!_PyArg_ParseStackAndKeywords(args, nargs, kwnames, &_parser,
Serhiy Storchaka5dee6552016-06-09 16:16:06 +030028 &id)) {
Brett Cannon8fb7bb22014-08-22 11:52:46 -040029 goto exit;
Serhiy Storchaka5dee6552016-06-09 16:16:06 +030030 }
Brett Cannon8fb7bb22014-08-22 11:52:46 -040031 return_value = grp_getgrgid_impl(module, id);
32
33exit:
34 return return_value;
35}
36
37PyDoc_STRVAR(grp_getgrnam__doc__,
38"getgrnam($module, /, name)\n"
39"--\n"
40"\n"
41"Return the group database entry for the given group name.\n"
42"\n"
43"If name is not valid, raise KeyError.");
44
45#define GRP_GETGRNAM_METHODDEF \
Victor Stinner37e4ef72016-09-09 20:00:13 -070046 {"getgrnam", (PyCFunction)grp_getgrnam, METH_FASTCALL, grp_getgrnam__doc__},
Brett Cannon8fb7bb22014-08-22 11:52:46 -040047
48static PyObject *
Serhiy Storchaka1a2b24f2016-07-07 17:35:15 +030049grp_getgrnam_impl(PyObject *module, PyObject *name);
Brett Cannon8fb7bb22014-08-22 11:52:46 -040050
51static PyObject *
Victor Stinner37e4ef72016-09-09 20:00:13 -070052grp_getgrnam(PyObject *module, PyObject **args, Py_ssize_t nargs, PyObject *kwnames)
Brett Cannon8fb7bb22014-08-22 11:52:46 -040053{
54 PyObject *return_value = NULL;
Serhiy Storchaka9171a8b2016-08-14 10:52:18 +030055 static const char * const _keywords[] = {"name", NULL};
56 static _PyArg_Parser _parser = {"U:getgrnam", _keywords, 0};
Brett Cannon8fb7bb22014-08-22 11:52:46 -040057 PyObject *name;
58
Victor Stinner3e1fad62017-01-17 01:29:01 +010059 if (!_PyArg_ParseStackAndKeywords(args, nargs, kwnames, &_parser,
Serhiy Storchaka5dee6552016-06-09 16:16:06 +030060 &name)) {
Brett Cannon8fb7bb22014-08-22 11:52:46 -040061 goto exit;
Serhiy Storchaka5dee6552016-06-09 16:16:06 +030062 }
Brett Cannon8fb7bb22014-08-22 11:52:46 -040063 return_value = grp_getgrnam_impl(module, name);
64
65exit:
66 return return_value;
67}
68
69PyDoc_STRVAR(grp_getgrall__doc__,
70"getgrall($module, /)\n"
71"--\n"
72"\n"
73"Return a list of all available group entries, in arbitrary order.\n"
74"\n"
75"An entry whose name starts with \'+\' or \'-\' represents an instruction\n"
76"to use YP/NIS and may not be accessible via getgrnam or getgrgid.");
77
78#define GRP_GETGRALL_METHODDEF \
79 {"getgrall", (PyCFunction)grp_getgrall, METH_NOARGS, grp_getgrall__doc__},
80
81static PyObject *
Serhiy Storchaka1a2b24f2016-07-07 17:35:15 +030082grp_getgrall_impl(PyObject *module);
Brett Cannon8fb7bb22014-08-22 11:52:46 -040083
84static PyObject *
Serhiy Storchaka1a2b24f2016-07-07 17:35:15 +030085grp_getgrall(PyObject *module, PyObject *Py_UNUSED(ignored))
Brett Cannon8fb7bb22014-08-22 11:52:46 -040086{
87 return grp_getgrall_impl(module);
88}
Victor Stinner259f0e42017-01-17 01:35:17 +010089/*[clinic end generated code: output=fb690db5e676d378 input=a9049054013a1b77]*/