blob: 9c9d595c2a8f0817abceaf8949e68f89559755b7 [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 \
14 {"getgrgid", (PyCFunction)grp_getgrgid, METH_VARARGS|METH_KEYWORDS, grp_getgrgid__doc__},
15
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 *
Serhiy Storchaka1a2b24f2016-07-07 17:35:15 +030020grp_getgrgid(PyObject *module, PyObject *args, PyObject *kwargs)
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
Serhiy Storchaka9171a8b2016-08-14 10:52:18 +030027 if (!_PyArg_ParseTupleAndKeywordsFast(args, kwargs, &_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 \
46 {"getgrnam", (PyCFunction)grp_getgrnam, METH_VARARGS|METH_KEYWORDS, grp_getgrnam__doc__},
47
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 *
Serhiy Storchaka1a2b24f2016-07-07 17:35:15 +030052grp_getgrnam(PyObject *module, PyObject *args, PyObject *kwargs)
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
Serhiy Storchaka9171a8b2016-08-14 10:52:18 +030059 if (!_PyArg_ParseTupleAndKeywordsFast(args, kwargs, &_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}
Serhiy Storchaka9171a8b2016-08-14 10:52:18 +030089/*[clinic end generated code: output=c06081097b7fffe7 input=a9049054013a1b77]*/