File: common.h

package info (click to toggle)
libuser 1%3A0.64%2Bgit20241106~dfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 4,184 kB
  • sloc: ansic: 16,599; python: 2,561; sh: 883; yacc: 782; makefile: 236; xml: 106
file content (59 lines) | stat: -rw-r--r-- 1,813 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#ifndef common_h
#define common_h

#include <Python.h>
#include "../lib/user.h"
#include "debug.h"

#if PY_MAJOR_VERSION >= 3
#define PYINTTYPE_FROMLONG PyLong_FromLong
#define PYSTRTYPE_ASSTRING PyUnicode_AsUTF8
#define PYSTRTYPE_CHECK PyUnicode_Check
#define PYSTRTYPE_FROMFORMAT PyUnicode_FromFormat
#define PYSTRTYPE_FROMSTRING PyUnicode_FromString
#else
#define PYINTTYPE_FROMLONG PyInt_FromLong
#define PYSTRTYPE_ASSTRING PyString_AsString
#define PYSTRTYPE_CHECK PyString_Check
#define PYSTRTYPE_FROMFORMAT PyString_FromFormat
#define PYSTRTYPE_FROMSTRING PyString_FromString
#endif

struct libuser_admin {
	PyObject_HEAD
	PyObject *prompt_data[2];
	struct lu_context *ctx;
};

struct libuser_entity {
	PyObject_HEAD
	struct lu_ent *ent;
};

extern PyTypeObject AdminType G_GNUC_INTERNAL;
extern PyTypeObject EntityType G_GNUC_INTERNAL;
extern PyTypeObject PromptType G_GNUC_INTERNAL;

PyObject *libuser_admin_new(PyObject *self, PyObject *args, PyObject *kwargs)
	G_GNUC_INTERNAL;

gboolean libuser_admin_python_prompter(struct lu_prompt *prompts, int count,
				       gpointer callback_data,
				       struct lu_error **error) G_GNUC_INTERNAL;
PyObject *libuser_admin_prompt_console(PyObject *self, PyObject *args,
				       PyObject *kwargs) G_GNUC_INTERNAL;
PyObject *libuser_admin_prompt_console_quiet(PyObject *self, PyObject *args,
					     PyObject *kwargs) G_GNUC_INTERNAL;

PyObject *convert_value_array_pylist(GValueArray *array) G_GNUC_INTERNAL;
PyObject *convert_ent_array_pylist(GPtrArray *array) G_GNUC_INTERNAL;
PyObject *libuser_prompt_new(PyObject *ignored_self, PyObject *ignore)
	G_GNUC_INTERNAL;

PyObject *libuser_get_user_shells(PyObject *self, PyObject *ignored)
	G_GNUC_INTERNAL;
PyObject *libuser_wrap_ent(struct lu_ent *ent) G_GNUC_INTERNAL;

void initlibuser(void);

#endif