
/* Python wrapper functions auto-generated by pidl */
#include <Python.h>
#include "includes.h"
#include <pytalloc.h>
#include "librpc/rpc/pyrpc.h"
#include "librpc/rpc/pyrpc_util.h"
#include "librpc/gen_ndr/ndr_rap.h"
#include "librpc/gen_ndr/ndr_rap_c.h"

staticforward PyTypeObject rap_group_info_1_Type;
staticforward PyTypeObject rap_user_info_1_Type;
staticforward PyTypeObject rap_service_info_2_Type;
staticforward PyTypeObject rap_share_info_0_Type;
staticforward PyTypeObject rap_share_info_1_Type;
staticforward PyTypeObject rap_share_info_2_Type;
staticforward PyTypeObject rap_server_info_0_Type;
staticforward PyTypeObject rap_server_info_1_Type;
staticforward PyTypeObject rap_PrintJobInfo0_Type;
staticforward PyTypeObject rap_PrintJobInfo1_Type;
staticforward PyTypeObject rap_PrintJobInfo2_Type;
staticforward PyTypeObject rap_PrintJobInfo3_Type;
staticforward PyTypeObject rap_PrintQueue0_Type;
staticforward PyTypeObject rap_PrintQueue1_Type;
staticforward PyTypeObject rap_PrintQueue2_Type;
staticforward PyTypeObject rap_PrintQueue3_Type;
staticforward PyTypeObject rap_PrintQueue4_Type;
staticforward PyTypeObject rap_PrintQueue5_Type;
staticforward PyTypeObject rap_PrintDest0_Type;
staticforward PyTypeObject rap_PrintDest1_Type;
staticforward PyTypeObject rap_PrintDest2_Type;
staticforward PyTypeObject rap_PrintDest3_Type;
staticforward PyTypeObject rap_NetUserInfo0_Type;
staticforward PyTypeObject rap_NetUserInfo1_Type;
staticforward PyTypeObject rap_LogonHours_Type;
staticforward PyTypeObject rap_NetUserInfo2_Type;
staticforward PyTypeObject rap_NetUserInfo10_Type;
staticforward PyTypeObject rap_NetUserInfo11_Type;
staticforward PyTypeObject rap_session_info_2_Type;
staticforward PyTypeObject rap_TimeOfDayInfo_Type;

void initrap(void);static PyTypeObject *Object_Type;

static PyObject *py_rap_group_info_1_get_group_name(PyObject *obj, void *closure)
{
	struct rap_group_info_1 *object = (struct rap_group_info_1 *)py_talloc_get_ptr(obj);
	PyObject *py_group_name;
	py_group_name = PyList_New(21);
	if (py_group_name == NULL) {
		return NULL;
	}
	{
		int group_name_cntr_0;
		for (group_name_cntr_0 = 0; group_name_cntr_0 < 21; group_name_cntr_0++) {
			PyObject *py_group_name_0;
			py_group_name_0 = PyInt_FromLong(object->group_name[group_name_cntr_0]);
			PyList_SetItem(py_group_name, group_name_cntr_0, py_group_name_0);
		}
	}
	return py_group_name;
}

static int py_rap_group_info_1_set_group_name(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_group_info_1 *object = (struct rap_group_info_1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyList_Type, value, return -1;);
	{
		int group_name_cntr_0;
		for (group_name_cntr_0 = 0; group_name_cntr_0 < PyList_GET_SIZE(value); group_name_cntr_0++) {
			PY_CHECK_TYPE(&PyInt_Type, PyList_GET_ITEM(value, group_name_cntr_0), return -1;);
			object->group_name[group_name_cntr_0] = PyInt_AsLong(PyList_GET_ITEM(value, group_name_cntr_0));
		}
	}
	return 0;
}

static PyObject *py_rap_group_info_1_get_reserved1(PyObject *obj, void *closure)
{
	struct rap_group_info_1 *object = (struct rap_group_info_1 *)py_talloc_get_ptr(obj);
	PyObject *py_reserved1;
	py_reserved1 = PyInt_FromLong(object->reserved1);
	return py_reserved1;
}

static int py_rap_group_info_1_set_reserved1(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_group_info_1 *object = (struct rap_group_info_1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->reserved1 = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_group_info_1_get_comment(PyObject *obj, void *closure)
{
	struct rap_group_info_1 *object = (struct rap_group_info_1 *)py_talloc_get_ptr(obj);
	PyObject *py_comment;
	if (object->comment == NULL) {
		py_comment = Py_None;
		Py_INCREF(py_comment);
	} else {
		py_comment = PyString_FromStringOrNULL(object->comment);
	}
	return py_comment;
}

static int py_rap_group_info_1_set_comment(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_group_info_1 *object = (struct rap_group_info_1 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->comment = NULL;
	} else {
		object->comment = NULL;
		object->comment = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyGetSetDef py_rap_group_info_1_getsetters[] = {
	{ discard_const_p(char, "group_name"), py_rap_group_info_1_get_group_name, py_rap_group_info_1_set_group_name },
	{ discard_const_p(char, "reserved1"), py_rap_group_info_1_get_reserved1, py_rap_group_info_1_set_reserved1 },
	{ discard_const_p(char, "comment"), py_rap_group_info_1_get_comment, py_rap_group_info_1_set_comment },
	{ NULL }
};

static PyObject *py_rap_group_info_1_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
{
	return py_talloc_new(struct rap_group_info_1, type);
}


static PyTypeObject rap_group_info_1_Type = {
	PyObject_HEAD_INIT(NULL) 0,
	.tp_name = "rap.group_info_1",
	.tp_getset = py_rap_group_info_1_getsetters,
	.tp_methods = NULL,
	.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
	.tp_basicsize = sizeof(py_talloc_Object),
	.tp_new = py_rap_group_info_1_new,
};


static PyObject *py_rap_user_info_1_get_user_name(PyObject *obj, void *closure)
{
	struct rap_user_info_1 *object = (struct rap_user_info_1 *)py_talloc_get_ptr(obj);
	PyObject *py_user_name;
	py_user_name = PyList_New(21);
	if (py_user_name == NULL) {
		return NULL;
	}
	{
		int user_name_cntr_0;
		for (user_name_cntr_0 = 0; user_name_cntr_0 < 21; user_name_cntr_0++) {
			PyObject *py_user_name_0;
			py_user_name_0 = PyInt_FromLong(object->user_name[user_name_cntr_0]);
			PyList_SetItem(py_user_name, user_name_cntr_0, py_user_name_0);
		}
	}
	return py_user_name;
}

static int py_rap_user_info_1_set_user_name(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_user_info_1 *object = (struct rap_user_info_1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyList_Type, value, return -1;);
	{
		int user_name_cntr_0;
		for (user_name_cntr_0 = 0; user_name_cntr_0 < PyList_GET_SIZE(value); user_name_cntr_0++) {
			PY_CHECK_TYPE(&PyInt_Type, PyList_GET_ITEM(value, user_name_cntr_0), return -1;);
			object->user_name[user_name_cntr_0] = PyInt_AsLong(PyList_GET_ITEM(value, user_name_cntr_0));
		}
	}
	return 0;
}

static PyObject *py_rap_user_info_1_get_reserved1(PyObject *obj, void *closure)
{
	struct rap_user_info_1 *object = (struct rap_user_info_1 *)py_talloc_get_ptr(obj);
	PyObject *py_reserved1;
	py_reserved1 = PyInt_FromLong(object->reserved1);
	return py_reserved1;
}

static int py_rap_user_info_1_set_reserved1(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_user_info_1 *object = (struct rap_user_info_1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->reserved1 = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_user_info_1_get_passwrd(PyObject *obj, void *closure)
{
	struct rap_user_info_1 *object = (struct rap_user_info_1 *)py_talloc_get_ptr(obj);
	PyObject *py_passwrd;
	py_passwrd = PyList_New(16);
	if (py_passwrd == NULL) {
		return NULL;
	}
	{
		int passwrd_cntr_0;
		for (passwrd_cntr_0 = 0; passwrd_cntr_0 < 16; passwrd_cntr_0++) {
			PyObject *py_passwrd_0;
			py_passwrd_0 = PyInt_FromLong(object->passwrd[passwrd_cntr_0]);
			PyList_SetItem(py_passwrd, passwrd_cntr_0, py_passwrd_0);
		}
	}
	return py_passwrd;
}

static int py_rap_user_info_1_set_passwrd(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_user_info_1 *object = (struct rap_user_info_1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyList_Type, value, return -1;);
	{
		int passwrd_cntr_0;
		for (passwrd_cntr_0 = 0; passwrd_cntr_0 < PyList_GET_SIZE(value); passwrd_cntr_0++) {
			PY_CHECK_TYPE(&PyInt_Type, PyList_GET_ITEM(value, passwrd_cntr_0), return -1;);
			object->passwrd[passwrd_cntr_0] = PyInt_AsLong(PyList_GET_ITEM(value, passwrd_cntr_0));
		}
	}
	return 0;
}

static PyObject *py_rap_user_info_1_get_pwage(PyObject *obj, void *closure)
{
	struct rap_user_info_1 *object = (struct rap_user_info_1 *)py_talloc_get_ptr(obj);
	PyObject *py_pwage;
	py_pwage = PyInt_FromLong(object->pwage);
	return py_pwage;
}

static int py_rap_user_info_1_set_pwage(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_user_info_1 *object = (struct rap_user_info_1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->pwage = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_user_info_1_get_priv(PyObject *obj, void *closure)
{
	struct rap_user_info_1 *object = (struct rap_user_info_1 *)py_talloc_get_ptr(obj);
	PyObject *py_priv;
	py_priv = PyInt_FromLong(object->priv);
	return py_priv;
}

static int py_rap_user_info_1_set_priv(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_user_info_1 *object = (struct rap_user_info_1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->priv = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_user_info_1_get_home_dir(PyObject *obj, void *closure)
{
	struct rap_user_info_1 *object = (struct rap_user_info_1 *)py_talloc_get_ptr(obj);
	PyObject *py_home_dir;
	if (object->home_dir == NULL) {
		py_home_dir = Py_None;
		Py_INCREF(py_home_dir);
	} else {
		py_home_dir = PyString_FromStringOrNULL(object->home_dir);
	}
	return py_home_dir;
}

static int py_rap_user_info_1_set_home_dir(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_user_info_1 *object = (struct rap_user_info_1 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->home_dir = NULL;
	} else {
		object->home_dir = NULL;
		object->home_dir = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_user_info_1_get_comment(PyObject *obj, void *closure)
{
	struct rap_user_info_1 *object = (struct rap_user_info_1 *)py_talloc_get_ptr(obj);
	PyObject *py_comment;
	if (object->comment == NULL) {
		py_comment = Py_None;
		Py_INCREF(py_comment);
	} else {
		py_comment = PyString_FromStringOrNULL(object->comment);
	}
	return py_comment;
}

static int py_rap_user_info_1_set_comment(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_user_info_1 *object = (struct rap_user_info_1 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->comment = NULL;
	} else {
		object->comment = NULL;
		object->comment = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_user_info_1_get_userflags(PyObject *obj, void *closure)
{
	struct rap_user_info_1 *object = (struct rap_user_info_1 *)py_talloc_get_ptr(obj);
	PyObject *py_userflags;
	py_userflags = PyInt_FromLong(object->userflags);
	return py_userflags;
}

static int py_rap_user_info_1_set_userflags(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_user_info_1 *object = (struct rap_user_info_1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->userflags = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_user_info_1_get_logon_script(PyObject *obj, void *closure)
{
	struct rap_user_info_1 *object = (struct rap_user_info_1 *)py_talloc_get_ptr(obj);
	PyObject *py_logon_script;
	if (object->logon_script == NULL) {
		py_logon_script = Py_None;
		Py_INCREF(py_logon_script);
	} else {
		py_logon_script = PyString_FromStringOrNULL(object->logon_script);
	}
	return py_logon_script;
}

static int py_rap_user_info_1_set_logon_script(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_user_info_1 *object = (struct rap_user_info_1 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->logon_script = NULL;
	} else {
		object->logon_script = NULL;
		object->logon_script = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyGetSetDef py_rap_user_info_1_getsetters[] = {
	{ discard_const_p(char, "user_name"), py_rap_user_info_1_get_user_name, py_rap_user_info_1_set_user_name },
	{ discard_const_p(char, "reserved1"), py_rap_user_info_1_get_reserved1, py_rap_user_info_1_set_reserved1 },
	{ discard_const_p(char, "passwrd"), py_rap_user_info_1_get_passwrd, py_rap_user_info_1_set_passwrd },
	{ discard_const_p(char, "pwage"), py_rap_user_info_1_get_pwage, py_rap_user_info_1_set_pwage },
	{ discard_const_p(char, "priv"), py_rap_user_info_1_get_priv, py_rap_user_info_1_set_priv },
	{ discard_const_p(char, "home_dir"), py_rap_user_info_1_get_home_dir, py_rap_user_info_1_set_home_dir },
	{ discard_const_p(char, "comment"), py_rap_user_info_1_get_comment, py_rap_user_info_1_set_comment },
	{ discard_const_p(char, "userflags"), py_rap_user_info_1_get_userflags, py_rap_user_info_1_set_userflags },
	{ discard_const_p(char, "logon_script"), py_rap_user_info_1_get_logon_script, py_rap_user_info_1_set_logon_script },
	{ NULL }
};

static PyObject *py_rap_user_info_1_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
{
	return py_talloc_new(struct rap_user_info_1, type);
}


static PyTypeObject rap_user_info_1_Type = {
	PyObject_HEAD_INIT(NULL) 0,
	.tp_name = "rap.user_info_1",
	.tp_getset = py_rap_user_info_1_getsetters,
	.tp_methods = NULL,
	.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
	.tp_basicsize = sizeof(py_talloc_Object),
	.tp_new = py_rap_user_info_1_new,
};


static PyObject *py_rap_service_info_2_get_service_name(PyObject *obj, void *closure)
{
	struct rap_service_info_2 *object = (struct rap_service_info_2 *)py_talloc_get_ptr(obj);
	PyObject *py_service_name;
	py_service_name = PyList_New(16);
	if (py_service_name == NULL) {
		return NULL;
	}
	{
		int service_name_cntr_0;
		for (service_name_cntr_0 = 0; service_name_cntr_0 < 16; service_name_cntr_0++) {
			PyObject *py_service_name_0;
			py_service_name_0 = PyInt_FromLong(object->service_name[service_name_cntr_0]);
			PyList_SetItem(py_service_name, service_name_cntr_0, py_service_name_0);
		}
	}
	return py_service_name;
}

static int py_rap_service_info_2_set_service_name(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_service_info_2 *object = (struct rap_service_info_2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyList_Type, value, return -1;);
	{
		int service_name_cntr_0;
		for (service_name_cntr_0 = 0; service_name_cntr_0 < PyList_GET_SIZE(value); service_name_cntr_0++) {
			PY_CHECK_TYPE(&PyInt_Type, PyList_GET_ITEM(value, service_name_cntr_0), return -1;);
			object->service_name[service_name_cntr_0] = PyInt_AsLong(PyList_GET_ITEM(value, service_name_cntr_0));
		}
	}
	return 0;
}

static PyObject *py_rap_service_info_2_get_status(PyObject *obj, void *closure)
{
	struct rap_service_info_2 *object = (struct rap_service_info_2 *)py_talloc_get_ptr(obj);
	PyObject *py_status;
	py_status = PyInt_FromLong(object->status);
	return py_status;
}

static int py_rap_service_info_2_set_status(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_service_info_2 *object = (struct rap_service_info_2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->status = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_service_info_2_get_installcode(PyObject *obj, void *closure)
{
	struct rap_service_info_2 *object = (struct rap_service_info_2 *)py_talloc_get_ptr(obj);
	PyObject *py_installcode;
	py_installcode = PyInt_FromLong(object->installcode);
	return py_installcode;
}

static int py_rap_service_info_2_set_installcode(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_service_info_2 *object = (struct rap_service_info_2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->installcode = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_service_info_2_get_process_num(PyObject *obj, void *closure)
{
	struct rap_service_info_2 *object = (struct rap_service_info_2 *)py_talloc_get_ptr(obj);
	PyObject *py_process_num;
	py_process_num = PyInt_FromLong(object->process_num);
	return py_process_num;
}

static int py_rap_service_info_2_set_process_num(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_service_info_2 *object = (struct rap_service_info_2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->process_num = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_service_info_2_get_comment(PyObject *obj, void *closure)
{
	struct rap_service_info_2 *object = (struct rap_service_info_2 *)py_talloc_get_ptr(obj);
	PyObject *py_comment;
	if (object->comment == NULL) {
		py_comment = Py_None;
		Py_INCREF(py_comment);
	} else {
		py_comment = PyString_FromStringOrNULL(object->comment);
	}
	return py_comment;
}

static int py_rap_service_info_2_set_comment(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_service_info_2 *object = (struct rap_service_info_2 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->comment = NULL;
	} else {
		object->comment = NULL;
		object->comment = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyGetSetDef py_rap_service_info_2_getsetters[] = {
	{ discard_const_p(char, "service_name"), py_rap_service_info_2_get_service_name, py_rap_service_info_2_set_service_name },
	{ discard_const_p(char, "status"), py_rap_service_info_2_get_status, py_rap_service_info_2_set_status },
	{ discard_const_p(char, "installcode"), py_rap_service_info_2_get_installcode, py_rap_service_info_2_set_installcode },
	{ discard_const_p(char, "process_num"), py_rap_service_info_2_get_process_num, py_rap_service_info_2_set_process_num },
	{ discard_const_p(char, "comment"), py_rap_service_info_2_get_comment, py_rap_service_info_2_set_comment },
	{ NULL }
};

static PyObject *py_rap_service_info_2_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
{
	return py_talloc_new(struct rap_service_info_2, type);
}


static PyTypeObject rap_service_info_2_Type = {
	PyObject_HEAD_INIT(NULL) 0,
	.tp_name = "rap.service_info_2",
	.tp_getset = py_rap_service_info_2_getsetters,
	.tp_methods = NULL,
	.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
	.tp_basicsize = sizeof(py_talloc_Object),
	.tp_new = py_rap_service_info_2_new,
};


static PyObject *py_rap_share_info_0_get_share_name(PyObject *obj, void *closure)
{
	struct rap_share_info_0 *object = (struct rap_share_info_0 *)py_talloc_get_ptr(obj);
	PyObject *py_share_name;
	py_share_name = PyList_New(13);
	if (py_share_name == NULL) {
		return NULL;
	}
	{
		int share_name_cntr_0;
		for (share_name_cntr_0 = 0; share_name_cntr_0 < 13; share_name_cntr_0++) {
			PyObject *py_share_name_0;
			py_share_name_0 = PyInt_FromLong(object->share_name[share_name_cntr_0]);
			PyList_SetItem(py_share_name, share_name_cntr_0, py_share_name_0);
		}
	}
	return py_share_name;
}

static int py_rap_share_info_0_set_share_name(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_share_info_0 *object = (struct rap_share_info_0 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyList_Type, value, return -1;);
	{
		int share_name_cntr_0;
		for (share_name_cntr_0 = 0; share_name_cntr_0 < PyList_GET_SIZE(value); share_name_cntr_0++) {
			PY_CHECK_TYPE(&PyInt_Type, PyList_GET_ITEM(value, share_name_cntr_0), return -1;);
			object->share_name[share_name_cntr_0] = PyInt_AsLong(PyList_GET_ITEM(value, share_name_cntr_0));
		}
	}
	return 0;
}

static PyGetSetDef py_rap_share_info_0_getsetters[] = {
	{ discard_const_p(char, "share_name"), py_rap_share_info_0_get_share_name, py_rap_share_info_0_set_share_name },
	{ NULL }
};

static PyObject *py_rap_share_info_0_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
{
	return py_talloc_new(struct rap_share_info_0, type);
}


static PyTypeObject rap_share_info_0_Type = {
	PyObject_HEAD_INIT(NULL) 0,
	.tp_name = "rap.share_info_0",
	.tp_getset = py_rap_share_info_0_getsetters,
	.tp_methods = NULL,
	.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
	.tp_basicsize = sizeof(py_talloc_Object),
	.tp_new = py_rap_share_info_0_new,
};


static PyObject *py_rap_share_info_1_get_share_name(PyObject *obj, void *closure)
{
	struct rap_share_info_1 *object = (struct rap_share_info_1 *)py_talloc_get_ptr(obj);
	PyObject *py_share_name;
	py_share_name = PyList_New(13);
	if (py_share_name == NULL) {
		return NULL;
	}
	{
		int share_name_cntr_0;
		for (share_name_cntr_0 = 0; share_name_cntr_0 < 13; share_name_cntr_0++) {
			PyObject *py_share_name_0;
			py_share_name_0 = PyInt_FromLong(object->share_name[share_name_cntr_0]);
			PyList_SetItem(py_share_name, share_name_cntr_0, py_share_name_0);
		}
	}
	return py_share_name;
}

static int py_rap_share_info_1_set_share_name(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_share_info_1 *object = (struct rap_share_info_1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyList_Type, value, return -1;);
	{
		int share_name_cntr_0;
		for (share_name_cntr_0 = 0; share_name_cntr_0 < PyList_GET_SIZE(value); share_name_cntr_0++) {
			PY_CHECK_TYPE(&PyInt_Type, PyList_GET_ITEM(value, share_name_cntr_0), return -1;);
			object->share_name[share_name_cntr_0] = PyInt_AsLong(PyList_GET_ITEM(value, share_name_cntr_0));
		}
	}
	return 0;
}

static PyObject *py_rap_share_info_1_get_reserved1(PyObject *obj, void *closure)
{
	struct rap_share_info_1 *object = (struct rap_share_info_1 *)py_talloc_get_ptr(obj);
	PyObject *py_reserved1;
	py_reserved1 = PyInt_FromLong(object->reserved1);
	return py_reserved1;
}

static int py_rap_share_info_1_set_reserved1(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_share_info_1 *object = (struct rap_share_info_1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->reserved1 = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_share_info_1_get_share_type(PyObject *obj, void *closure)
{
	struct rap_share_info_1 *object = (struct rap_share_info_1 *)py_talloc_get_ptr(obj);
	PyObject *py_share_type;
	py_share_type = PyInt_FromLong(object->share_type);
	return py_share_type;
}

static int py_rap_share_info_1_set_share_type(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_share_info_1 *object = (struct rap_share_info_1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->share_type = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_share_info_1_get_comment(PyObject *obj, void *closure)
{
	struct rap_share_info_1 *object = (struct rap_share_info_1 *)py_talloc_get_ptr(obj);
	PyObject *py_comment;
	if (object->comment == NULL) {
		py_comment = Py_None;
		Py_INCREF(py_comment);
	} else {
		py_comment = PyString_FromStringOrNULL(object->comment);
	}
	return py_comment;
}

static int py_rap_share_info_1_set_comment(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_share_info_1 *object = (struct rap_share_info_1 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->comment = NULL;
	} else {
		object->comment = NULL;
		object->comment = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyGetSetDef py_rap_share_info_1_getsetters[] = {
	{ discard_const_p(char, "share_name"), py_rap_share_info_1_get_share_name, py_rap_share_info_1_set_share_name },
	{ discard_const_p(char, "reserved1"), py_rap_share_info_1_get_reserved1, py_rap_share_info_1_set_reserved1 },
	{ discard_const_p(char, "share_type"), py_rap_share_info_1_get_share_type, py_rap_share_info_1_set_share_type },
	{ discard_const_p(char, "comment"), py_rap_share_info_1_get_comment, py_rap_share_info_1_set_comment },
	{ NULL }
};

static PyObject *py_rap_share_info_1_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
{
	return py_talloc_new(struct rap_share_info_1, type);
}


static PyTypeObject rap_share_info_1_Type = {
	PyObject_HEAD_INIT(NULL) 0,
	.tp_name = "rap.share_info_1",
	.tp_getset = py_rap_share_info_1_getsetters,
	.tp_methods = NULL,
	.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
	.tp_basicsize = sizeof(py_talloc_Object),
	.tp_new = py_rap_share_info_1_new,
};


static PyObject *py_rap_share_info_2_get_share_name(PyObject *obj, void *closure)
{
	struct rap_share_info_2 *object = (struct rap_share_info_2 *)py_talloc_get_ptr(obj);
	PyObject *py_share_name;
	py_share_name = PyList_New(13);
	if (py_share_name == NULL) {
		return NULL;
	}
	{
		int share_name_cntr_0;
		for (share_name_cntr_0 = 0; share_name_cntr_0 < 13; share_name_cntr_0++) {
			PyObject *py_share_name_0;
			py_share_name_0 = PyInt_FromLong(object->share_name[share_name_cntr_0]);
			PyList_SetItem(py_share_name, share_name_cntr_0, py_share_name_0);
		}
	}
	return py_share_name;
}

static int py_rap_share_info_2_set_share_name(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_share_info_2 *object = (struct rap_share_info_2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyList_Type, value, return -1;);
	{
		int share_name_cntr_0;
		for (share_name_cntr_0 = 0; share_name_cntr_0 < PyList_GET_SIZE(value); share_name_cntr_0++) {
			PY_CHECK_TYPE(&PyInt_Type, PyList_GET_ITEM(value, share_name_cntr_0), return -1;);
			object->share_name[share_name_cntr_0] = PyInt_AsLong(PyList_GET_ITEM(value, share_name_cntr_0));
		}
	}
	return 0;
}

static PyObject *py_rap_share_info_2_get_reserved1(PyObject *obj, void *closure)
{
	struct rap_share_info_2 *object = (struct rap_share_info_2 *)py_talloc_get_ptr(obj);
	PyObject *py_reserved1;
	py_reserved1 = PyInt_FromLong(object->reserved1);
	return py_reserved1;
}

static int py_rap_share_info_2_set_reserved1(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_share_info_2 *object = (struct rap_share_info_2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->reserved1 = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_share_info_2_get_share_type(PyObject *obj, void *closure)
{
	struct rap_share_info_2 *object = (struct rap_share_info_2 *)py_talloc_get_ptr(obj);
	PyObject *py_share_type;
	py_share_type = PyInt_FromLong(object->share_type);
	return py_share_type;
}

static int py_rap_share_info_2_set_share_type(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_share_info_2 *object = (struct rap_share_info_2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->share_type = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_share_info_2_get_comment(PyObject *obj, void *closure)
{
	struct rap_share_info_2 *object = (struct rap_share_info_2 *)py_talloc_get_ptr(obj);
	PyObject *py_comment;
	if (object->comment == NULL) {
		py_comment = Py_None;
		Py_INCREF(py_comment);
	} else {
		py_comment = PyString_FromStringOrNULL(object->comment);
	}
	return py_comment;
}

static int py_rap_share_info_2_set_comment(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_share_info_2 *object = (struct rap_share_info_2 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->comment = NULL;
	} else {
		object->comment = NULL;
		object->comment = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_share_info_2_get_perms(PyObject *obj, void *closure)
{
	struct rap_share_info_2 *object = (struct rap_share_info_2 *)py_talloc_get_ptr(obj);
	PyObject *py_perms;
	py_perms = PyInt_FromLong(object->perms);
	return py_perms;
}

static int py_rap_share_info_2_set_perms(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_share_info_2 *object = (struct rap_share_info_2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->perms = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_share_info_2_get_maximum_users(PyObject *obj, void *closure)
{
	struct rap_share_info_2 *object = (struct rap_share_info_2 *)py_talloc_get_ptr(obj);
	PyObject *py_maximum_users;
	py_maximum_users = PyInt_FromLong(object->maximum_users);
	return py_maximum_users;
}

static int py_rap_share_info_2_set_maximum_users(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_share_info_2 *object = (struct rap_share_info_2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->maximum_users = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_share_info_2_get_active_users(PyObject *obj, void *closure)
{
	struct rap_share_info_2 *object = (struct rap_share_info_2 *)py_talloc_get_ptr(obj);
	PyObject *py_active_users;
	py_active_users = PyInt_FromLong(object->active_users);
	return py_active_users;
}

static int py_rap_share_info_2_set_active_users(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_share_info_2 *object = (struct rap_share_info_2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->active_users = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_share_info_2_get_path(PyObject *obj, void *closure)
{
	struct rap_share_info_2 *object = (struct rap_share_info_2 *)py_talloc_get_ptr(obj);
	PyObject *py_path;
	if (object->path == NULL) {
		py_path = Py_None;
		Py_INCREF(py_path);
	} else {
		py_path = PyString_FromStringOrNULL(object->path);
	}
	return py_path;
}

static int py_rap_share_info_2_set_path(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_share_info_2 *object = (struct rap_share_info_2 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->path = NULL;
	} else {
		object->path = NULL;
		object->path = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_share_info_2_get_password(PyObject *obj, void *closure)
{
	struct rap_share_info_2 *object = (struct rap_share_info_2 *)py_talloc_get_ptr(obj);
	PyObject *py_password;
	py_password = PyList_New(9);
	if (py_password == NULL) {
		return NULL;
	}
	{
		int password_cntr_0;
		for (password_cntr_0 = 0; password_cntr_0 < 9; password_cntr_0++) {
			PyObject *py_password_0;
			py_password_0 = PyInt_FromLong(object->password[password_cntr_0]);
			PyList_SetItem(py_password, password_cntr_0, py_password_0);
		}
	}
	return py_password;
}

static int py_rap_share_info_2_set_password(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_share_info_2 *object = (struct rap_share_info_2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyList_Type, value, return -1;);
	{
		int password_cntr_0;
		for (password_cntr_0 = 0; password_cntr_0 < PyList_GET_SIZE(value); password_cntr_0++) {
			PY_CHECK_TYPE(&PyInt_Type, PyList_GET_ITEM(value, password_cntr_0), return -1;);
			object->password[password_cntr_0] = PyInt_AsLong(PyList_GET_ITEM(value, password_cntr_0));
		}
	}
	return 0;
}

static PyObject *py_rap_share_info_2_get_reserved2(PyObject *obj, void *closure)
{
	struct rap_share_info_2 *object = (struct rap_share_info_2 *)py_talloc_get_ptr(obj);
	PyObject *py_reserved2;
	py_reserved2 = PyInt_FromLong(object->reserved2);
	return py_reserved2;
}

static int py_rap_share_info_2_set_reserved2(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_share_info_2 *object = (struct rap_share_info_2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->reserved2 = PyInt_AsLong(value);
	return 0;
}

static PyGetSetDef py_rap_share_info_2_getsetters[] = {
	{ discard_const_p(char, "share_name"), py_rap_share_info_2_get_share_name, py_rap_share_info_2_set_share_name },
	{ discard_const_p(char, "reserved1"), py_rap_share_info_2_get_reserved1, py_rap_share_info_2_set_reserved1 },
	{ discard_const_p(char, "share_type"), py_rap_share_info_2_get_share_type, py_rap_share_info_2_set_share_type },
	{ discard_const_p(char, "comment"), py_rap_share_info_2_get_comment, py_rap_share_info_2_set_comment },
	{ discard_const_p(char, "perms"), py_rap_share_info_2_get_perms, py_rap_share_info_2_set_perms },
	{ discard_const_p(char, "maximum_users"), py_rap_share_info_2_get_maximum_users, py_rap_share_info_2_set_maximum_users },
	{ discard_const_p(char, "active_users"), py_rap_share_info_2_get_active_users, py_rap_share_info_2_set_active_users },
	{ discard_const_p(char, "path"), py_rap_share_info_2_get_path, py_rap_share_info_2_set_path },
	{ discard_const_p(char, "password"), py_rap_share_info_2_get_password, py_rap_share_info_2_set_password },
	{ discard_const_p(char, "reserved2"), py_rap_share_info_2_get_reserved2, py_rap_share_info_2_set_reserved2 },
	{ NULL }
};

static PyObject *py_rap_share_info_2_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
{
	return py_talloc_new(struct rap_share_info_2, type);
}


static PyTypeObject rap_share_info_2_Type = {
	PyObject_HEAD_INIT(NULL) 0,
	.tp_name = "rap.share_info_2",
	.tp_getset = py_rap_share_info_2_getsetters,
	.tp_methods = NULL,
	.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
	.tp_basicsize = sizeof(py_talloc_Object),
	.tp_new = py_rap_share_info_2_new,
};

PyObject *py_import_rap_share_info(TALLOC_CTX *mem_ctx, int level, union rap_share_info *in)
{
	PyObject *ret;

	switch (level) {
		case 0:
			ret = py_talloc_reference_ex(&rap_share_info_0_Type, mem_ctx, &in->info0);
			return ret;

		case 1:
			ret = py_talloc_reference_ex(&rap_share_info_1_Type, mem_ctx, &in->info1);
			return ret;

		case 2:
			ret = py_talloc_reference_ex(&rap_share_info_2_Type, mem_ctx, &in->info2);
			return ret;

	}
	PyErr_SetString(PyExc_TypeError, "unknown union level");
	return NULL;
}

union rap_share_info *py_export_rap_share_info(TALLOC_CTX *mem_ctx, int level, PyObject *in)
{
	union rap_share_info *ret = talloc_zero(mem_ctx, union rap_share_info);
	switch (level) {
		case 0:
			PY_CHECK_TYPE(&rap_share_info_0_Type, in, talloc_free(ret); return NULL;);
			if (talloc_reference(mem_ctx, py_talloc_get_mem_ctx(in)) == NULL) {
				PyErr_NoMemory();
				talloc_free(ret); return NULL;
			}
			ret->info0 = *(struct rap_share_info_0 *)py_talloc_get_ptr(in);
			break;

		case 1:
			PY_CHECK_TYPE(&rap_share_info_1_Type, in, talloc_free(ret); return NULL;);
			if (talloc_reference(mem_ctx, py_talloc_get_mem_ctx(in)) == NULL) {
				PyErr_NoMemory();
				talloc_free(ret); return NULL;
			}
			ret->info1 = *(struct rap_share_info_1 *)py_talloc_get_ptr(in);
			break;

		case 2:
			PY_CHECK_TYPE(&rap_share_info_2_Type, in, talloc_free(ret); return NULL;);
			if (talloc_reference(mem_ctx, py_talloc_get_mem_ctx(in)) == NULL) {
				PyErr_NoMemory();
				talloc_free(ret); return NULL;
			}
			ret->info2 = *(struct rap_share_info_2 *)py_talloc_get_ptr(in);
			break;

		default:
			PyErr_SetString(PyExc_TypeError, "invalid union level value");
			talloc_free(ret);
			ret = NULL;
	}

	return ret;
}


static PyObject *py_rap_server_info_0_get_name(PyObject *obj, void *closure)
{
	struct rap_server_info_0 *object = (struct rap_server_info_0 *)py_talloc_get_ptr(obj);
	PyObject *py_name;
	py_name = PyList_New(16);
	if (py_name == NULL) {
		return NULL;
	}
	{
		int name_cntr_0;
		for (name_cntr_0 = 0; name_cntr_0 < 16; name_cntr_0++) {
			PyObject *py_name_0;
			py_name_0 = PyInt_FromLong(object->name[name_cntr_0]);
			PyList_SetItem(py_name, name_cntr_0, py_name_0);
		}
	}
	return py_name;
}

static int py_rap_server_info_0_set_name(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_server_info_0 *object = (struct rap_server_info_0 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyList_Type, value, return -1;);
	{
		int name_cntr_0;
		for (name_cntr_0 = 0; name_cntr_0 < PyList_GET_SIZE(value); name_cntr_0++) {
			PY_CHECK_TYPE(&PyInt_Type, PyList_GET_ITEM(value, name_cntr_0), return -1;);
			object->name[name_cntr_0] = PyInt_AsLong(PyList_GET_ITEM(value, name_cntr_0));
		}
	}
	return 0;
}

static PyGetSetDef py_rap_server_info_0_getsetters[] = {
	{ discard_const_p(char, "name"), py_rap_server_info_0_get_name, py_rap_server_info_0_set_name },
	{ NULL }
};

static PyObject *py_rap_server_info_0_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
{
	return py_talloc_new(struct rap_server_info_0, type);
}


static PyTypeObject rap_server_info_0_Type = {
	PyObject_HEAD_INIT(NULL) 0,
	.tp_name = "rap.server_info_0",
	.tp_getset = py_rap_server_info_0_getsetters,
	.tp_methods = NULL,
	.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
	.tp_basicsize = sizeof(py_talloc_Object),
	.tp_new = py_rap_server_info_0_new,
};


static PyObject *py_rap_server_info_1_get_name(PyObject *obj, void *closure)
{
	struct rap_server_info_1 *object = (struct rap_server_info_1 *)py_talloc_get_ptr(obj);
	PyObject *py_name;
	py_name = PyList_New(16);
	if (py_name == NULL) {
		return NULL;
	}
	{
		int name_cntr_0;
		for (name_cntr_0 = 0; name_cntr_0 < 16; name_cntr_0++) {
			PyObject *py_name_0;
			py_name_0 = PyInt_FromLong(object->name[name_cntr_0]);
			PyList_SetItem(py_name, name_cntr_0, py_name_0);
		}
	}
	return py_name;
}

static int py_rap_server_info_1_set_name(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_server_info_1 *object = (struct rap_server_info_1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyList_Type, value, return -1;);
	{
		int name_cntr_0;
		for (name_cntr_0 = 0; name_cntr_0 < PyList_GET_SIZE(value); name_cntr_0++) {
			PY_CHECK_TYPE(&PyInt_Type, PyList_GET_ITEM(value, name_cntr_0), return -1;);
			object->name[name_cntr_0] = PyInt_AsLong(PyList_GET_ITEM(value, name_cntr_0));
		}
	}
	return 0;
}

static PyObject *py_rap_server_info_1_get_version_major(PyObject *obj, void *closure)
{
	struct rap_server_info_1 *object = (struct rap_server_info_1 *)py_talloc_get_ptr(obj);
	PyObject *py_version_major;
	py_version_major = PyInt_FromLong(object->version_major);
	return py_version_major;
}

static int py_rap_server_info_1_set_version_major(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_server_info_1 *object = (struct rap_server_info_1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->version_major = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_server_info_1_get_version_minor(PyObject *obj, void *closure)
{
	struct rap_server_info_1 *object = (struct rap_server_info_1 *)py_talloc_get_ptr(obj);
	PyObject *py_version_minor;
	py_version_minor = PyInt_FromLong(object->version_minor);
	return py_version_minor;
}

static int py_rap_server_info_1_set_version_minor(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_server_info_1 *object = (struct rap_server_info_1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->version_minor = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_server_info_1_get_servertype(PyObject *obj, void *closure)
{
	struct rap_server_info_1 *object = (struct rap_server_info_1 *)py_talloc_get_ptr(obj);
	PyObject *py_servertype;
	py_servertype = PyInt_FromLong(object->servertype);
	return py_servertype;
}

static int py_rap_server_info_1_set_servertype(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_server_info_1 *object = (struct rap_server_info_1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->servertype = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_server_info_1_get_comment(PyObject *obj, void *closure)
{
	struct rap_server_info_1 *object = (struct rap_server_info_1 *)py_talloc_get_ptr(obj);
	PyObject *py_comment;
	if (object->comment == NULL) {
		py_comment = Py_None;
		Py_INCREF(py_comment);
	} else {
		py_comment = PyString_FromStringOrNULL(object->comment);
	}
	return py_comment;
}

static int py_rap_server_info_1_set_comment(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_server_info_1 *object = (struct rap_server_info_1 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->comment = NULL;
	} else {
		object->comment = NULL;
		object->comment = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyGetSetDef py_rap_server_info_1_getsetters[] = {
	{ discard_const_p(char, "name"), py_rap_server_info_1_get_name, py_rap_server_info_1_set_name },
	{ discard_const_p(char, "version_major"), py_rap_server_info_1_get_version_major, py_rap_server_info_1_set_version_major },
	{ discard_const_p(char, "version_minor"), py_rap_server_info_1_get_version_minor, py_rap_server_info_1_set_version_minor },
	{ discard_const_p(char, "servertype"), py_rap_server_info_1_get_servertype, py_rap_server_info_1_set_servertype },
	{ discard_const_p(char, "comment"), py_rap_server_info_1_get_comment, py_rap_server_info_1_set_comment },
	{ NULL }
};

static PyObject *py_rap_server_info_1_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
{
	return py_talloc_new(struct rap_server_info_1, type);
}


static PyTypeObject rap_server_info_1_Type = {
	PyObject_HEAD_INIT(NULL) 0,
	.tp_name = "rap.server_info_1",
	.tp_getset = py_rap_server_info_1_getsetters,
	.tp_methods = NULL,
	.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
	.tp_basicsize = sizeof(py_talloc_Object),
	.tp_new = py_rap_server_info_1_new,
};

PyObject *py_import_rap_server_info(TALLOC_CTX *mem_ctx, int level, union rap_server_info *in)
{
	PyObject *ret;

	switch (level) {
		case 0:
			ret = py_talloc_reference_ex(&rap_server_info_0_Type, mem_ctx, &in->info0);
			return ret;

		case 1:
			ret = py_talloc_reference_ex(&rap_server_info_1_Type, mem_ctx, &in->info1);
			return ret;

	}
	PyErr_SetString(PyExc_TypeError, "unknown union level");
	return NULL;
}

union rap_server_info *py_export_rap_server_info(TALLOC_CTX *mem_ctx, int level, PyObject *in)
{
	union rap_server_info *ret = talloc_zero(mem_ctx, union rap_server_info);
	switch (level) {
		case 0:
			PY_CHECK_TYPE(&rap_server_info_0_Type, in, talloc_free(ret); return NULL;);
			if (talloc_reference(mem_ctx, py_talloc_get_mem_ctx(in)) == NULL) {
				PyErr_NoMemory();
				talloc_free(ret); return NULL;
			}
			ret->info0 = *(struct rap_server_info_0 *)py_talloc_get_ptr(in);
			break;

		case 1:
			PY_CHECK_TYPE(&rap_server_info_1_Type, in, talloc_free(ret); return NULL;);
			if (talloc_reference(mem_ctx, py_talloc_get_mem_ctx(in)) == NULL) {
				PyErr_NoMemory();
				talloc_free(ret); return NULL;
			}
			ret->info1 = *(struct rap_server_info_1 *)py_talloc_get_ptr(in);
			break;

		default:
			PyErr_SetString(PyExc_TypeError, "invalid union level value");
			talloc_free(ret);
			ret = NULL;
	}

	return ret;
}


static PyObject *py_rap_PrintJobInfo0_get_JobID(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo0 *object = (struct rap_PrintJobInfo0 *)py_talloc_get_ptr(obj);
	PyObject *py_JobID;
	py_JobID = PyInt_FromLong(object->JobID);
	return py_JobID;
}

static int py_rap_PrintJobInfo0_set_JobID(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo0 *object = (struct rap_PrintJobInfo0 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->JobID = PyInt_AsLong(value);
	return 0;
}

static PyGetSetDef py_rap_PrintJobInfo0_getsetters[] = {
	{ discard_const_p(char, "JobID"), py_rap_PrintJobInfo0_get_JobID, py_rap_PrintJobInfo0_set_JobID },
	{ NULL }
};

static PyObject *py_rap_PrintJobInfo0_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
{
	return py_talloc_new(struct rap_PrintJobInfo0, type);
}


static PyTypeObject rap_PrintJobInfo0_Type = {
	PyObject_HEAD_INIT(NULL) 0,
	.tp_name = "rap.PrintJobInfo0",
	.tp_getset = py_rap_PrintJobInfo0_getsetters,
	.tp_methods = NULL,
	.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
	.tp_basicsize = sizeof(py_talloc_Object),
	.tp_new = py_rap_PrintJobInfo0_new,
};


static PyObject *py_rap_PrintJobInfo1_get_JobID(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo1 *object = (struct rap_PrintJobInfo1 *)py_talloc_get_ptr(obj);
	PyObject *py_JobID;
	py_JobID = PyInt_FromLong(object->JobID);
	return py_JobID;
}

static int py_rap_PrintJobInfo1_set_JobID(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo1 *object = (struct rap_PrintJobInfo1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->JobID = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintJobInfo1_get_UserName(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo1 *object = (struct rap_PrintJobInfo1 *)py_talloc_get_ptr(obj);
	PyObject *py_UserName;
	if (object->UserName == NULL) {
		py_UserName = Py_None;
		Py_INCREF(py_UserName);
	} else {
		py_UserName = PyUnicode_Decode(object->UserName, strlen(object->UserName), "utf-8", "ignore");
	}
	return py_UserName;
}

static int py_rap_PrintJobInfo1_set_UserName(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo1 *object = (struct rap_PrintJobInfo1 *)py_talloc_get_ptr(py_obj);
	if (PyUnicode_Check(value)) {
		object->UserName = PyString_AS_STRING(PyUnicode_AsEncodedString(value, "utf-8", "ignore"));
	} else if (PyString_Check(value)) {
		object->UserName = PyString_AS_STRING(value);
	} else {
		PyErr_Format(PyExc_TypeError, "Expected string or unicode object, got %s", Py_TYPE(value)->tp_name);
		return -1;
	}
	return 0;
}

static PyObject *py_rap_PrintJobInfo1_get_Pad(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo1 *object = (struct rap_PrintJobInfo1 *)py_talloc_get_ptr(obj);
	PyObject *py_Pad;
	py_Pad = PyInt_FromLong(object->Pad);
	return py_Pad;
}

static int py_rap_PrintJobInfo1_set_Pad(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo1 *object = (struct rap_PrintJobInfo1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->Pad = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintJobInfo1_get_NotifyName(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo1 *object = (struct rap_PrintJobInfo1 *)py_talloc_get_ptr(obj);
	PyObject *py_NotifyName;
	if (object->NotifyName == NULL) {
		py_NotifyName = Py_None;
		Py_INCREF(py_NotifyName);
	} else {
		py_NotifyName = PyUnicode_Decode(object->NotifyName, strlen(object->NotifyName), "utf-8", "ignore");
	}
	return py_NotifyName;
}

static int py_rap_PrintJobInfo1_set_NotifyName(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo1 *object = (struct rap_PrintJobInfo1 *)py_talloc_get_ptr(py_obj);
	if (PyUnicode_Check(value)) {
		object->NotifyName = PyString_AS_STRING(PyUnicode_AsEncodedString(value, "utf-8", "ignore"));
	} else if (PyString_Check(value)) {
		object->NotifyName = PyString_AS_STRING(value);
	} else {
		PyErr_Format(PyExc_TypeError, "Expected string or unicode object, got %s", Py_TYPE(value)->tp_name);
		return -1;
	}
	return 0;
}

static PyObject *py_rap_PrintJobInfo1_get_DataType(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo1 *object = (struct rap_PrintJobInfo1 *)py_talloc_get_ptr(obj);
	PyObject *py_DataType;
	if (object->DataType == NULL) {
		py_DataType = Py_None;
		Py_INCREF(py_DataType);
	} else {
		py_DataType = PyUnicode_Decode(object->DataType, strlen(object->DataType), "utf-8", "ignore");
	}
	return py_DataType;
}

static int py_rap_PrintJobInfo1_set_DataType(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo1 *object = (struct rap_PrintJobInfo1 *)py_talloc_get_ptr(py_obj);
	if (PyUnicode_Check(value)) {
		object->DataType = PyString_AS_STRING(PyUnicode_AsEncodedString(value, "utf-8", "ignore"));
	} else if (PyString_Check(value)) {
		object->DataType = PyString_AS_STRING(value);
	} else {
		PyErr_Format(PyExc_TypeError, "Expected string or unicode object, got %s", Py_TYPE(value)->tp_name);
		return -1;
	}
	return 0;
}

static PyObject *py_rap_PrintJobInfo1_get_PrintParameterString(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo1 *object = (struct rap_PrintJobInfo1 *)py_talloc_get_ptr(obj);
	PyObject *py_PrintParameterString;
	if (object->PrintParameterString == NULL) {
		py_PrintParameterString = Py_None;
		Py_INCREF(py_PrintParameterString);
	} else {
		py_PrintParameterString = PyString_FromStringOrNULL(object->PrintParameterString);
	}
	return py_PrintParameterString;
}

static int py_rap_PrintJobInfo1_set_PrintParameterString(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo1 *object = (struct rap_PrintJobInfo1 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->PrintParameterString = NULL;
	} else {
		object->PrintParameterString = NULL;
		object->PrintParameterString = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintJobInfo1_get_PrintParameterStringHigh(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo1 *object = (struct rap_PrintJobInfo1 *)py_talloc_get_ptr(obj);
	PyObject *py_PrintParameterStringHigh;
	py_PrintParameterStringHigh = PyInt_FromLong(object->PrintParameterStringHigh);
	return py_PrintParameterStringHigh;
}

static int py_rap_PrintJobInfo1_set_PrintParameterStringHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo1 *object = (struct rap_PrintJobInfo1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->PrintParameterStringHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintJobInfo1_get_JobPosition(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo1 *object = (struct rap_PrintJobInfo1 *)py_talloc_get_ptr(obj);
	PyObject *py_JobPosition;
	py_JobPosition = PyInt_FromLong(object->JobPosition);
	return py_JobPosition;
}

static int py_rap_PrintJobInfo1_set_JobPosition(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo1 *object = (struct rap_PrintJobInfo1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->JobPosition = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintJobInfo1_get_JobStatus(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo1 *object = (struct rap_PrintJobInfo1 *)py_talloc_get_ptr(obj);
	PyObject *py_JobStatus;
	py_JobStatus = PyInt_FromLong(object->JobStatus);
	return py_JobStatus;
}

static int py_rap_PrintJobInfo1_set_JobStatus(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo1 *object = (struct rap_PrintJobInfo1 *)py_talloc_get_ptr(py_obj);
	if (PyLong_Check(value)) {
		object->JobStatus = PyLong_AsLongLong(value);
	} else if (PyInt_Check(value)) {
		object->JobStatus = PyInt_AsLong(value);
	} else {
		PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
		  PyInt_Type.tp_name, PyLong_Type.tp_name);
		return -1;
	}
	return 0;
}

static PyObject *py_rap_PrintJobInfo1_get_JobStatusString(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo1 *object = (struct rap_PrintJobInfo1 *)py_talloc_get_ptr(obj);
	PyObject *py_JobStatusString;
	if (object->JobStatusString == NULL) {
		py_JobStatusString = Py_None;
		Py_INCREF(py_JobStatusString);
	} else {
		py_JobStatusString = PyString_FromStringOrNULL(object->JobStatusString);
	}
	return py_JobStatusString;
}

static int py_rap_PrintJobInfo1_set_JobStatusString(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo1 *object = (struct rap_PrintJobInfo1 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->JobStatusString = NULL;
	} else {
		object->JobStatusString = NULL;
		object->JobStatusString = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintJobInfo1_get_JobStatusStringHigh(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo1 *object = (struct rap_PrintJobInfo1 *)py_talloc_get_ptr(obj);
	PyObject *py_JobStatusStringHigh;
	py_JobStatusStringHigh = PyInt_FromLong(object->JobStatusStringHigh);
	return py_JobStatusStringHigh;
}

static int py_rap_PrintJobInfo1_set_JobStatusStringHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo1 *object = (struct rap_PrintJobInfo1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->JobStatusStringHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintJobInfo1_get_TimeSubmitted(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo1 *object = (struct rap_PrintJobInfo1 *)py_talloc_get_ptr(obj);
	PyObject *py_TimeSubmitted;
	py_TimeSubmitted = PyInt_FromLong(object->TimeSubmitted);
	return py_TimeSubmitted;
}

static int py_rap_PrintJobInfo1_set_TimeSubmitted(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo1 *object = (struct rap_PrintJobInfo1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->TimeSubmitted = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintJobInfo1_get_JobSize(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo1 *object = (struct rap_PrintJobInfo1 *)py_talloc_get_ptr(obj);
	PyObject *py_JobSize;
	py_JobSize = PyInt_FromLong(object->JobSize);
	return py_JobSize;
}

static int py_rap_PrintJobInfo1_set_JobSize(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo1 *object = (struct rap_PrintJobInfo1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->JobSize = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintJobInfo1_get_JobCommentString(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo1 *object = (struct rap_PrintJobInfo1 *)py_talloc_get_ptr(obj);
	PyObject *py_JobCommentString;
	if (object->JobCommentString == NULL) {
		py_JobCommentString = Py_None;
		Py_INCREF(py_JobCommentString);
	} else {
		py_JobCommentString = PyString_FromStringOrNULL(object->JobCommentString);
	}
	return py_JobCommentString;
}

static int py_rap_PrintJobInfo1_set_JobCommentString(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo1 *object = (struct rap_PrintJobInfo1 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->JobCommentString = NULL;
	} else {
		object->JobCommentString = NULL;
		object->JobCommentString = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintJobInfo1_get_JobCommentStringHigh(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo1 *object = (struct rap_PrintJobInfo1 *)py_talloc_get_ptr(obj);
	PyObject *py_JobCommentStringHigh;
	py_JobCommentStringHigh = PyInt_FromLong(object->JobCommentStringHigh);
	return py_JobCommentStringHigh;
}

static int py_rap_PrintJobInfo1_set_JobCommentStringHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo1 *object = (struct rap_PrintJobInfo1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->JobCommentStringHigh = PyInt_AsLong(value);
	return 0;
}

static PyGetSetDef py_rap_PrintJobInfo1_getsetters[] = {
	{ discard_const_p(char, "JobID"), py_rap_PrintJobInfo1_get_JobID, py_rap_PrintJobInfo1_set_JobID },
	{ discard_const_p(char, "UserName"), py_rap_PrintJobInfo1_get_UserName, py_rap_PrintJobInfo1_set_UserName },
	{ discard_const_p(char, "Pad"), py_rap_PrintJobInfo1_get_Pad, py_rap_PrintJobInfo1_set_Pad },
	{ discard_const_p(char, "NotifyName"), py_rap_PrintJobInfo1_get_NotifyName, py_rap_PrintJobInfo1_set_NotifyName },
	{ discard_const_p(char, "DataType"), py_rap_PrintJobInfo1_get_DataType, py_rap_PrintJobInfo1_set_DataType },
	{ discard_const_p(char, "PrintParameterString"), py_rap_PrintJobInfo1_get_PrintParameterString, py_rap_PrintJobInfo1_set_PrintParameterString },
	{ discard_const_p(char, "PrintParameterStringHigh"), py_rap_PrintJobInfo1_get_PrintParameterStringHigh, py_rap_PrintJobInfo1_set_PrintParameterStringHigh },
	{ discard_const_p(char, "JobPosition"), py_rap_PrintJobInfo1_get_JobPosition, py_rap_PrintJobInfo1_set_JobPosition },
	{ discard_const_p(char, "JobStatus"), py_rap_PrintJobInfo1_get_JobStatus, py_rap_PrintJobInfo1_set_JobStatus },
	{ discard_const_p(char, "JobStatusString"), py_rap_PrintJobInfo1_get_JobStatusString, py_rap_PrintJobInfo1_set_JobStatusString },
	{ discard_const_p(char, "JobStatusStringHigh"), py_rap_PrintJobInfo1_get_JobStatusStringHigh, py_rap_PrintJobInfo1_set_JobStatusStringHigh },
	{ discard_const_p(char, "TimeSubmitted"), py_rap_PrintJobInfo1_get_TimeSubmitted, py_rap_PrintJobInfo1_set_TimeSubmitted },
	{ discard_const_p(char, "JobSize"), py_rap_PrintJobInfo1_get_JobSize, py_rap_PrintJobInfo1_set_JobSize },
	{ discard_const_p(char, "JobCommentString"), py_rap_PrintJobInfo1_get_JobCommentString, py_rap_PrintJobInfo1_set_JobCommentString },
	{ discard_const_p(char, "JobCommentStringHigh"), py_rap_PrintJobInfo1_get_JobCommentStringHigh, py_rap_PrintJobInfo1_set_JobCommentStringHigh },
	{ NULL }
};

static PyObject *py_rap_PrintJobInfo1_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
{
	return py_talloc_new(struct rap_PrintJobInfo1, type);
}


static PyTypeObject rap_PrintJobInfo1_Type = {
	PyObject_HEAD_INIT(NULL) 0,
	.tp_name = "rap.PrintJobInfo1",
	.tp_getset = py_rap_PrintJobInfo1_getsetters,
	.tp_methods = NULL,
	.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
	.tp_basicsize = sizeof(py_talloc_Object),
	.tp_new = py_rap_PrintJobInfo1_new,
};


static PyObject *py_rap_PrintJobInfo2_get_JobID(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo2 *object = (struct rap_PrintJobInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_JobID;
	py_JobID = PyInt_FromLong(object->JobID);
	return py_JobID;
}

static int py_rap_PrintJobInfo2_set_JobID(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo2 *object = (struct rap_PrintJobInfo2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->JobID = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintJobInfo2_get_Priority(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo2 *object = (struct rap_PrintJobInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_Priority;
	py_Priority = PyInt_FromLong(object->Priority);
	return py_Priority;
}

static int py_rap_PrintJobInfo2_set_Priority(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo2 *object = (struct rap_PrintJobInfo2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->Priority = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintJobInfo2_get_UserName(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo2 *object = (struct rap_PrintJobInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_UserName;
	if (object->UserName == NULL) {
		py_UserName = Py_None;
		Py_INCREF(py_UserName);
	} else {
		py_UserName = PyString_FromStringOrNULL(object->UserName);
	}
	return py_UserName;
}

static int py_rap_PrintJobInfo2_set_UserName(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo2 *object = (struct rap_PrintJobInfo2 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->UserName = NULL;
	} else {
		object->UserName = NULL;
		object->UserName = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintJobInfo2_get_UserNameHigh(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo2 *object = (struct rap_PrintJobInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_UserNameHigh;
	py_UserNameHigh = PyInt_FromLong(object->UserNameHigh);
	return py_UserNameHigh;
}

static int py_rap_PrintJobInfo2_set_UserNameHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo2 *object = (struct rap_PrintJobInfo2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->UserNameHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintJobInfo2_get_JobPosition(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo2 *object = (struct rap_PrintJobInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_JobPosition;
	py_JobPosition = PyInt_FromLong(object->JobPosition);
	return py_JobPosition;
}

static int py_rap_PrintJobInfo2_set_JobPosition(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo2 *object = (struct rap_PrintJobInfo2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->JobPosition = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintJobInfo2_get_JobStatus(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo2 *object = (struct rap_PrintJobInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_JobStatus;
	py_JobStatus = PyInt_FromLong(object->JobStatus);
	return py_JobStatus;
}

static int py_rap_PrintJobInfo2_set_JobStatus(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo2 *object = (struct rap_PrintJobInfo2 *)py_talloc_get_ptr(py_obj);
	if (PyLong_Check(value)) {
		object->JobStatus = PyLong_AsLongLong(value);
	} else if (PyInt_Check(value)) {
		object->JobStatus = PyInt_AsLong(value);
	} else {
		PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
		  PyInt_Type.tp_name, PyLong_Type.tp_name);
		return -1;
	}
	return 0;
}

static PyObject *py_rap_PrintJobInfo2_get_TimeSubmitted(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo2 *object = (struct rap_PrintJobInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_TimeSubmitted;
	py_TimeSubmitted = PyInt_FromLong(object->TimeSubmitted);
	return py_TimeSubmitted;
}

static int py_rap_PrintJobInfo2_set_TimeSubmitted(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo2 *object = (struct rap_PrintJobInfo2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->TimeSubmitted = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintJobInfo2_get_JobSize(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo2 *object = (struct rap_PrintJobInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_JobSize;
	py_JobSize = PyInt_FromLong(object->JobSize);
	return py_JobSize;
}

static int py_rap_PrintJobInfo2_set_JobSize(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo2 *object = (struct rap_PrintJobInfo2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->JobSize = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintJobInfo2_get_JobCommentString(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo2 *object = (struct rap_PrintJobInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_JobCommentString;
	if (object->JobCommentString == NULL) {
		py_JobCommentString = Py_None;
		Py_INCREF(py_JobCommentString);
	} else {
		py_JobCommentString = PyString_FromStringOrNULL(object->JobCommentString);
	}
	return py_JobCommentString;
}

static int py_rap_PrintJobInfo2_set_JobCommentString(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo2 *object = (struct rap_PrintJobInfo2 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->JobCommentString = NULL;
	} else {
		object->JobCommentString = NULL;
		object->JobCommentString = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintJobInfo2_get_JobCommentStringHigh(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo2 *object = (struct rap_PrintJobInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_JobCommentStringHigh;
	py_JobCommentStringHigh = PyInt_FromLong(object->JobCommentStringHigh);
	return py_JobCommentStringHigh;
}

static int py_rap_PrintJobInfo2_set_JobCommentStringHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo2 *object = (struct rap_PrintJobInfo2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->JobCommentStringHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintJobInfo2_get_DocumentName(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo2 *object = (struct rap_PrintJobInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_DocumentName;
	if (object->DocumentName == NULL) {
		py_DocumentName = Py_None;
		Py_INCREF(py_DocumentName);
	} else {
		py_DocumentName = PyString_FromStringOrNULL(object->DocumentName);
	}
	return py_DocumentName;
}

static int py_rap_PrintJobInfo2_set_DocumentName(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo2 *object = (struct rap_PrintJobInfo2 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->DocumentName = NULL;
	} else {
		object->DocumentName = NULL;
		object->DocumentName = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintJobInfo2_get_DocumentNameHigh(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo2 *object = (struct rap_PrintJobInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_DocumentNameHigh;
	py_DocumentNameHigh = PyInt_FromLong(object->DocumentNameHigh);
	return py_DocumentNameHigh;
}

static int py_rap_PrintJobInfo2_set_DocumentNameHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo2 *object = (struct rap_PrintJobInfo2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->DocumentNameHigh = PyInt_AsLong(value);
	return 0;
}

static PyGetSetDef py_rap_PrintJobInfo2_getsetters[] = {
	{ discard_const_p(char, "JobID"), py_rap_PrintJobInfo2_get_JobID, py_rap_PrintJobInfo2_set_JobID },
	{ discard_const_p(char, "Priority"), py_rap_PrintJobInfo2_get_Priority, py_rap_PrintJobInfo2_set_Priority },
	{ discard_const_p(char, "UserName"), py_rap_PrintJobInfo2_get_UserName, py_rap_PrintJobInfo2_set_UserName },
	{ discard_const_p(char, "UserNameHigh"), py_rap_PrintJobInfo2_get_UserNameHigh, py_rap_PrintJobInfo2_set_UserNameHigh },
	{ discard_const_p(char, "JobPosition"), py_rap_PrintJobInfo2_get_JobPosition, py_rap_PrintJobInfo2_set_JobPosition },
	{ discard_const_p(char, "JobStatus"), py_rap_PrintJobInfo2_get_JobStatus, py_rap_PrintJobInfo2_set_JobStatus },
	{ discard_const_p(char, "TimeSubmitted"), py_rap_PrintJobInfo2_get_TimeSubmitted, py_rap_PrintJobInfo2_set_TimeSubmitted },
	{ discard_const_p(char, "JobSize"), py_rap_PrintJobInfo2_get_JobSize, py_rap_PrintJobInfo2_set_JobSize },
	{ discard_const_p(char, "JobCommentString"), py_rap_PrintJobInfo2_get_JobCommentString, py_rap_PrintJobInfo2_set_JobCommentString },
	{ discard_const_p(char, "JobCommentStringHigh"), py_rap_PrintJobInfo2_get_JobCommentStringHigh, py_rap_PrintJobInfo2_set_JobCommentStringHigh },
	{ discard_const_p(char, "DocumentName"), py_rap_PrintJobInfo2_get_DocumentName, py_rap_PrintJobInfo2_set_DocumentName },
	{ discard_const_p(char, "DocumentNameHigh"), py_rap_PrintJobInfo2_get_DocumentNameHigh, py_rap_PrintJobInfo2_set_DocumentNameHigh },
	{ NULL }
};

static PyObject *py_rap_PrintJobInfo2_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
{
	return py_talloc_new(struct rap_PrintJobInfo2, type);
}


static PyTypeObject rap_PrintJobInfo2_Type = {
	PyObject_HEAD_INIT(NULL) 0,
	.tp_name = "rap.PrintJobInfo2",
	.tp_getset = py_rap_PrintJobInfo2_getsetters,
	.tp_methods = NULL,
	.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
	.tp_basicsize = sizeof(py_talloc_Object),
	.tp_new = py_rap_PrintJobInfo2_new,
};


static PyObject *py_rap_PrintJobInfo3_get_JobID(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(obj);
	PyObject *py_JobID;
	py_JobID = PyInt_FromLong(object->JobID);
	return py_JobID;
}

static int py_rap_PrintJobInfo3_set_JobID(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->JobID = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintJobInfo3_get_Priority(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(obj);
	PyObject *py_Priority;
	py_Priority = PyInt_FromLong(object->Priority);
	return py_Priority;
}

static int py_rap_PrintJobInfo3_set_Priority(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->Priority = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintJobInfo3_get_UserName(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(obj);
	PyObject *py_UserName;
	if (object->UserName == NULL) {
		py_UserName = Py_None;
		Py_INCREF(py_UserName);
	} else {
		py_UserName = PyString_FromStringOrNULL(object->UserName);
	}
	return py_UserName;
}

static int py_rap_PrintJobInfo3_set_UserName(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->UserName = NULL;
	} else {
		object->UserName = NULL;
		object->UserName = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintJobInfo3_get_UserNameHigh(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(obj);
	PyObject *py_UserNameHigh;
	py_UserNameHigh = PyInt_FromLong(object->UserNameHigh);
	return py_UserNameHigh;
}

static int py_rap_PrintJobInfo3_set_UserNameHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->UserNameHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintJobInfo3_get_JobPosition(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(obj);
	PyObject *py_JobPosition;
	py_JobPosition = PyInt_FromLong(object->JobPosition);
	return py_JobPosition;
}

static int py_rap_PrintJobInfo3_set_JobPosition(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->JobPosition = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintJobInfo3_get_JobStatus(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(obj);
	PyObject *py_JobStatus;
	py_JobStatus = PyInt_FromLong(object->JobStatus);
	return py_JobStatus;
}

static int py_rap_PrintJobInfo3_set_JobStatus(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(py_obj);
	if (PyLong_Check(value)) {
		object->JobStatus = PyLong_AsLongLong(value);
	} else if (PyInt_Check(value)) {
		object->JobStatus = PyInt_AsLong(value);
	} else {
		PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
		  PyInt_Type.tp_name, PyLong_Type.tp_name);
		return -1;
	}
	return 0;
}

static PyObject *py_rap_PrintJobInfo3_get_TimeSubmitted(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(obj);
	PyObject *py_TimeSubmitted;
	py_TimeSubmitted = PyInt_FromLong(object->TimeSubmitted);
	return py_TimeSubmitted;
}

static int py_rap_PrintJobInfo3_set_TimeSubmitted(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->TimeSubmitted = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintJobInfo3_get_JobSize(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(obj);
	PyObject *py_JobSize;
	py_JobSize = PyInt_FromLong(object->JobSize);
	return py_JobSize;
}

static int py_rap_PrintJobInfo3_set_JobSize(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->JobSize = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintJobInfo3_get_JobCommentString(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(obj);
	PyObject *py_JobCommentString;
	if (object->JobCommentString == NULL) {
		py_JobCommentString = Py_None;
		Py_INCREF(py_JobCommentString);
	} else {
		py_JobCommentString = PyString_FromStringOrNULL(object->JobCommentString);
	}
	return py_JobCommentString;
}

static int py_rap_PrintJobInfo3_set_JobCommentString(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->JobCommentString = NULL;
	} else {
		object->JobCommentString = NULL;
		object->JobCommentString = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintJobInfo3_get_JobCommentStringHigh(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(obj);
	PyObject *py_JobCommentStringHigh;
	py_JobCommentStringHigh = PyInt_FromLong(object->JobCommentStringHigh);
	return py_JobCommentStringHigh;
}

static int py_rap_PrintJobInfo3_set_JobCommentStringHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->JobCommentStringHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintJobInfo3_get_DocumentName(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(obj);
	PyObject *py_DocumentName;
	if (object->DocumentName == NULL) {
		py_DocumentName = Py_None;
		Py_INCREF(py_DocumentName);
	} else {
		py_DocumentName = PyString_FromStringOrNULL(object->DocumentName);
	}
	return py_DocumentName;
}

static int py_rap_PrintJobInfo3_set_DocumentName(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->DocumentName = NULL;
	} else {
		object->DocumentName = NULL;
		object->DocumentName = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintJobInfo3_get_DocumentNameHigh(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(obj);
	PyObject *py_DocumentNameHigh;
	py_DocumentNameHigh = PyInt_FromLong(object->DocumentNameHigh);
	return py_DocumentNameHigh;
}

static int py_rap_PrintJobInfo3_set_DocumentNameHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->DocumentNameHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintJobInfo3_get_NotifyName(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(obj);
	PyObject *py_NotifyName;
	if (object->NotifyName == NULL) {
		py_NotifyName = Py_None;
		Py_INCREF(py_NotifyName);
	} else {
		py_NotifyName = PyString_FromStringOrNULL(object->NotifyName);
	}
	return py_NotifyName;
}

static int py_rap_PrintJobInfo3_set_NotifyName(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->NotifyName = NULL;
	} else {
		object->NotifyName = NULL;
		object->NotifyName = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintJobInfo3_get_NotifyNameHigh(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(obj);
	PyObject *py_NotifyNameHigh;
	py_NotifyNameHigh = PyInt_FromLong(object->NotifyNameHigh);
	return py_NotifyNameHigh;
}

static int py_rap_PrintJobInfo3_set_NotifyNameHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->NotifyNameHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintJobInfo3_get_DataType(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(obj);
	PyObject *py_DataType;
	if (object->DataType == NULL) {
		py_DataType = Py_None;
		Py_INCREF(py_DataType);
	} else {
		py_DataType = PyString_FromStringOrNULL(object->DataType);
	}
	return py_DataType;
}

static int py_rap_PrintJobInfo3_set_DataType(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->DataType = NULL;
	} else {
		object->DataType = NULL;
		object->DataType = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintJobInfo3_get_DataTypeHigh(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(obj);
	PyObject *py_DataTypeHigh;
	py_DataTypeHigh = PyInt_FromLong(object->DataTypeHigh);
	return py_DataTypeHigh;
}

static int py_rap_PrintJobInfo3_set_DataTypeHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->DataTypeHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintJobInfo3_get_PrintParameterString(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(obj);
	PyObject *py_PrintParameterString;
	if (object->PrintParameterString == NULL) {
		py_PrintParameterString = Py_None;
		Py_INCREF(py_PrintParameterString);
	} else {
		py_PrintParameterString = PyString_FromStringOrNULL(object->PrintParameterString);
	}
	return py_PrintParameterString;
}

static int py_rap_PrintJobInfo3_set_PrintParameterString(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->PrintParameterString = NULL;
	} else {
		object->PrintParameterString = NULL;
		object->PrintParameterString = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintJobInfo3_get_PrintParameterStringHigh(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(obj);
	PyObject *py_PrintParameterStringHigh;
	py_PrintParameterStringHigh = PyInt_FromLong(object->PrintParameterStringHigh);
	return py_PrintParameterStringHigh;
}

static int py_rap_PrintJobInfo3_set_PrintParameterStringHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->PrintParameterStringHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintJobInfo3_get_StatusString(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(obj);
	PyObject *py_StatusString;
	if (object->StatusString == NULL) {
		py_StatusString = Py_None;
		Py_INCREF(py_StatusString);
	} else {
		py_StatusString = PyString_FromStringOrNULL(object->StatusString);
	}
	return py_StatusString;
}

static int py_rap_PrintJobInfo3_set_StatusString(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->StatusString = NULL;
	} else {
		object->StatusString = NULL;
		object->StatusString = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintJobInfo3_get_StatusStringHigh(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(obj);
	PyObject *py_StatusStringHigh;
	py_StatusStringHigh = PyInt_FromLong(object->StatusStringHigh);
	return py_StatusStringHigh;
}

static int py_rap_PrintJobInfo3_set_StatusStringHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->StatusStringHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintJobInfo3_get_QueueName(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(obj);
	PyObject *py_QueueName;
	if (object->QueueName == NULL) {
		py_QueueName = Py_None;
		Py_INCREF(py_QueueName);
	} else {
		py_QueueName = PyString_FromStringOrNULL(object->QueueName);
	}
	return py_QueueName;
}

static int py_rap_PrintJobInfo3_set_QueueName(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->QueueName = NULL;
	} else {
		object->QueueName = NULL;
		object->QueueName = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintJobInfo3_get_QueueNameHigh(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(obj);
	PyObject *py_QueueNameHigh;
	py_QueueNameHigh = PyInt_FromLong(object->QueueNameHigh);
	return py_QueueNameHigh;
}

static int py_rap_PrintJobInfo3_set_QueueNameHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->QueueNameHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintJobInfo3_get_PrintProcessorName(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(obj);
	PyObject *py_PrintProcessorName;
	if (object->PrintProcessorName == NULL) {
		py_PrintProcessorName = Py_None;
		Py_INCREF(py_PrintProcessorName);
	} else {
		py_PrintProcessorName = PyString_FromStringOrNULL(object->PrintProcessorName);
	}
	return py_PrintProcessorName;
}

static int py_rap_PrintJobInfo3_set_PrintProcessorName(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->PrintProcessorName = NULL;
	} else {
		object->PrintProcessorName = NULL;
		object->PrintProcessorName = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintJobInfo3_get_PrintProcessorNameHigh(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(obj);
	PyObject *py_PrintProcessorNameHigh;
	py_PrintProcessorNameHigh = PyInt_FromLong(object->PrintProcessorNameHigh);
	return py_PrintProcessorNameHigh;
}

static int py_rap_PrintJobInfo3_set_PrintProcessorNameHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->PrintProcessorNameHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintJobInfo3_get_PrintProcessorParams(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(obj);
	PyObject *py_PrintProcessorParams;
	if (object->PrintProcessorParams == NULL) {
		py_PrintProcessorParams = Py_None;
		Py_INCREF(py_PrintProcessorParams);
	} else {
		py_PrintProcessorParams = PyString_FromStringOrNULL(object->PrintProcessorParams);
	}
	return py_PrintProcessorParams;
}

static int py_rap_PrintJobInfo3_set_PrintProcessorParams(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->PrintProcessorParams = NULL;
	} else {
		object->PrintProcessorParams = NULL;
		object->PrintProcessorParams = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintJobInfo3_get_PrintProcessorParamsHigh(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(obj);
	PyObject *py_PrintProcessorParamsHigh;
	py_PrintProcessorParamsHigh = PyInt_FromLong(object->PrintProcessorParamsHigh);
	return py_PrintProcessorParamsHigh;
}

static int py_rap_PrintJobInfo3_set_PrintProcessorParamsHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->PrintProcessorParamsHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintJobInfo3_get_DriverName(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(obj);
	PyObject *py_DriverName;
	if (object->DriverName == NULL) {
		py_DriverName = Py_None;
		Py_INCREF(py_DriverName);
	} else {
		py_DriverName = PyString_FromStringOrNULL(object->DriverName);
	}
	return py_DriverName;
}

static int py_rap_PrintJobInfo3_set_DriverName(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->DriverName = NULL;
	} else {
		object->DriverName = NULL;
		object->DriverName = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintJobInfo3_get_DriverNameHigh(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(obj);
	PyObject *py_DriverNameHigh;
	py_DriverNameHigh = PyInt_FromLong(object->DriverNameHigh);
	return py_DriverNameHigh;
}

static int py_rap_PrintJobInfo3_set_DriverNameHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->DriverNameHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintJobInfo3_get_DriverDataOffset(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(obj);
	PyObject *py_DriverDataOffset;
	if (object->DriverDataOffset == NULL) {
		py_DriverDataOffset = Py_None;
		Py_INCREF(py_DriverDataOffset);
	} else {
		py_DriverDataOffset = PyString_FromStringOrNULL(object->DriverDataOffset);
	}
	return py_DriverDataOffset;
}

static int py_rap_PrintJobInfo3_set_DriverDataOffset(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->DriverDataOffset = NULL;
	} else {
		object->DriverDataOffset = NULL;
		object->DriverDataOffset = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintJobInfo3_get_DriverDataOffsetHigh(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(obj);
	PyObject *py_DriverDataOffsetHigh;
	py_DriverDataOffsetHigh = PyInt_FromLong(object->DriverDataOffsetHigh);
	return py_DriverDataOffsetHigh;
}

static int py_rap_PrintJobInfo3_set_DriverDataOffsetHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->DriverDataOffsetHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintJobInfo3_get_PrinterNameOffset(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(obj);
	PyObject *py_PrinterNameOffset;
	if (object->PrinterNameOffset == NULL) {
		py_PrinterNameOffset = Py_None;
		Py_INCREF(py_PrinterNameOffset);
	} else {
		py_PrinterNameOffset = PyString_FromStringOrNULL(object->PrinterNameOffset);
	}
	return py_PrinterNameOffset;
}

static int py_rap_PrintJobInfo3_set_PrinterNameOffset(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->PrinterNameOffset = NULL;
	} else {
		object->PrinterNameOffset = NULL;
		object->PrinterNameOffset = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintJobInfo3_get_PrinterNameOffsetHigh(PyObject *obj, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(obj);
	PyObject *py_PrinterNameOffsetHigh;
	py_PrinterNameOffsetHigh = PyInt_FromLong(object->PrinterNameOffsetHigh);
	return py_PrinterNameOffsetHigh;
}

static int py_rap_PrintJobInfo3_set_PrinterNameOffsetHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintJobInfo3 *object = (struct rap_PrintJobInfo3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->PrinterNameOffsetHigh = PyInt_AsLong(value);
	return 0;
}

static PyGetSetDef py_rap_PrintJobInfo3_getsetters[] = {
	{ discard_const_p(char, "JobID"), py_rap_PrintJobInfo3_get_JobID, py_rap_PrintJobInfo3_set_JobID },
	{ discard_const_p(char, "Priority"), py_rap_PrintJobInfo3_get_Priority, py_rap_PrintJobInfo3_set_Priority },
	{ discard_const_p(char, "UserName"), py_rap_PrintJobInfo3_get_UserName, py_rap_PrintJobInfo3_set_UserName },
	{ discard_const_p(char, "UserNameHigh"), py_rap_PrintJobInfo3_get_UserNameHigh, py_rap_PrintJobInfo3_set_UserNameHigh },
	{ discard_const_p(char, "JobPosition"), py_rap_PrintJobInfo3_get_JobPosition, py_rap_PrintJobInfo3_set_JobPosition },
	{ discard_const_p(char, "JobStatus"), py_rap_PrintJobInfo3_get_JobStatus, py_rap_PrintJobInfo3_set_JobStatus },
	{ discard_const_p(char, "TimeSubmitted"), py_rap_PrintJobInfo3_get_TimeSubmitted, py_rap_PrintJobInfo3_set_TimeSubmitted },
	{ discard_const_p(char, "JobSize"), py_rap_PrintJobInfo3_get_JobSize, py_rap_PrintJobInfo3_set_JobSize },
	{ discard_const_p(char, "JobCommentString"), py_rap_PrintJobInfo3_get_JobCommentString, py_rap_PrintJobInfo3_set_JobCommentString },
	{ discard_const_p(char, "JobCommentStringHigh"), py_rap_PrintJobInfo3_get_JobCommentStringHigh, py_rap_PrintJobInfo3_set_JobCommentStringHigh },
	{ discard_const_p(char, "DocumentName"), py_rap_PrintJobInfo3_get_DocumentName, py_rap_PrintJobInfo3_set_DocumentName },
	{ discard_const_p(char, "DocumentNameHigh"), py_rap_PrintJobInfo3_get_DocumentNameHigh, py_rap_PrintJobInfo3_set_DocumentNameHigh },
	{ discard_const_p(char, "NotifyName"), py_rap_PrintJobInfo3_get_NotifyName, py_rap_PrintJobInfo3_set_NotifyName },
	{ discard_const_p(char, "NotifyNameHigh"), py_rap_PrintJobInfo3_get_NotifyNameHigh, py_rap_PrintJobInfo3_set_NotifyNameHigh },
	{ discard_const_p(char, "DataType"), py_rap_PrintJobInfo3_get_DataType, py_rap_PrintJobInfo3_set_DataType },
	{ discard_const_p(char, "DataTypeHigh"), py_rap_PrintJobInfo3_get_DataTypeHigh, py_rap_PrintJobInfo3_set_DataTypeHigh },
	{ discard_const_p(char, "PrintParameterString"), py_rap_PrintJobInfo3_get_PrintParameterString, py_rap_PrintJobInfo3_set_PrintParameterString },
	{ discard_const_p(char, "PrintParameterStringHigh"), py_rap_PrintJobInfo3_get_PrintParameterStringHigh, py_rap_PrintJobInfo3_set_PrintParameterStringHigh },
	{ discard_const_p(char, "StatusString"), py_rap_PrintJobInfo3_get_StatusString, py_rap_PrintJobInfo3_set_StatusString },
	{ discard_const_p(char, "StatusStringHigh"), py_rap_PrintJobInfo3_get_StatusStringHigh, py_rap_PrintJobInfo3_set_StatusStringHigh },
	{ discard_const_p(char, "QueueName"), py_rap_PrintJobInfo3_get_QueueName, py_rap_PrintJobInfo3_set_QueueName },
	{ discard_const_p(char, "QueueNameHigh"), py_rap_PrintJobInfo3_get_QueueNameHigh, py_rap_PrintJobInfo3_set_QueueNameHigh },
	{ discard_const_p(char, "PrintProcessorName"), py_rap_PrintJobInfo3_get_PrintProcessorName, py_rap_PrintJobInfo3_set_PrintProcessorName },
	{ discard_const_p(char, "PrintProcessorNameHigh"), py_rap_PrintJobInfo3_get_PrintProcessorNameHigh, py_rap_PrintJobInfo3_set_PrintProcessorNameHigh },
	{ discard_const_p(char, "PrintProcessorParams"), py_rap_PrintJobInfo3_get_PrintProcessorParams, py_rap_PrintJobInfo3_set_PrintProcessorParams },
	{ discard_const_p(char, "PrintProcessorParamsHigh"), py_rap_PrintJobInfo3_get_PrintProcessorParamsHigh, py_rap_PrintJobInfo3_set_PrintProcessorParamsHigh },
	{ discard_const_p(char, "DriverName"), py_rap_PrintJobInfo3_get_DriverName, py_rap_PrintJobInfo3_set_DriverName },
	{ discard_const_p(char, "DriverNameHigh"), py_rap_PrintJobInfo3_get_DriverNameHigh, py_rap_PrintJobInfo3_set_DriverNameHigh },
	{ discard_const_p(char, "DriverDataOffset"), py_rap_PrintJobInfo3_get_DriverDataOffset, py_rap_PrintJobInfo3_set_DriverDataOffset },
	{ discard_const_p(char, "DriverDataOffsetHigh"), py_rap_PrintJobInfo3_get_DriverDataOffsetHigh, py_rap_PrintJobInfo3_set_DriverDataOffsetHigh },
	{ discard_const_p(char, "PrinterNameOffset"), py_rap_PrintJobInfo3_get_PrinterNameOffset, py_rap_PrintJobInfo3_set_PrinterNameOffset },
	{ discard_const_p(char, "PrinterNameOffsetHigh"), py_rap_PrintJobInfo3_get_PrinterNameOffsetHigh, py_rap_PrintJobInfo3_set_PrinterNameOffsetHigh },
	{ NULL }
};

static PyObject *py_rap_PrintJobInfo3_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
{
	return py_talloc_new(struct rap_PrintJobInfo3, type);
}


static PyTypeObject rap_PrintJobInfo3_Type = {
	PyObject_HEAD_INIT(NULL) 0,
	.tp_name = "rap.PrintJobInfo3",
	.tp_getset = py_rap_PrintJobInfo3_getsetters,
	.tp_methods = NULL,
	.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
	.tp_basicsize = sizeof(py_talloc_Object),
	.tp_new = py_rap_PrintJobInfo3_new,
};

PyObject *py_import_rap_printj_info(TALLOC_CTX *mem_ctx, int level, union rap_printj_info *in)
{
	PyObject *ret;

	switch (level) {
		case 0:
			ret = py_talloc_reference_ex(&rap_PrintJobInfo0_Type, mem_ctx, &in->info0);
			return ret;

		case 1:
			ret = py_talloc_reference_ex(&rap_PrintJobInfo1_Type, mem_ctx, &in->info1);
			return ret;

		case 2:
			ret = py_talloc_reference_ex(&rap_PrintJobInfo2_Type, mem_ctx, &in->info2);
			return ret;

		case 3:
			ret = py_talloc_reference_ex(&rap_PrintJobInfo3_Type, mem_ctx, &in->info3);
			return ret;

	}
	PyErr_SetString(PyExc_TypeError, "unknown union level");
	return NULL;
}

union rap_printj_info *py_export_rap_printj_info(TALLOC_CTX *mem_ctx, int level, PyObject *in)
{
	union rap_printj_info *ret = talloc_zero(mem_ctx, union rap_printj_info);
	switch (level) {
		case 0:
			PY_CHECK_TYPE(&rap_PrintJobInfo0_Type, in, talloc_free(ret); return NULL;);
			if (talloc_reference(mem_ctx, py_talloc_get_mem_ctx(in)) == NULL) {
				PyErr_NoMemory();
				talloc_free(ret); return NULL;
			}
			ret->info0 = *(struct rap_PrintJobInfo0 *)py_talloc_get_ptr(in);
			break;

		case 1:
			PY_CHECK_TYPE(&rap_PrintJobInfo1_Type, in, talloc_free(ret); return NULL;);
			if (talloc_reference(mem_ctx, py_talloc_get_mem_ctx(in)) == NULL) {
				PyErr_NoMemory();
				talloc_free(ret); return NULL;
			}
			ret->info1 = *(struct rap_PrintJobInfo1 *)py_talloc_get_ptr(in);
			break;

		case 2:
			PY_CHECK_TYPE(&rap_PrintJobInfo2_Type, in, talloc_free(ret); return NULL;);
			if (talloc_reference(mem_ctx, py_talloc_get_mem_ctx(in)) == NULL) {
				PyErr_NoMemory();
				talloc_free(ret); return NULL;
			}
			ret->info2 = *(struct rap_PrintJobInfo2 *)py_talloc_get_ptr(in);
			break;

		case 3:
			PY_CHECK_TYPE(&rap_PrintJobInfo3_Type, in, talloc_free(ret); return NULL;);
			if (talloc_reference(mem_ctx, py_talloc_get_mem_ctx(in)) == NULL) {
				PyErr_NoMemory();
				talloc_free(ret); return NULL;
			}
			ret->info3 = *(struct rap_PrintJobInfo3 *)py_talloc_get_ptr(in);
			break;

		default:
			PyErr_SetString(PyExc_TypeError, "invalid union level value");
			talloc_free(ret);
			ret = NULL;
	}

	return ret;
}


static PyObject *py_rap_PrintQueue0_get_PrintQName(PyObject *obj, void *closure)
{
	struct rap_PrintQueue0 *object = (struct rap_PrintQueue0 *)py_talloc_get_ptr(obj);
	PyObject *py_PrintQName;
	if (object->PrintQName == NULL) {
		py_PrintQName = Py_None;
		Py_INCREF(py_PrintQName);
	} else {
		py_PrintQName = PyUnicode_Decode(object->PrintQName, strlen(object->PrintQName), "utf-8", "ignore");
	}
	return py_PrintQName;
}

static int py_rap_PrintQueue0_set_PrintQName(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue0 *object = (struct rap_PrintQueue0 *)py_talloc_get_ptr(py_obj);
	if (PyUnicode_Check(value)) {
		object->PrintQName = PyString_AS_STRING(PyUnicode_AsEncodedString(value, "utf-8", "ignore"));
	} else if (PyString_Check(value)) {
		object->PrintQName = PyString_AS_STRING(value);
	} else {
		PyErr_Format(PyExc_TypeError, "Expected string or unicode object, got %s", Py_TYPE(value)->tp_name);
		return -1;
	}
	return 0;
}

static PyGetSetDef py_rap_PrintQueue0_getsetters[] = {
	{ discard_const_p(char, "PrintQName"), py_rap_PrintQueue0_get_PrintQName, py_rap_PrintQueue0_set_PrintQName },
	{ NULL }
};

static PyObject *py_rap_PrintQueue0_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
{
	return py_talloc_new(struct rap_PrintQueue0, type);
}


static PyTypeObject rap_PrintQueue0_Type = {
	PyObject_HEAD_INIT(NULL) 0,
	.tp_name = "rap.PrintQueue0",
	.tp_getset = py_rap_PrintQueue0_getsetters,
	.tp_methods = NULL,
	.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
	.tp_basicsize = sizeof(py_talloc_Object),
	.tp_new = py_rap_PrintQueue0_new,
};


static PyObject *py_rap_PrintQueue1_get_PrintQName(PyObject *obj, void *closure)
{
	struct rap_PrintQueue1 *object = (struct rap_PrintQueue1 *)py_talloc_get_ptr(obj);
	PyObject *py_PrintQName;
	if (object->PrintQName == NULL) {
		py_PrintQName = Py_None;
		Py_INCREF(py_PrintQName);
	} else {
		py_PrintQName = PyUnicode_Decode(object->PrintQName, strlen(object->PrintQName), "utf-8", "ignore");
	}
	return py_PrintQName;
}

static int py_rap_PrintQueue1_set_PrintQName(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue1 *object = (struct rap_PrintQueue1 *)py_talloc_get_ptr(py_obj);
	if (PyUnicode_Check(value)) {
		object->PrintQName = PyString_AS_STRING(PyUnicode_AsEncodedString(value, "utf-8", "ignore"));
	} else if (PyString_Check(value)) {
		object->PrintQName = PyString_AS_STRING(value);
	} else {
		PyErr_Format(PyExc_TypeError, "Expected string or unicode object, got %s", Py_TYPE(value)->tp_name);
		return -1;
	}
	return 0;
}

static PyObject *py_rap_PrintQueue1_get_Pad1(PyObject *obj, void *closure)
{
	struct rap_PrintQueue1 *object = (struct rap_PrintQueue1 *)py_talloc_get_ptr(obj);
	PyObject *py_Pad1;
	py_Pad1 = PyInt_FromLong(object->Pad1);
	return py_Pad1;
}

static int py_rap_PrintQueue1_set_Pad1(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue1 *object = (struct rap_PrintQueue1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->Pad1 = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintQueue1_get_Priority(PyObject *obj, void *closure)
{
	struct rap_PrintQueue1 *object = (struct rap_PrintQueue1 *)py_talloc_get_ptr(obj);
	PyObject *py_Priority;
	py_Priority = PyInt_FromLong(object->Priority);
	return py_Priority;
}

static int py_rap_PrintQueue1_set_Priority(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue1 *object = (struct rap_PrintQueue1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->Priority = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintQueue1_get_StartTime(PyObject *obj, void *closure)
{
	struct rap_PrintQueue1 *object = (struct rap_PrintQueue1 *)py_talloc_get_ptr(obj);
	PyObject *py_StartTime;
	py_StartTime = PyInt_FromLong(object->StartTime);
	return py_StartTime;
}

static int py_rap_PrintQueue1_set_StartTime(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue1 *object = (struct rap_PrintQueue1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->StartTime = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintQueue1_get_UntilTime(PyObject *obj, void *closure)
{
	struct rap_PrintQueue1 *object = (struct rap_PrintQueue1 *)py_talloc_get_ptr(obj);
	PyObject *py_UntilTime;
	py_UntilTime = PyInt_FromLong(object->UntilTime);
	return py_UntilTime;
}

static int py_rap_PrintQueue1_set_UntilTime(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue1 *object = (struct rap_PrintQueue1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->UntilTime = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintQueue1_get_SeparatorPageFilename(PyObject *obj, void *closure)
{
	struct rap_PrintQueue1 *object = (struct rap_PrintQueue1 *)py_talloc_get_ptr(obj);
	PyObject *py_SeparatorPageFilename;
	if (object->SeparatorPageFilename == NULL) {
		py_SeparatorPageFilename = Py_None;
		Py_INCREF(py_SeparatorPageFilename);
	} else {
		py_SeparatorPageFilename = PyString_FromStringOrNULL(object->SeparatorPageFilename);
	}
	return py_SeparatorPageFilename;
}

static int py_rap_PrintQueue1_set_SeparatorPageFilename(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue1 *object = (struct rap_PrintQueue1 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->SeparatorPageFilename = NULL;
	} else {
		object->SeparatorPageFilename = NULL;
		object->SeparatorPageFilename = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintQueue1_get_SeparatorPageFilenameHigh(PyObject *obj, void *closure)
{
	struct rap_PrintQueue1 *object = (struct rap_PrintQueue1 *)py_talloc_get_ptr(obj);
	PyObject *py_SeparatorPageFilenameHigh;
	py_SeparatorPageFilenameHigh = PyInt_FromLong(object->SeparatorPageFilenameHigh);
	return py_SeparatorPageFilenameHigh;
}

static int py_rap_PrintQueue1_set_SeparatorPageFilenameHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue1 *object = (struct rap_PrintQueue1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->SeparatorPageFilenameHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintQueue1_get_PrintProcessorDllName(PyObject *obj, void *closure)
{
	struct rap_PrintQueue1 *object = (struct rap_PrintQueue1 *)py_talloc_get_ptr(obj);
	PyObject *py_PrintProcessorDllName;
	if (object->PrintProcessorDllName == NULL) {
		py_PrintProcessorDllName = Py_None;
		Py_INCREF(py_PrintProcessorDllName);
	} else {
		py_PrintProcessorDllName = PyString_FromStringOrNULL(object->PrintProcessorDllName);
	}
	return py_PrintProcessorDllName;
}

static int py_rap_PrintQueue1_set_PrintProcessorDllName(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue1 *object = (struct rap_PrintQueue1 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->PrintProcessorDllName = NULL;
	} else {
		object->PrintProcessorDllName = NULL;
		object->PrintProcessorDllName = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintQueue1_get_PrintProcessorDllNameHigh(PyObject *obj, void *closure)
{
	struct rap_PrintQueue1 *object = (struct rap_PrintQueue1 *)py_talloc_get_ptr(obj);
	PyObject *py_PrintProcessorDllNameHigh;
	py_PrintProcessorDllNameHigh = PyInt_FromLong(object->PrintProcessorDllNameHigh);
	return py_PrintProcessorDllNameHigh;
}

static int py_rap_PrintQueue1_set_PrintProcessorDllNameHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue1 *object = (struct rap_PrintQueue1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->PrintProcessorDllNameHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintQueue1_get_PrintDestinationsName(PyObject *obj, void *closure)
{
	struct rap_PrintQueue1 *object = (struct rap_PrintQueue1 *)py_talloc_get_ptr(obj);
	PyObject *py_PrintDestinationsName;
	if (object->PrintDestinationsName == NULL) {
		py_PrintDestinationsName = Py_None;
		Py_INCREF(py_PrintDestinationsName);
	} else {
		py_PrintDestinationsName = PyString_FromStringOrNULL(object->PrintDestinationsName);
	}
	return py_PrintDestinationsName;
}

static int py_rap_PrintQueue1_set_PrintDestinationsName(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue1 *object = (struct rap_PrintQueue1 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->PrintDestinationsName = NULL;
	} else {
		object->PrintDestinationsName = NULL;
		object->PrintDestinationsName = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintQueue1_get_PrintDestinationsNameHigh(PyObject *obj, void *closure)
{
	struct rap_PrintQueue1 *object = (struct rap_PrintQueue1 *)py_talloc_get_ptr(obj);
	PyObject *py_PrintDestinationsNameHigh;
	py_PrintDestinationsNameHigh = PyInt_FromLong(object->PrintDestinationsNameHigh);
	return py_PrintDestinationsNameHigh;
}

static int py_rap_PrintQueue1_set_PrintDestinationsNameHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue1 *object = (struct rap_PrintQueue1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->PrintDestinationsNameHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintQueue1_get_PrintParameterString(PyObject *obj, void *closure)
{
	struct rap_PrintQueue1 *object = (struct rap_PrintQueue1 *)py_talloc_get_ptr(obj);
	PyObject *py_PrintParameterString;
	if (object->PrintParameterString == NULL) {
		py_PrintParameterString = Py_None;
		Py_INCREF(py_PrintParameterString);
	} else {
		py_PrintParameterString = PyString_FromStringOrNULL(object->PrintParameterString);
	}
	return py_PrintParameterString;
}

static int py_rap_PrintQueue1_set_PrintParameterString(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue1 *object = (struct rap_PrintQueue1 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->PrintParameterString = NULL;
	} else {
		object->PrintParameterString = NULL;
		object->PrintParameterString = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintQueue1_get_PrintParameterStringHigh(PyObject *obj, void *closure)
{
	struct rap_PrintQueue1 *object = (struct rap_PrintQueue1 *)py_talloc_get_ptr(obj);
	PyObject *py_PrintParameterStringHigh;
	py_PrintParameterStringHigh = PyInt_FromLong(object->PrintParameterStringHigh);
	return py_PrintParameterStringHigh;
}

static int py_rap_PrintQueue1_set_PrintParameterStringHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue1 *object = (struct rap_PrintQueue1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->PrintParameterStringHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintQueue1_get_CommentString(PyObject *obj, void *closure)
{
	struct rap_PrintQueue1 *object = (struct rap_PrintQueue1 *)py_talloc_get_ptr(obj);
	PyObject *py_CommentString;
	if (object->CommentString == NULL) {
		py_CommentString = Py_None;
		Py_INCREF(py_CommentString);
	} else {
		py_CommentString = PyString_FromStringOrNULL(object->CommentString);
	}
	return py_CommentString;
}

static int py_rap_PrintQueue1_set_CommentString(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue1 *object = (struct rap_PrintQueue1 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->CommentString = NULL;
	} else {
		object->CommentString = NULL;
		object->CommentString = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintQueue1_get_CommentStringHigh(PyObject *obj, void *closure)
{
	struct rap_PrintQueue1 *object = (struct rap_PrintQueue1 *)py_talloc_get_ptr(obj);
	PyObject *py_CommentStringHigh;
	py_CommentStringHigh = PyInt_FromLong(object->CommentStringHigh);
	return py_CommentStringHigh;
}

static int py_rap_PrintQueue1_set_CommentStringHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue1 *object = (struct rap_PrintQueue1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->CommentStringHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintQueue1_get_PrintQStatus(PyObject *obj, void *closure)
{
	struct rap_PrintQueue1 *object = (struct rap_PrintQueue1 *)py_talloc_get_ptr(obj);
	PyObject *py_PrintQStatus;
	py_PrintQStatus = PyInt_FromLong(object->PrintQStatus);
	return py_PrintQStatus;
}

static int py_rap_PrintQueue1_set_PrintQStatus(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue1 *object = (struct rap_PrintQueue1 *)py_talloc_get_ptr(py_obj);
	if (PyLong_Check(value)) {
		object->PrintQStatus = PyLong_AsLongLong(value);
	} else if (PyInt_Check(value)) {
		object->PrintQStatus = PyInt_AsLong(value);
	} else {
		PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
		  PyInt_Type.tp_name, PyLong_Type.tp_name);
		return -1;
	}
	return 0;
}

static PyObject *py_rap_PrintQueue1_get_PrintJobCount(PyObject *obj, void *closure)
{
	struct rap_PrintQueue1 *object = (struct rap_PrintQueue1 *)py_talloc_get_ptr(obj);
	PyObject *py_PrintJobCount;
	py_PrintJobCount = PyInt_FromLong(object->PrintJobCount);
	return py_PrintJobCount;
}

static int py_rap_PrintQueue1_set_PrintJobCount(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue1 *object = (struct rap_PrintQueue1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->PrintJobCount = PyInt_AsLong(value);
	return 0;
}

static PyGetSetDef py_rap_PrintQueue1_getsetters[] = {
	{ discard_const_p(char, "PrintQName"), py_rap_PrintQueue1_get_PrintQName, py_rap_PrintQueue1_set_PrintQName },
	{ discard_const_p(char, "Pad1"), py_rap_PrintQueue1_get_Pad1, py_rap_PrintQueue1_set_Pad1 },
	{ discard_const_p(char, "Priority"), py_rap_PrintQueue1_get_Priority, py_rap_PrintQueue1_set_Priority },
	{ discard_const_p(char, "StartTime"), py_rap_PrintQueue1_get_StartTime, py_rap_PrintQueue1_set_StartTime },
	{ discard_const_p(char, "UntilTime"), py_rap_PrintQueue1_get_UntilTime, py_rap_PrintQueue1_set_UntilTime },
	{ discard_const_p(char, "SeparatorPageFilename"), py_rap_PrintQueue1_get_SeparatorPageFilename, py_rap_PrintQueue1_set_SeparatorPageFilename },
	{ discard_const_p(char, "SeparatorPageFilenameHigh"), py_rap_PrintQueue1_get_SeparatorPageFilenameHigh, py_rap_PrintQueue1_set_SeparatorPageFilenameHigh },
	{ discard_const_p(char, "PrintProcessorDllName"), py_rap_PrintQueue1_get_PrintProcessorDllName, py_rap_PrintQueue1_set_PrintProcessorDllName },
	{ discard_const_p(char, "PrintProcessorDllNameHigh"), py_rap_PrintQueue1_get_PrintProcessorDllNameHigh, py_rap_PrintQueue1_set_PrintProcessorDllNameHigh },
	{ discard_const_p(char, "PrintDestinationsName"), py_rap_PrintQueue1_get_PrintDestinationsName, py_rap_PrintQueue1_set_PrintDestinationsName },
	{ discard_const_p(char, "PrintDestinationsNameHigh"), py_rap_PrintQueue1_get_PrintDestinationsNameHigh, py_rap_PrintQueue1_set_PrintDestinationsNameHigh },
	{ discard_const_p(char, "PrintParameterString"), py_rap_PrintQueue1_get_PrintParameterString, py_rap_PrintQueue1_set_PrintParameterString },
	{ discard_const_p(char, "PrintParameterStringHigh"), py_rap_PrintQueue1_get_PrintParameterStringHigh, py_rap_PrintQueue1_set_PrintParameterStringHigh },
	{ discard_const_p(char, "CommentString"), py_rap_PrintQueue1_get_CommentString, py_rap_PrintQueue1_set_CommentString },
	{ discard_const_p(char, "CommentStringHigh"), py_rap_PrintQueue1_get_CommentStringHigh, py_rap_PrintQueue1_set_CommentStringHigh },
	{ discard_const_p(char, "PrintQStatus"), py_rap_PrintQueue1_get_PrintQStatus, py_rap_PrintQueue1_set_PrintQStatus },
	{ discard_const_p(char, "PrintJobCount"), py_rap_PrintQueue1_get_PrintJobCount, py_rap_PrintQueue1_set_PrintJobCount },
	{ NULL }
};

static PyObject *py_rap_PrintQueue1_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
{
	return py_talloc_new(struct rap_PrintQueue1, type);
}


static PyTypeObject rap_PrintQueue1_Type = {
	PyObject_HEAD_INIT(NULL) 0,
	.tp_name = "rap.PrintQueue1",
	.tp_getset = py_rap_PrintQueue1_getsetters,
	.tp_methods = NULL,
	.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
	.tp_basicsize = sizeof(py_talloc_Object),
	.tp_new = py_rap_PrintQueue1_new,
};


static PyObject *py_rap_PrintQueue2_get_queue(PyObject *obj, void *closure)
{
	struct rap_PrintQueue2 *object = (struct rap_PrintQueue2 *)py_talloc_get_ptr(obj);
	PyObject *py_queue;
	py_queue = py_talloc_reference_ex(&rap_PrintQueue1_Type, py_talloc_get_mem_ctx(obj), &object->queue);
	return py_queue;
}

static int py_rap_PrintQueue2_set_queue(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue2 *object = (struct rap_PrintQueue2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&rap_PrintQueue1_Type, value, return -1;);
	if (talloc_reference(py_talloc_get_mem_ctx(py_obj), py_talloc_get_mem_ctx(value)) == NULL) {
		PyErr_NoMemory();
		return -1;
	}
	object->queue = *(struct rap_PrintQueue1 *)py_talloc_get_ptr(value);
	return 0;
}

static PyObject *py_rap_PrintQueue2_get_job(PyObject *obj, void *closure)
{
	struct rap_PrintQueue2 *object = (struct rap_PrintQueue2 *)py_talloc_get_ptr(obj);
	PyObject *py_job;
	py_job = PyList_New(object->queue.PrintJobCount);
	if (py_job == NULL) {
		return NULL;
	}
	{
		int job_cntr_0;
		for (job_cntr_0 = 0; job_cntr_0 < object->queue.PrintJobCount; job_cntr_0++) {
			PyObject *py_job_0;
			py_job_0 = py_talloc_reference_ex(&rap_PrintJobInfo1_Type, object->job, &object->job[job_cntr_0]);
			PyList_SetItem(py_job, job_cntr_0, py_job_0);
		}
	}
	return py_job;
}

static int py_rap_PrintQueue2_set_job(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue2 *object = (struct rap_PrintQueue2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyList_Type, value, return -1;);
	{
		int job_cntr_0;
		object->job = talloc_array_ptrtype(py_talloc_get_mem_ctx(py_obj), object->job, PyList_GET_SIZE(value));
		if (!object->job) { return -1;; }
		talloc_set_name_const(object->job, "ARRAY: object->job");
		for (job_cntr_0 = 0; job_cntr_0 < PyList_GET_SIZE(value); job_cntr_0++) {
			PY_CHECK_TYPE(&rap_PrintJobInfo1_Type, PyList_GET_ITEM(value, job_cntr_0), return -1;);
			if (talloc_reference(object->job, py_talloc_get_mem_ctx(PyList_GET_ITEM(value, job_cntr_0))) == NULL) {
				PyErr_NoMemory();
				return -1;
			}
			object->job[job_cntr_0] = *(struct rap_PrintJobInfo1 *)py_talloc_get_ptr(PyList_GET_ITEM(value, job_cntr_0));
		}
	}
	return 0;
}

static PyGetSetDef py_rap_PrintQueue2_getsetters[] = {
	{ discard_const_p(char, "queue"), py_rap_PrintQueue2_get_queue, py_rap_PrintQueue2_set_queue },
	{ discard_const_p(char, "job"), py_rap_PrintQueue2_get_job, py_rap_PrintQueue2_set_job },
	{ NULL }
};

static PyObject *py_rap_PrintQueue2_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
{
	return py_talloc_new(struct rap_PrintQueue2, type);
}


static PyTypeObject rap_PrintQueue2_Type = {
	PyObject_HEAD_INIT(NULL) 0,
	.tp_name = "rap.PrintQueue2",
	.tp_getset = py_rap_PrintQueue2_getsetters,
	.tp_methods = NULL,
	.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
	.tp_basicsize = sizeof(py_talloc_Object),
	.tp_new = py_rap_PrintQueue2_new,
};


static PyObject *py_rap_PrintQueue3_get_PrintQueueName(PyObject *obj, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(obj);
	PyObject *py_PrintQueueName;
	if (object->PrintQueueName == NULL) {
		py_PrintQueueName = Py_None;
		Py_INCREF(py_PrintQueueName);
	} else {
		py_PrintQueueName = PyString_FromStringOrNULL(object->PrintQueueName);
	}
	return py_PrintQueueName;
}

static int py_rap_PrintQueue3_set_PrintQueueName(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->PrintQueueName = NULL;
	} else {
		object->PrintQueueName = NULL;
		object->PrintQueueName = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintQueue3_get_PrintQueueNameHigh(PyObject *obj, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(obj);
	PyObject *py_PrintQueueNameHigh;
	py_PrintQueueNameHigh = PyInt_FromLong(object->PrintQueueNameHigh);
	return py_PrintQueueNameHigh;
}

static int py_rap_PrintQueue3_set_PrintQueueNameHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->PrintQueueNameHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintQueue3_get_Priority(PyObject *obj, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(obj);
	PyObject *py_Priority;
	py_Priority = PyInt_FromLong(object->Priority);
	return py_Priority;
}

static int py_rap_PrintQueue3_set_Priority(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->Priority = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintQueue3_get_StartTime(PyObject *obj, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(obj);
	PyObject *py_StartTime;
	py_StartTime = PyInt_FromLong(object->StartTime);
	return py_StartTime;
}

static int py_rap_PrintQueue3_set_StartTime(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->StartTime = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintQueue3_get_UntilTime(PyObject *obj, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(obj);
	PyObject *py_UntilTime;
	py_UntilTime = PyInt_FromLong(object->UntilTime);
	return py_UntilTime;
}

static int py_rap_PrintQueue3_set_UntilTime(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->UntilTime = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintQueue3_get_Pad(PyObject *obj, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(obj);
	PyObject *py_Pad;
	py_Pad = PyInt_FromLong(object->Pad);
	return py_Pad;
}

static int py_rap_PrintQueue3_set_Pad(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->Pad = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintQueue3_get_SeparatorPageFilename(PyObject *obj, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(obj);
	PyObject *py_SeparatorPageFilename;
	if (object->SeparatorPageFilename == NULL) {
		py_SeparatorPageFilename = Py_None;
		Py_INCREF(py_SeparatorPageFilename);
	} else {
		py_SeparatorPageFilename = PyString_FromStringOrNULL(object->SeparatorPageFilename);
	}
	return py_SeparatorPageFilename;
}

static int py_rap_PrintQueue3_set_SeparatorPageFilename(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->SeparatorPageFilename = NULL;
	} else {
		object->SeparatorPageFilename = NULL;
		object->SeparatorPageFilename = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintQueue3_get_SeparatorPageFilenameHigh(PyObject *obj, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(obj);
	PyObject *py_SeparatorPageFilenameHigh;
	py_SeparatorPageFilenameHigh = PyInt_FromLong(object->SeparatorPageFilenameHigh);
	return py_SeparatorPageFilenameHigh;
}

static int py_rap_PrintQueue3_set_SeparatorPageFilenameHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->SeparatorPageFilenameHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintQueue3_get_PrintProcessorDllName(PyObject *obj, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(obj);
	PyObject *py_PrintProcessorDllName;
	if (object->PrintProcessorDllName == NULL) {
		py_PrintProcessorDllName = Py_None;
		Py_INCREF(py_PrintProcessorDllName);
	} else {
		py_PrintProcessorDllName = PyString_FromStringOrNULL(object->PrintProcessorDllName);
	}
	return py_PrintProcessorDllName;
}

static int py_rap_PrintQueue3_set_PrintProcessorDllName(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->PrintProcessorDllName = NULL;
	} else {
		object->PrintProcessorDllName = NULL;
		object->PrintProcessorDllName = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintQueue3_get_PrintProcessorDllNameHigh(PyObject *obj, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(obj);
	PyObject *py_PrintProcessorDllNameHigh;
	py_PrintProcessorDllNameHigh = PyInt_FromLong(object->PrintProcessorDllNameHigh);
	return py_PrintProcessorDllNameHigh;
}

static int py_rap_PrintQueue3_set_PrintProcessorDllNameHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->PrintProcessorDllNameHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintQueue3_get_PrintParameterString(PyObject *obj, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(obj);
	PyObject *py_PrintParameterString;
	if (object->PrintParameterString == NULL) {
		py_PrintParameterString = Py_None;
		Py_INCREF(py_PrintParameterString);
	} else {
		py_PrintParameterString = PyString_FromStringOrNULL(object->PrintParameterString);
	}
	return py_PrintParameterString;
}

static int py_rap_PrintQueue3_set_PrintParameterString(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->PrintParameterString = NULL;
	} else {
		object->PrintParameterString = NULL;
		object->PrintParameterString = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintQueue3_get_PrintParameterStringHigh(PyObject *obj, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(obj);
	PyObject *py_PrintParameterStringHigh;
	py_PrintParameterStringHigh = PyInt_FromLong(object->PrintParameterStringHigh);
	return py_PrintParameterStringHigh;
}

static int py_rap_PrintQueue3_set_PrintParameterStringHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->PrintParameterStringHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintQueue3_get_CommentString(PyObject *obj, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(obj);
	PyObject *py_CommentString;
	if (object->CommentString == NULL) {
		py_CommentString = Py_None;
		Py_INCREF(py_CommentString);
	} else {
		py_CommentString = PyString_FromStringOrNULL(object->CommentString);
	}
	return py_CommentString;
}

static int py_rap_PrintQueue3_set_CommentString(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->CommentString = NULL;
	} else {
		object->CommentString = NULL;
		object->CommentString = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintQueue3_get_CommentStringHigh(PyObject *obj, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(obj);
	PyObject *py_CommentStringHigh;
	py_CommentStringHigh = PyInt_FromLong(object->CommentStringHigh);
	return py_CommentStringHigh;
}

static int py_rap_PrintQueue3_set_CommentStringHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->CommentStringHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintQueue3_get_PrintQStatus(PyObject *obj, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(obj);
	PyObject *py_PrintQStatus;
	py_PrintQStatus = PyInt_FromLong(object->PrintQStatus);
	return py_PrintQStatus;
}

static int py_rap_PrintQueue3_set_PrintQStatus(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(py_obj);
	if (PyLong_Check(value)) {
		object->PrintQStatus = PyLong_AsLongLong(value);
	} else if (PyInt_Check(value)) {
		object->PrintQStatus = PyInt_AsLong(value);
	} else {
		PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
		  PyInt_Type.tp_name, PyLong_Type.tp_name);
		return -1;
	}
	return 0;
}

static PyObject *py_rap_PrintQueue3_get_PrintJobCount(PyObject *obj, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(obj);
	PyObject *py_PrintJobCount;
	py_PrintJobCount = PyInt_FromLong(object->PrintJobCount);
	return py_PrintJobCount;
}

static int py_rap_PrintQueue3_set_PrintJobCount(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->PrintJobCount = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintQueue3_get_Printers(PyObject *obj, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(obj);
	PyObject *py_Printers;
	if (object->Printers == NULL) {
		py_Printers = Py_None;
		Py_INCREF(py_Printers);
	} else {
		py_Printers = PyString_FromStringOrNULL(object->Printers);
	}
	return py_Printers;
}

static int py_rap_PrintQueue3_set_Printers(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->Printers = NULL;
	} else {
		object->Printers = NULL;
		object->Printers = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintQueue3_get_PrintersHigh(PyObject *obj, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(obj);
	PyObject *py_PrintersHigh;
	py_PrintersHigh = PyInt_FromLong(object->PrintersHigh);
	return py_PrintersHigh;
}

static int py_rap_PrintQueue3_set_PrintersHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->PrintersHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintQueue3_get_DriverName(PyObject *obj, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(obj);
	PyObject *py_DriverName;
	if (object->DriverName == NULL) {
		py_DriverName = Py_None;
		Py_INCREF(py_DriverName);
	} else {
		py_DriverName = PyString_FromStringOrNULL(object->DriverName);
	}
	return py_DriverName;
}

static int py_rap_PrintQueue3_set_DriverName(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->DriverName = NULL;
	} else {
		object->DriverName = NULL;
		object->DriverName = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintQueue3_get_DriverNameHigh(PyObject *obj, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(obj);
	PyObject *py_DriverNameHigh;
	py_DriverNameHigh = PyInt_FromLong(object->DriverNameHigh);
	return py_DriverNameHigh;
}

static int py_rap_PrintQueue3_set_DriverNameHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->DriverNameHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintQueue3_get_PrintDriverData(PyObject *obj, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(obj);
	PyObject *py_PrintDriverData;
	if (object->PrintDriverData == NULL) {
		py_PrintDriverData = Py_None;
		Py_INCREF(py_PrintDriverData);
	} else {
		py_PrintDriverData = PyString_FromStringOrNULL(object->PrintDriverData);
	}
	return py_PrintDriverData;
}

static int py_rap_PrintQueue3_set_PrintDriverData(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->PrintDriverData = NULL;
	} else {
		object->PrintDriverData = NULL;
		object->PrintDriverData = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintQueue3_get_PrintDriverDataHigh(PyObject *obj, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(obj);
	PyObject *py_PrintDriverDataHigh;
	py_PrintDriverDataHigh = PyInt_FromLong(object->PrintDriverDataHigh);
	return py_PrintDriverDataHigh;
}

static int py_rap_PrintQueue3_set_PrintDriverDataHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->PrintDriverDataHigh = PyInt_AsLong(value);
	return 0;
}

static PyGetSetDef py_rap_PrintQueue3_getsetters[] = {
	{ discard_const_p(char, "PrintQueueName"), py_rap_PrintQueue3_get_PrintQueueName, py_rap_PrintQueue3_set_PrintQueueName },
	{ discard_const_p(char, "PrintQueueNameHigh"), py_rap_PrintQueue3_get_PrintQueueNameHigh, py_rap_PrintQueue3_set_PrintQueueNameHigh },
	{ discard_const_p(char, "Priority"), py_rap_PrintQueue3_get_Priority, py_rap_PrintQueue3_set_Priority },
	{ discard_const_p(char, "StartTime"), py_rap_PrintQueue3_get_StartTime, py_rap_PrintQueue3_set_StartTime },
	{ discard_const_p(char, "UntilTime"), py_rap_PrintQueue3_get_UntilTime, py_rap_PrintQueue3_set_UntilTime },
	{ discard_const_p(char, "Pad"), py_rap_PrintQueue3_get_Pad, py_rap_PrintQueue3_set_Pad },
	{ discard_const_p(char, "SeparatorPageFilename"), py_rap_PrintQueue3_get_SeparatorPageFilename, py_rap_PrintQueue3_set_SeparatorPageFilename },
	{ discard_const_p(char, "SeparatorPageFilenameHigh"), py_rap_PrintQueue3_get_SeparatorPageFilenameHigh, py_rap_PrintQueue3_set_SeparatorPageFilenameHigh },
	{ discard_const_p(char, "PrintProcessorDllName"), py_rap_PrintQueue3_get_PrintProcessorDllName, py_rap_PrintQueue3_set_PrintProcessorDllName },
	{ discard_const_p(char, "PrintProcessorDllNameHigh"), py_rap_PrintQueue3_get_PrintProcessorDllNameHigh, py_rap_PrintQueue3_set_PrintProcessorDllNameHigh },
	{ discard_const_p(char, "PrintParameterString"), py_rap_PrintQueue3_get_PrintParameterString, py_rap_PrintQueue3_set_PrintParameterString },
	{ discard_const_p(char, "PrintParameterStringHigh"), py_rap_PrintQueue3_get_PrintParameterStringHigh, py_rap_PrintQueue3_set_PrintParameterStringHigh },
	{ discard_const_p(char, "CommentString"), py_rap_PrintQueue3_get_CommentString, py_rap_PrintQueue3_set_CommentString },
	{ discard_const_p(char, "CommentStringHigh"), py_rap_PrintQueue3_get_CommentStringHigh, py_rap_PrintQueue3_set_CommentStringHigh },
	{ discard_const_p(char, "PrintQStatus"), py_rap_PrintQueue3_get_PrintQStatus, py_rap_PrintQueue3_set_PrintQStatus },
	{ discard_const_p(char, "PrintJobCount"), py_rap_PrintQueue3_get_PrintJobCount, py_rap_PrintQueue3_set_PrintJobCount },
	{ discard_const_p(char, "Printers"), py_rap_PrintQueue3_get_Printers, py_rap_PrintQueue3_set_Printers },
	{ discard_const_p(char, "PrintersHigh"), py_rap_PrintQueue3_get_PrintersHigh, py_rap_PrintQueue3_set_PrintersHigh },
	{ discard_const_p(char, "DriverName"), py_rap_PrintQueue3_get_DriverName, py_rap_PrintQueue3_set_DriverName },
	{ discard_const_p(char, "DriverNameHigh"), py_rap_PrintQueue3_get_DriverNameHigh, py_rap_PrintQueue3_set_DriverNameHigh },
	{ discard_const_p(char, "PrintDriverData"), py_rap_PrintQueue3_get_PrintDriverData, py_rap_PrintQueue3_set_PrintDriverData },
	{ discard_const_p(char, "PrintDriverDataHigh"), py_rap_PrintQueue3_get_PrintDriverDataHigh, py_rap_PrintQueue3_set_PrintDriverDataHigh },
	{ NULL }
};

static PyObject *py_rap_PrintQueue3_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
{
	return py_talloc_new(struct rap_PrintQueue3, type);
}

static PyObject *py_rap_PrintQueue3_ndr_pack(PyObject *py_obj)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(py_obj);
	DATA_BLOB blob;
	enum ndr_err_code err;
	err = ndr_push_struct_blob(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_rap_PrintQueue3);
	if (err != NDR_ERR_SUCCESS) {
		PyErr_SetNdrError(err);
		return NULL;
	}

	return PyString_FromStringAndSize((char *)blob.data, blob.length);
}

static PyObject *py_rap_PrintQueue3_ndr_unpack(PyObject *py_obj, PyObject *args)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(py_obj);
	DATA_BLOB blob;
	enum ndr_err_code err;
	if (!PyArg_ParseTuple(args, "s#:__ndr_unpack__", &blob.data, &blob.length))
		return NULL;

	err = ndr_pull_struct_blob_all(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_rap_PrintQueue3);
	if (err != NDR_ERR_SUCCESS) {
		PyErr_SetNdrError(err);
		return NULL;
	}

	Py_RETURN_NONE;
}

static PyObject *py_rap_PrintQueue3_ndr_print(PyObject *py_obj)
{
	struct rap_PrintQueue3 *object = (struct rap_PrintQueue3 *)py_talloc_get_ptr(py_obj);
	PyObject *ret;
	char *retstr;

	retstr = ndr_print_struct_string(py_talloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_rap_PrintQueue3, "rap_PrintQueue3", object);
	ret = PyString_FromString(retstr);
	talloc_free(retstr);

	return ret;
}

static PyMethodDef py_rap_PrintQueue3_methods[] = {
	{ "__ndr_pack__", (PyCFunction)py_rap_PrintQueue3_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
	{ "__ndr_unpack__", (PyCFunction)py_rap_PrintQueue3_ndr_unpack, METH_VARARGS, "S.ndr_unpack(class, blob) -> None\nNDR unpack" },
	{ "__ndr_print__", (PyCFunction)py_rap_PrintQueue3_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
	{ NULL, NULL, 0, NULL }
};


static PyTypeObject rap_PrintQueue3_Type = {
	PyObject_HEAD_INIT(NULL) 0,
	.tp_name = "rap.PrintQueue3",
	.tp_getset = py_rap_PrintQueue3_getsetters,
	.tp_methods = py_rap_PrintQueue3_methods,
	.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
	.tp_basicsize = sizeof(py_talloc_Object),
	.tp_new = py_rap_PrintQueue3_new,
};


static PyObject *py_rap_PrintQueue4_get_queue(PyObject *obj, void *closure)
{
	struct rap_PrintQueue4 *object = (struct rap_PrintQueue4 *)py_talloc_get_ptr(obj);
	PyObject *py_queue;
	py_queue = py_talloc_reference_ex(&rap_PrintQueue3_Type, py_talloc_get_mem_ctx(obj), &object->queue);
	return py_queue;
}

static int py_rap_PrintQueue4_set_queue(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue4 *object = (struct rap_PrintQueue4 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&rap_PrintQueue3_Type, value, return -1;);
	if (talloc_reference(py_talloc_get_mem_ctx(py_obj), py_talloc_get_mem_ctx(value)) == NULL) {
		PyErr_NoMemory();
		return -1;
	}
	object->queue = *(struct rap_PrintQueue3 *)py_talloc_get_ptr(value);
	return 0;
}

static PyObject *py_rap_PrintQueue4_get_job(PyObject *obj, void *closure)
{
	struct rap_PrintQueue4 *object = (struct rap_PrintQueue4 *)py_talloc_get_ptr(obj);
	PyObject *py_job;
	py_job = PyList_New(object->queue.PrintJobCount);
	if (py_job == NULL) {
		return NULL;
	}
	{
		int job_cntr_0;
		for (job_cntr_0 = 0; job_cntr_0 < object->queue.PrintJobCount; job_cntr_0++) {
			PyObject *py_job_0;
			py_job_0 = py_talloc_reference_ex(&rap_PrintJobInfo2_Type, object->job, &object->job[job_cntr_0]);
			PyList_SetItem(py_job, job_cntr_0, py_job_0);
		}
	}
	return py_job;
}

static int py_rap_PrintQueue4_set_job(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue4 *object = (struct rap_PrintQueue4 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyList_Type, value, return -1;);
	{
		int job_cntr_0;
		object->job = talloc_array_ptrtype(py_talloc_get_mem_ctx(py_obj), object->job, PyList_GET_SIZE(value));
		if (!object->job) { return -1;; }
		talloc_set_name_const(object->job, "ARRAY: object->job");
		for (job_cntr_0 = 0; job_cntr_0 < PyList_GET_SIZE(value); job_cntr_0++) {
			PY_CHECK_TYPE(&rap_PrintJobInfo2_Type, PyList_GET_ITEM(value, job_cntr_0), return -1;);
			if (talloc_reference(object->job, py_talloc_get_mem_ctx(PyList_GET_ITEM(value, job_cntr_0))) == NULL) {
				PyErr_NoMemory();
				return -1;
			}
			object->job[job_cntr_0] = *(struct rap_PrintJobInfo2 *)py_talloc_get_ptr(PyList_GET_ITEM(value, job_cntr_0));
		}
	}
	return 0;
}

static PyGetSetDef py_rap_PrintQueue4_getsetters[] = {
	{ discard_const_p(char, "queue"), py_rap_PrintQueue4_get_queue, py_rap_PrintQueue4_set_queue },
	{ discard_const_p(char, "job"), py_rap_PrintQueue4_get_job, py_rap_PrintQueue4_set_job },
	{ NULL }
};

static PyObject *py_rap_PrintQueue4_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
{
	return py_talloc_new(struct rap_PrintQueue4, type);
}


static PyTypeObject rap_PrintQueue4_Type = {
	PyObject_HEAD_INIT(NULL) 0,
	.tp_name = "rap.PrintQueue4",
	.tp_getset = py_rap_PrintQueue4_getsetters,
	.tp_methods = NULL,
	.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
	.tp_basicsize = sizeof(py_talloc_Object),
	.tp_new = py_rap_PrintQueue4_new,
};


static PyObject *py_rap_PrintQueue5_get_PrintQueueName(PyObject *obj, void *closure)
{
	struct rap_PrintQueue5 *object = (struct rap_PrintQueue5 *)py_talloc_get_ptr(obj);
	PyObject *py_PrintQueueName;
	if (object->PrintQueueName == NULL) {
		py_PrintQueueName = Py_None;
		Py_INCREF(py_PrintQueueName);
	} else {
		py_PrintQueueName = PyString_FromStringOrNULL(object->PrintQueueName);
	}
	return py_PrintQueueName;
}

static int py_rap_PrintQueue5_set_PrintQueueName(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue5 *object = (struct rap_PrintQueue5 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->PrintQueueName = NULL;
	} else {
		object->PrintQueueName = NULL;
		object->PrintQueueName = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintQueue5_get_PrintQueueNameHigh(PyObject *obj, void *closure)
{
	struct rap_PrintQueue5 *object = (struct rap_PrintQueue5 *)py_talloc_get_ptr(obj);
	PyObject *py_PrintQueueNameHigh;
	py_PrintQueueNameHigh = PyInt_FromLong(object->PrintQueueNameHigh);
	return py_PrintQueueNameHigh;
}

static int py_rap_PrintQueue5_set_PrintQueueNameHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintQueue5 *object = (struct rap_PrintQueue5 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->PrintQueueNameHigh = PyInt_AsLong(value);
	return 0;
}

static PyGetSetDef py_rap_PrintQueue5_getsetters[] = {
	{ discard_const_p(char, "PrintQueueName"), py_rap_PrintQueue5_get_PrintQueueName, py_rap_PrintQueue5_set_PrintQueueName },
	{ discard_const_p(char, "PrintQueueNameHigh"), py_rap_PrintQueue5_get_PrintQueueNameHigh, py_rap_PrintQueue5_set_PrintQueueNameHigh },
	{ NULL }
};

static PyObject *py_rap_PrintQueue5_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
{
	return py_talloc_new(struct rap_PrintQueue5, type);
}


static PyTypeObject rap_PrintQueue5_Type = {
	PyObject_HEAD_INIT(NULL) 0,
	.tp_name = "rap.PrintQueue5",
	.tp_getset = py_rap_PrintQueue5_getsetters,
	.tp_methods = NULL,
	.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
	.tp_basicsize = sizeof(py_talloc_Object),
	.tp_new = py_rap_PrintQueue5_new,
};

PyObject *py_import_rap_printq_info(TALLOC_CTX *mem_ctx, int level, union rap_printq_info *in)
{
	PyObject *ret;

	switch (level) {
		case 0:
			ret = py_talloc_reference_ex(&rap_PrintQueue0_Type, mem_ctx, &in->info0);
			return ret;

		case 1:
			ret = py_talloc_reference_ex(&rap_PrintQueue1_Type, mem_ctx, &in->info1);
			return ret;

		case 2:
			ret = py_talloc_reference_ex(&rap_PrintQueue2_Type, mem_ctx, &in->info2);
			return ret;

		case 3:
			ret = py_talloc_reference_ex(&rap_PrintQueue3_Type, mem_ctx, &in->info3);
			return ret;

		case 4:
			ret = py_talloc_reference_ex(&rap_PrintQueue4_Type, mem_ctx, &in->info4);
			return ret;

		case 5:
			ret = py_talloc_reference_ex(&rap_PrintQueue5_Type, mem_ctx, &in->info5);
			return ret;

	}
	PyErr_SetString(PyExc_TypeError, "unknown union level");
	return NULL;
}

union rap_printq_info *py_export_rap_printq_info(TALLOC_CTX *mem_ctx, int level, PyObject *in)
{
	union rap_printq_info *ret = talloc_zero(mem_ctx, union rap_printq_info);
	switch (level) {
		case 0:
			PY_CHECK_TYPE(&rap_PrintQueue0_Type, in, talloc_free(ret); return NULL;);
			if (talloc_reference(mem_ctx, py_talloc_get_mem_ctx(in)) == NULL) {
				PyErr_NoMemory();
				talloc_free(ret); return NULL;
			}
			ret->info0 = *(struct rap_PrintQueue0 *)py_talloc_get_ptr(in);
			break;

		case 1:
			PY_CHECK_TYPE(&rap_PrintQueue1_Type, in, talloc_free(ret); return NULL;);
			if (talloc_reference(mem_ctx, py_talloc_get_mem_ctx(in)) == NULL) {
				PyErr_NoMemory();
				talloc_free(ret); return NULL;
			}
			ret->info1 = *(struct rap_PrintQueue1 *)py_talloc_get_ptr(in);
			break;

		case 2:
			PY_CHECK_TYPE(&rap_PrintQueue2_Type, in, talloc_free(ret); return NULL;);
			if (talloc_reference(mem_ctx, py_talloc_get_mem_ctx(in)) == NULL) {
				PyErr_NoMemory();
				talloc_free(ret); return NULL;
			}
			ret->info2 = *(struct rap_PrintQueue2 *)py_talloc_get_ptr(in);
			break;

		case 3:
			PY_CHECK_TYPE(&rap_PrintQueue3_Type, in, talloc_free(ret); return NULL;);
			if (talloc_reference(mem_ctx, py_talloc_get_mem_ctx(in)) == NULL) {
				PyErr_NoMemory();
				talloc_free(ret); return NULL;
			}
			ret->info3 = *(struct rap_PrintQueue3 *)py_talloc_get_ptr(in);
			break;

		case 4:
			PY_CHECK_TYPE(&rap_PrintQueue4_Type, in, talloc_free(ret); return NULL;);
			if (talloc_reference(mem_ctx, py_talloc_get_mem_ctx(in)) == NULL) {
				PyErr_NoMemory();
				talloc_free(ret); return NULL;
			}
			ret->info4 = *(struct rap_PrintQueue4 *)py_talloc_get_ptr(in);
			break;

		case 5:
			PY_CHECK_TYPE(&rap_PrintQueue5_Type, in, talloc_free(ret); return NULL;);
			if (talloc_reference(mem_ctx, py_talloc_get_mem_ctx(in)) == NULL) {
				PyErr_NoMemory();
				talloc_free(ret); return NULL;
			}
			ret->info5 = *(struct rap_PrintQueue5 *)py_talloc_get_ptr(in);
			break;

		default:
			PyErr_SetString(PyExc_TypeError, "invalid union level value");
			talloc_free(ret);
			ret = NULL;
	}

	return ret;
}

PyObject *py_import_rap_JobInfoParam(TALLOC_CTX *mem_ctx, int level, union rap_JobInfoParam *in)
{
	PyObject *ret;

	switch (level) {
		case RAP_PARAM_JOBNUM:
			ret = PyInt_FromLong(in->value);
			return ret;

		case RAP_PARAM_USERNAME:
			ret = PyString_FromStringOrNULL(in->string);
			return ret;

		case RAP_PARAM_NOTIFYNAME:
			ret = PyString_FromStringOrNULL(in->string);
			return ret;

		case RAP_PARAM_DATATYPE:
			ret = PyString_FromStringOrNULL(in->string);
			return ret;

		case RAP_PARAM_PARAMETERS_STRING:
			ret = PyString_FromStringOrNULL(in->string);
			return ret;

		case RAP_PARAM_JOBPOSITION:
			ret = PyInt_FromLong(in->value);
			return ret;

		case RAP_PARAM_JOBSTATUS:
			ret = PyInt_FromLong(in->value);
			return ret;

		case RAP_PARAM_JOBSTATUSSTR:
			ret = PyString_FromStringOrNULL(in->string);
			return ret;

		case RAP_PARAM_TIMESUBMITTED:
			ret = PyInt_FromLong(in->value4);
			return ret;

		case RAP_PARAM_JOBSIZE:
			ret = PyInt_FromLong(in->value4);
			return ret;

		case RAP_PARAM_JOBCOMMENT:
			ret = PyString_FromStringOrNULL(in->string);
			return ret;

	}
	PyErr_SetString(PyExc_TypeError, "unknown union level");
	return NULL;
}

union rap_JobInfoParam *py_export_rap_JobInfoParam(TALLOC_CTX *mem_ctx, int level, PyObject *in)
{
	union rap_JobInfoParam *ret = talloc_zero(mem_ctx, union rap_JobInfoParam);
	switch (level) {
		case RAP_PARAM_JOBNUM:
			PY_CHECK_TYPE(&PyInt_Type, in, talloc_free(ret); return NULL;);
			ret->value = PyInt_AsLong(in);
			break;

		case RAP_PARAM_USERNAME:
			ret->string = talloc_strdup(mem_ctx, PyString_AS_STRING(in));
			break;

		case RAP_PARAM_NOTIFYNAME:
			ret->string = talloc_strdup(mem_ctx, PyString_AS_STRING(in));
			break;

		case RAP_PARAM_DATATYPE:
			ret->string = talloc_strdup(mem_ctx, PyString_AS_STRING(in));
			break;

		case RAP_PARAM_PARAMETERS_STRING:
			ret->string = talloc_strdup(mem_ctx, PyString_AS_STRING(in));
			break;

		case RAP_PARAM_JOBPOSITION:
			PY_CHECK_TYPE(&PyInt_Type, in, talloc_free(ret); return NULL;);
			ret->value = PyInt_AsLong(in);
			break;

		case RAP_PARAM_JOBSTATUS:
			PY_CHECK_TYPE(&PyInt_Type, in, talloc_free(ret); return NULL;);
			ret->value = PyInt_AsLong(in);
			break;

		case RAP_PARAM_JOBSTATUSSTR:
			ret->string = talloc_strdup(mem_ctx, PyString_AS_STRING(in));
			break;

		case RAP_PARAM_TIMESUBMITTED:
			PY_CHECK_TYPE(&PyInt_Type, in, talloc_free(ret); return NULL;);
			ret->value4 = PyInt_AsLong(in);
			break;

		case RAP_PARAM_JOBSIZE:
			PY_CHECK_TYPE(&PyInt_Type, in, talloc_free(ret); return NULL;);
			ret->value4 = PyInt_AsLong(in);
			break;

		case RAP_PARAM_JOBCOMMENT:
			ret->string = talloc_strdup(mem_ctx, PyString_AS_STRING(in));
			break;

		default:
			PyErr_SetString(PyExc_TypeError, "invalid union level value");
			talloc_free(ret);
			ret = NULL;
	}

	return ret;
}


static PyObject *py_rap_PrintDest0_get_PrintDestName(PyObject *obj, void *closure)
{
	struct rap_PrintDest0 *object = (struct rap_PrintDest0 *)py_talloc_get_ptr(obj);
	PyObject *py_PrintDestName;
	if (object->PrintDestName == NULL) {
		py_PrintDestName = Py_None;
		Py_INCREF(py_PrintDestName);
	} else {
		py_PrintDestName = PyUnicode_Decode(object->PrintDestName, strlen(object->PrintDestName), "utf-8", "ignore");
	}
	return py_PrintDestName;
}

static int py_rap_PrintDest0_set_PrintDestName(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintDest0 *object = (struct rap_PrintDest0 *)py_talloc_get_ptr(py_obj);
	if (PyUnicode_Check(value)) {
		object->PrintDestName = PyString_AS_STRING(PyUnicode_AsEncodedString(value, "utf-8", "ignore"));
	} else if (PyString_Check(value)) {
		object->PrintDestName = PyString_AS_STRING(value);
	} else {
		PyErr_Format(PyExc_TypeError, "Expected string or unicode object, got %s", Py_TYPE(value)->tp_name);
		return -1;
	}
	return 0;
}

static PyGetSetDef py_rap_PrintDest0_getsetters[] = {
	{ discard_const_p(char, "PrintDestName"), py_rap_PrintDest0_get_PrintDestName, py_rap_PrintDest0_set_PrintDestName },
	{ NULL }
};

static PyObject *py_rap_PrintDest0_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
{
	return py_talloc_new(struct rap_PrintDest0, type);
}


static PyTypeObject rap_PrintDest0_Type = {
	PyObject_HEAD_INIT(NULL) 0,
	.tp_name = "rap.PrintDest0",
	.tp_getset = py_rap_PrintDest0_getsetters,
	.tp_methods = NULL,
	.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
	.tp_basicsize = sizeof(py_talloc_Object),
	.tp_new = py_rap_PrintDest0_new,
};


static PyObject *py_rap_PrintDest1_get_PrintDestName(PyObject *obj, void *closure)
{
	struct rap_PrintDest1 *object = (struct rap_PrintDest1 *)py_talloc_get_ptr(obj);
	PyObject *py_PrintDestName;
	if (object->PrintDestName == NULL) {
		py_PrintDestName = Py_None;
		Py_INCREF(py_PrintDestName);
	} else {
		py_PrintDestName = PyUnicode_Decode(object->PrintDestName, strlen(object->PrintDestName), "utf-8", "ignore");
	}
	return py_PrintDestName;
}

static int py_rap_PrintDest1_set_PrintDestName(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintDest1 *object = (struct rap_PrintDest1 *)py_talloc_get_ptr(py_obj);
	if (PyUnicode_Check(value)) {
		object->PrintDestName = PyString_AS_STRING(PyUnicode_AsEncodedString(value, "utf-8", "ignore"));
	} else if (PyString_Check(value)) {
		object->PrintDestName = PyString_AS_STRING(value);
	} else {
		PyErr_Format(PyExc_TypeError, "Expected string or unicode object, got %s", Py_TYPE(value)->tp_name);
		return -1;
	}
	return 0;
}

static PyObject *py_rap_PrintDest1_get_UserName(PyObject *obj, void *closure)
{
	struct rap_PrintDest1 *object = (struct rap_PrintDest1 *)py_talloc_get_ptr(obj);
	PyObject *py_UserName;
	if (object->UserName == NULL) {
		py_UserName = Py_None;
		Py_INCREF(py_UserName);
	} else {
		py_UserName = PyUnicode_Decode(object->UserName, strlen(object->UserName), "utf-8", "ignore");
	}
	return py_UserName;
}

static int py_rap_PrintDest1_set_UserName(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintDest1 *object = (struct rap_PrintDest1 *)py_talloc_get_ptr(py_obj);
	if (PyUnicode_Check(value)) {
		object->UserName = PyString_AS_STRING(PyUnicode_AsEncodedString(value, "utf-8", "ignore"));
	} else if (PyString_Check(value)) {
		object->UserName = PyString_AS_STRING(value);
	} else {
		PyErr_Format(PyExc_TypeError, "Expected string or unicode object, got %s", Py_TYPE(value)->tp_name);
		return -1;
	}
	return 0;
}

static PyObject *py_rap_PrintDest1_get_JobId(PyObject *obj, void *closure)
{
	struct rap_PrintDest1 *object = (struct rap_PrintDest1 *)py_talloc_get_ptr(obj);
	PyObject *py_JobId;
	py_JobId = PyInt_FromLong(object->JobId);
	return py_JobId;
}

static int py_rap_PrintDest1_set_JobId(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintDest1 *object = (struct rap_PrintDest1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->JobId = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintDest1_get_Status(PyObject *obj, void *closure)
{
	struct rap_PrintDest1 *object = (struct rap_PrintDest1 *)py_talloc_get_ptr(obj);
	PyObject *py_Status;
	py_Status = PyInt_FromLong(object->Status);
	return py_Status;
}

static int py_rap_PrintDest1_set_Status(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintDest1 *object = (struct rap_PrintDest1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->Status = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintDest1_get_StatusStringName(PyObject *obj, void *closure)
{
	struct rap_PrintDest1 *object = (struct rap_PrintDest1 *)py_talloc_get_ptr(obj);
	PyObject *py_StatusStringName;
	if (object->StatusStringName == NULL) {
		py_StatusStringName = Py_None;
		Py_INCREF(py_StatusStringName);
	} else {
		py_StatusStringName = PyString_FromStringOrNULL(object->StatusStringName);
	}
	return py_StatusStringName;
}

static int py_rap_PrintDest1_set_StatusStringName(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintDest1 *object = (struct rap_PrintDest1 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->StatusStringName = NULL;
	} else {
		object->StatusStringName = NULL;
		object->StatusStringName = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintDest1_get_PrintQueueNameHigh(PyObject *obj, void *closure)
{
	struct rap_PrintDest1 *object = (struct rap_PrintDest1 *)py_talloc_get_ptr(obj);
	PyObject *py_PrintQueueNameHigh;
	py_PrintQueueNameHigh = PyInt_FromLong(object->PrintQueueNameHigh);
	return py_PrintQueueNameHigh;
}

static int py_rap_PrintDest1_set_PrintQueueNameHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintDest1 *object = (struct rap_PrintDest1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->PrintQueueNameHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintDest1_get_Time(PyObject *obj, void *closure)
{
	struct rap_PrintDest1 *object = (struct rap_PrintDest1 *)py_talloc_get_ptr(obj);
	PyObject *py_Time;
	py_Time = PyInt_FromLong(object->Time);
	return py_Time;
}

static int py_rap_PrintDest1_set_Time(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintDest1 *object = (struct rap_PrintDest1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->Time = PyInt_AsLong(value);
	return 0;
}

static PyGetSetDef py_rap_PrintDest1_getsetters[] = {
	{ discard_const_p(char, "PrintDestName"), py_rap_PrintDest1_get_PrintDestName, py_rap_PrintDest1_set_PrintDestName },
	{ discard_const_p(char, "UserName"), py_rap_PrintDest1_get_UserName, py_rap_PrintDest1_set_UserName },
	{ discard_const_p(char, "JobId"), py_rap_PrintDest1_get_JobId, py_rap_PrintDest1_set_JobId },
	{ discard_const_p(char, "Status"), py_rap_PrintDest1_get_Status, py_rap_PrintDest1_set_Status },
	{ discard_const_p(char, "StatusStringName"), py_rap_PrintDest1_get_StatusStringName, py_rap_PrintDest1_set_StatusStringName },
	{ discard_const_p(char, "PrintQueueNameHigh"), py_rap_PrintDest1_get_PrintQueueNameHigh, py_rap_PrintDest1_set_PrintQueueNameHigh },
	{ discard_const_p(char, "Time"), py_rap_PrintDest1_get_Time, py_rap_PrintDest1_set_Time },
	{ NULL }
};

static PyObject *py_rap_PrintDest1_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
{
	return py_talloc_new(struct rap_PrintDest1, type);
}


static PyTypeObject rap_PrintDest1_Type = {
	PyObject_HEAD_INIT(NULL) 0,
	.tp_name = "rap.PrintDest1",
	.tp_getset = py_rap_PrintDest1_getsetters,
	.tp_methods = NULL,
	.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
	.tp_basicsize = sizeof(py_talloc_Object),
	.tp_new = py_rap_PrintDest1_new,
};


static PyObject *py_rap_PrintDest2_get_PrinterName(PyObject *obj, void *closure)
{
	struct rap_PrintDest2 *object = (struct rap_PrintDest2 *)py_talloc_get_ptr(obj);
	PyObject *py_PrinterName;
	if (object->PrinterName == NULL) {
		py_PrinterName = Py_None;
		Py_INCREF(py_PrinterName);
	} else {
		py_PrinterName = PyString_FromStringOrNULL(object->PrinterName);
	}
	return py_PrinterName;
}

static int py_rap_PrintDest2_set_PrinterName(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintDest2 *object = (struct rap_PrintDest2 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->PrinterName = NULL;
	} else {
		object->PrinterName = NULL;
		object->PrinterName = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintDest2_get_PrinterNameHigh(PyObject *obj, void *closure)
{
	struct rap_PrintDest2 *object = (struct rap_PrintDest2 *)py_talloc_get_ptr(obj);
	PyObject *py_PrinterNameHigh;
	py_PrinterNameHigh = PyInt_FromLong(object->PrinterNameHigh);
	return py_PrinterNameHigh;
}

static int py_rap_PrintDest2_set_PrinterNameHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintDest2 *object = (struct rap_PrintDest2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->PrinterNameHigh = PyInt_AsLong(value);
	return 0;
}

static PyGetSetDef py_rap_PrintDest2_getsetters[] = {
	{ discard_const_p(char, "PrinterName"), py_rap_PrintDest2_get_PrinterName, py_rap_PrintDest2_set_PrinterName },
	{ discard_const_p(char, "PrinterNameHigh"), py_rap_PrintDest2_get_PrinterNameHigh, py_rap_PrintDest2_set_PrinterNameHigh },
	{ NULL }
};

static PyObject *py_rap_PrintDest2_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
{
	return py_talloc_new(struct rap_PrintDest2, type);
}


static PyTypeObject rap_PrintDest2_Type = {
	PyObject_HEAD_INIT(NULL) 0,
	.tp_name = "rap.PrintDest2",
	.tp_getset = py_rap_PrintDest2_getsetters,
	.tp_methods = NULL,
	.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
	.tp_basicsize = sizeof(py_talloc_Object),
	.tp_new = py_rap_PrintDest2_new,
};


static PyObject *py_rap_PrintDest3_get_PrinterName(PyObject *obj, void *closure)
{
	struct rap_PrintDest3 *object = (struct rap_PrintDest3 *)py_talloc_get_ptr(obj);
	PyObject *py_PrinterName;
	if (object->PrinterName == NULL) {
		py_PrinterName = Py_None;
		Py_INCREF(py_PrinterName);
	} else {
		py_PrinterName = PyString_FromStringOrNULL(object->PrinterName);
	}
	return py_PrinterName;
}

static int py_rap_PrintDest3_set_PrinterName(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintDest3 *object = (struct rap_PrintDest3 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->PrinterName = NULL;
	} else {
		object->PrinterName = NULL;
		object->PrinterName = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintDest3_get_PrinterNameHigh(PyObject *obj, void *closure)
{
	struct rap_PrintDest3 *object = (struct rap_PrintDest3 *)py_talloc_get_ptr(obj);
	PyObject *py_PrinterNameHigh;
	py_PrinterNameHigh = PyInt_FromLong(object->PrinterNameHigh);
	return py_PrinterNameHigh;
}

static int py_rap_PrintDest3_set_PrinterNameHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintDest3 *object = (struct rap_PrintDest3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->PrinterNameHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintDest3_get_UserName(PyObject *obj, void *closure)
{
	struct rap_PrintDest3 *object = (struct rap_PrintDest3 *)py_talloc_get_ptr(obj);
	PyObject *py_UserName;
	if (object->UserName == NULL) {
		py_UserName = Py_None;
		Py_INCREF(py_UserName);
	} else {
		py_UserName = PyString_FromStringOrNULL(object->UserName);
	}
	return py_UserName;
}

static int py_rap_PrintDest3_set_UserName(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintDest3 *object = (struct rap_PrintDest3 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->UserName = NULL;
	} else {
		object->UserName = NULL;
		object->UserName = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintDest3_get_UserNameHigh(PyObject *obj, void *closure)
{
	struct rap_PrintDest3 *object = (struct rap_PrintDest3 *)py_talloc_get_ptr(obj);
	PyObject *py_UserNameHigh;
	py_UserNameHigh = PyInt_FromLong(object->UserNameHigh);
	return py_UserNameHigh;
}

static int py_rap_PrintDest3_set_UserNameHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintDest3 *object = (struct rap_PrintDest3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->UserNameHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintDest3_get_LogAddr(PyObject *obj, void *closure)
{
	struct rap_PrintDest3 *object = (struct rap_PrintDest3 *)py_talloc_get_ptr(obj);
	PyObject *py_LogAddr;
	if (object->LogAddr == NULL) {
		py_LogAddr = Py_None;
		Py_INCREF(py_LogAddr);
	} else {
		py_LogAddr = PyString_FromStringOrNULL(object->LogAddr);
	}
	return py_LogAddr;
}

static int py_rap_PrintDest3_set_LogAddr(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintDest3 *object = (struct rap_PrintDest3 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->LogAddr = NULL;
	} else {
		object->LogAddr = NULL;
		object->LogAddr = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintDest3_get_LogAddrHigh(PyObject *obj, void *closure)
{
	struct rap_PrintDest3 *object = (struct rap_PrintDest3 *)py_talloc_get_ptr(obj);
	PyObject *py_LogAddrHigh;
	py_LogAddrHigh = PyInt_FromLong(object->LogAddrHigh);
	return py_LogAddrHigh;
}

static int py_rap_PrintDest3_set_LogAddrHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintDest3 *object = (struct rap_PrintDest3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->LogAddrHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintDest3_get_JobId(PyObject *obj, void *closure)
{
	struct rap_PrintDest3 *object = (struct rap_PrintDest3 *)py_talloc_get_ptr(obj);
	PyObject *py_JobId;
	py_JobId = PyInt_FromLong(object->JobId);
	return py_JobId;
}

static int py_rap_PrintDest3_set_JobId(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintDest3 *object = (struct rap_PrintDest3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->JobId = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintDest3_get_Status(PyObject *obj, void *closure)
{
	struct rap_PrintDest3 *object = (struct rap_PrintDest3 *)py_talloc_get_ptr(obj);
	PyObject *py_Status;
	py_Status = PyInt_FromLong(object->Status);
	return py_Status;
}

static int py_rap_PrintDest3_set_Status(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintDest3 *object = (struct rap_PrintDest3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->Status = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintDest3_get_StatusStringName(PyObject *obj, void *closure)
{
	struct rap_PrintDest3 *object = (struct rap_PrintDest3 *)py_talloc_get_ptr(obj);
	PyObject *py_StatusStringName;
	if (object->StatusStringName == NULL) {
		py_StatusStringName = Py_None;
		Py_INCREF(py_StatusStringName);
	} else {
		py_StatusStringName = PyString_FromStringOrNULL(object->StatusStringName);
	}
	return py_StatusStringName;
}

static int py_rap_PrintDest3_set_StatusStringName(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintDest3 *object = (struct rap_PrintDest3 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->StatusStringName = NULL;
	} else {
		object->StatusStringName = NULL;
		object->StatusStringName = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintDest3_get_PrintQueueNameHigh(PyObject *obj, void *closure)
{
	struct rap_PrintDest3 *object = (struct rap_PrintDest3 *)py_talloc_get_ptr(obj);
	PyObject *py_PrintQueueNameHigh;
	py_PrintQueueNameHigh = PyInt_FromLong(object->PrintQueueNameHigh);
	return py_PrintQueueNameHigh;
}

static int py_rap_PrintDest3_set_PrintQueueNameHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintDest3 *object = (struct rap_PrintDest3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->PrintQueueNameHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintDest3_get_Comment(PyObject *obj, void *closure)
{
	struct rap_PrintDest3 *object = (struct rap_PrintDest3 *)py_talloc_get_ptr(obj);
	PyObject *py_Comment;
	if (object->Comment == NULL) {
		py_Comment = Py_None;
		Py_INCREF(py_Comment);
	} else {
		py_Comment = PyString_FromStringOrNULL(object->Comment);
	}
	return py_Comment;
}

static int py_rap_PrintDest3_set_Comment(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintDest3 *object = (struct rap_PrintDest3 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->Comment = NULL;
	} else {
		object->Comment = NULL;
		object->Comment = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintDest3_get_CommentHigh(PyObject *obj, void *closure)
{
	struct rap_PrintDest3 *object = (struct rap_PrintDest3 *)py_talloc_get_ptr(obj);
	PyObject *py_CommentHigh;
	py_CommentHigh = PyInt_FromLong(object->CommentHigh);
	return py_CommentHigh;
}

static int py_rap_PrintDest3_set_CommentHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintDest3 *object = (struct rap_PrintDest3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->CommentHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintDest3_get_Drivers(PyObject *obj, void *closure)
{
	struct rap_PrintDest3 *object = (struct rap_PrintDest3 *)py_talloc_get_ptr(obj);
	PyObject *py_Drivers;
	if (object->Drivers == NULL) {
		py_Drivers = Py_None;
		Py_INCREF(py_Drivers);
	} else {
		py_Drivers = PyString_FromStringOrNULL(object->Drivers);
	}
	return py_Drivers;
}

static int py_rap_PrintDest3_set_Drivers(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintDest3 *object = (struct rap_PrintDest3 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->Drivers = NULL;
	} else {
		object->Drivers = NULL;
		object->Drivers = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_PrintDest3_get_DriversHigh(PyObject *obj, void *closure)
{
	struct rap_PrintDest3 *object = (struct rap_PrintDest3 *)py_talloc_get_ptr(obj);
	PyObject *py_DriversHigh;
	py_DriversHigh = PyInt_FromLong(object->DriversHigh);
	return py_DriversHigh;
}

static int py_rap_PrintDest3_set_DriversHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintDest3 *object = (struct rap_PrintDest3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->DriversHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintDest3_get_Time(PyObject *obj, void *closure)
{
	struct rap_PrintDest3 *object = (struct rap_PrintDest3 *)py_talloc_get_ptr(obj);
	PyObject *py_Time;
	py_Time = PyInt_FromLong(object->Time);
	return py_Time;
}

static int py_rap_PrintDest3_set_Time(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintDest3 *object = (struct rap_PrintDest3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->Time = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_PrintDest3_get_Pad1(PyObject *obj, void *closure)
{
	struct rap_PrintDest3 *object = (struct rap_PrintDest3 *)py_talloc_get_ptr(obj);
	PyObject *py_Pad1;
	py_Pad1 = PyInt_FromLong(object->Pad1);
	return py_Pad1;
}

static int py_rap_PrintDest3_set_Pad1(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_PrintDest3 *object = (struct rap_PrintDest3 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->Pad1 = PyInt_AsLong(value);
	return 0;
}

static PyGetSetDef py_rap_PrintDest3_getsetters[] = {
	{ discard_const_p(char, "PrinterName"), py_rap_PrintDest3_get_PrinterName, py_rap_PrintDest3_set_PrinterName },
	{ discard_const_p(char, "PrinterNameHigh"), py_rap_PrintDest3_get_PrinterNameHigh, py_rap_PrintDest3_set_PrinterNameHigh },
	{ discard_const_p(char, "UserName"), py_rap_PrintDest3_get_UserName, py_rap_PrintDest3_set_UserName },
	{ discard_const_p(char, "UserNameHigh"), py_rap_PrintDest3_get_UserNameHigh, py_rap_PrintDest3_set_UserNameHigh },
	{ discard_const_p(char, "LogAddr"), py_rap_PrintDest3_get_LogAddr, py_rap_PrintDest3_set_LogAddr },
	{ discard_const_p(char, "LogAddrHigh"), py_rap_PrintDest3_get_LogAddrHigh, py_rap_PrintDest3_set_LogAddrHigh },
	{ discard_const_p(char, "JobId"), py_rap_PrintDest3_get_JobId, py_rap_PrintDest3_set_JobId },
	{ discard_const_p(char, "Status"), py_rap_PrintDest3_get_Status, py_rap_PrintDest3_set_Status },
	{ discard_const_p(char, "StatusStringName"), py_rap_PrintDest3_get_StatusStringName, py_rap_PrintDest3_set_StatusStringName },
	{ discard_const_p(char, "PrintQueueNameHigh"), py_rap_PrintDest3_get_PrintQueueNameHigh, py_rap_PrintDest3_set_PrintQueueNameHigh },
	{ discard_const_p(char, "Comment"), py_rap_PrintDest3_get_Comment, py_rap_PrintDest3_set_Comment },
	{ discard_const_p(char, "CommentHigh"), py_rap_PrintDest3_get_CommentHigh, py_rap_PrintDest3_set_CommentHigh },
	{ discard_const_p(char, "Drivers"), py_rap_PrintDest3_get_Drivers, py_rap_PrintDest3_set_Drivers },
	{ discard_const_p(char, "DriversHigh"), py_rap_PrintDest3_get_DriversHigh, py_rap_PrintDest3_set_DriversHigh },
	{ discard_const_p(char, "Time"), py_rap_PrintDest3_get_Time, py_rap_PrintDest3_set_Time },
	{ discard_const_p(char, "Pad1"), py_rap_PrintDest3_get_Pad1, py_rap_PrintDest3_set_Pad1 },
	{ NULL }
};

static PyObject *py_rap_PrintDest3_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
{
	return py_talloc_new(struct rap_PrintDest3, type);
}


static PyTypeObject rap_PrintDest3_Type = {
	PyObject_HEAD_INIT(NULL) 0,
	.tp_name = "rap.PrintDest3",
	.tp_getset = py_rap_PrintDest3_getsetters,
	.tp_methods = NULL,
	.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
	.tp_basicsize = sizeof(py_talloc_Object),
	.tp_new = py_rap_PrintDest3_new,
};

PyObject *py_import_rap_printdest_info(TALLOC_CTX *mem_ctx, int level, union rap_printdest_info *in)
{
	PyObject *ret;

	switch (level) {
		case 0:
			ret = py_talloc_reference_ex(&rap_PrintDest0_Type, mem_ctx, &in->info0);
			return ret;

		case 1:
			ret = py_talloc_reference_ex(&rap_PrintDest1_Type, mem_ctx, &in->info1);
			return ret;

		case 2:
			ret = py_talloc_reference_ex(&rap_PrintDest2_Type, mem_ctx, &in->info2);
			return ret;

		case 3:
			ret = py_talloc_reference_ex(&rap_PrintDest3_Type, mem_ctx, &in->info3);
			return ret;

	}
	PyErr_SetString(PyExc_TypeError, "unknown union level");
	return NULL;
}

union rap_printdest_info *py_export_rap_printdest_info(TALLOC_CTX *mem_ctx, int level, PyObject *in)
{
	union rap_printdest_info *ret = talloc_zero(mem_ctx, union rap_printdest_info);
	switch (level) {
		case 0:
			PY_CHECK_TYPE(&rap_PrintDest0_Type, in, talloc_free(ret); return NULL;);
			if (talloc_reference(mem_ctx, py_talloc_get_mem_ctx(in)) == NULL) {
				PyErr_NoMemory();
				talloc_free(ret); return NULL;
			}
			ret->info0 = *(struct rap_PrintDest0 *)py_talloc_get_ptr(in);
			break;

		case 1:
			PY_CHECK_TYPE(&rap_PrintDest1_Type, in, talloc_free(ret); return NULL;);
			if (talloc_reference(mem_ctx, py_talloc_get_mem_ctx(in)) == NULL) {
				PyErr_NoMemory();
				talloc_free(ret); return NULL;
			}
			ret->info1 = *(struct rap_PrintDest1 *)py_talloc_get_ptr(in);
			break;

		case 2:
			PY_CHECK_TYPE(&rap_PrintDest2_Type, in, talloc_free(ret); return NULL;);
			if (talloc_reference(mem_ctx, py_talloc_get_mem_ctx(in)) == NULL) {
				PyErr_NoMemory();
				talloc_free(ret); return NULL;
			}
			ret->info2 = *(struct rap_PrintDest2 *)py_talloc_get_ptr(in);
			break;

		case 3:
			PY_CHECK_TYPE(&rap_PrintDest3_Type, in, talloc_free(ret); return NULL;);
			if (talloc_reference(mem_ctx, py_talloc_get_mem_ctx(in)) == NULL) {
				PyErr_NoMemory();
				talloc_free(ret); return NULL;
			}
			ret->info3 = *(struct rap_PrintDest3 *)py_talloc_get_ptr(in);
			break;

		default:
			PyErr_SetString(PyExc_TypeError, "invalid union level value");
			talloc_free(ret);
			ret = NULL;
	}

	return ret;
}


static PyObject *py_rap_NetUserInfo0_get_Name(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo0 *object = (struct rap_NetUserInfo0 *)py_talloc_get_ptr(obj);
	PyObject *py_Name;
	if (object->Name == NULL) {
		py_Name = Py_None;
		Py_INCREF(py_Name);
	} else {
		py_Name = PyUnicode_Decode(object->Name, strlen(object->Name), "utf-8", "ignore");
	}
	return py_Name;
}

static int py_rap_NetUserInfo0_set_Name(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo0 *object = (struct rap_NetUserInfo0 *)py_talloc_get_ptr(py_obj);
	if (PyUnicode_Check(value)) {
		object->Name = PyString_AS_STRING(PyUnicode_AsEncodedString(value, "utf-8", "ignore"));
	} else if (PyString_Check(value)) {
		object->Name = PyString_AS_STRING(value);
	} else {
		PyErr_Format(PyExc_TypeError, "Expected string or unicode object, got %s", Py_TYPE(value)->tp_name);
		return -1;
	}
	return 0;
}

static PyGetSetDef py_rap_NetUserInfo0_getsetters[] = {
	{ discard_const_p(char, "Name"), py_rap_NetUserInfo0_get_Name, py_rap_NetUserInfo0_set_Name },
	{ NULL }
};

static PyObject *py_rap_NetUserInfo0_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
{
	return py_talloc_new(struct rap_NetUserInfo0, type);
}


static PyTypeObject rap_NetUserInfo0_Type = {
	PyObject_HEAD_INIT(NULL) 0,
	.tp_name = "rap.NetUserInfo0",
	.tp_getset = py_rap_NetUserInfo0_getsetters,
	.tp_methods = NULL,
	.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
	.tp_basicsize = sizeof(py_talloc_Object),
	.tp_new = py_rap_NetUserInfo0_new,
};


static PyObject *py_rap_NetUserInfo1_get_Name(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo1 *object = (struct rap_NetUserInfo1 *)py_talloc_get_ptr(obj);
	PyObject *py_Name;
	if (object->Name == NULL) {
		py_Name = Py_None;
		Py_INCREF(py_Name);
	} else {
		py_Name = PyUnicode_Decode(object->Name, strlen(object->Name), "utf-8", "ignore");
	}
	return py_Name;
}

static int py_rap_NetUserInfo1_set_Name(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo1 *object = (struct rap_NetUserInfo1 *)py_talloc_get_ptr(py_obj);
	if (PyUnicode_Check(value)) {
		object->Name = PyString_AS_STRING(PyUnicode_AsEncodedString(value, "utf-8", "ignore"));
	} else if (PyString_Check(value)) {
		object->Name = PyString_AS_STRING(value);
	} else {
		PyErr_Format(PyExc_TypeError, "Expected string or unicode object, got %s", Py_TYPE(value)->tp_name);
		return -1;
	}
	return 0;
}

static PyObject *py_rap_NetUserInfo1_get_Pad(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo1 *object = (struct rap_NetUserInfo1 *)py_talloc_get_ptr(obj);
	PyObject *py_Pad;
	py_Pad = PyInt_FromLong(object->Pad);
	return py_Pad;
}

static int py_rap_NetUserInfo1_set_Pad(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo1 *object = (struct rap_NetUserInfo1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->Pad = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo1_get_Password(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo1 *object = (struct rap_NetUserInfo1 *)py_talloc_get_ptr(obj);
	PyObject *py_Password;
	py_Password = PyList_New(16);
	if (py_Password == NULL) {
		return NULL;
	}
	{
		int Password_cntr_0;
		for (Password_cntr_0 = 0; Password_cntr_0 < 16; Password_cntr_0++) {
			PyObject *py_Password_0;
			py_Password_0 = PyInt_FromLong(object->Password[Password_cntr_0]);
			PyList_SetItem(py_Password, Password_cntr_0, py_Password_0);
		}
	}
	return py_Password;
}

static int py_rap_NetUserInfo1_set_Password(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo1 *object = (struct rap_NetUserInfo1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyList_Type, value, return -1;);
	{
		int Password_cntr_0;
		for (Password_cntr_0 = 0; Password_cntr_0 < PyList_GET_SIZE(value); Password_cntr_0++) {
			PY_CHECK_TYPE(&PyInt_Type, PyList_GET_ITEM(value, Password_cntr_0), return -1;);
			object->Password[Password_cntr_0] = PyInt_AsLong(PyList_GET_ITEM(value, Password_cntr_0));
		}
	}
	return 0;
}

static PyObject *py_rap_NetUserInfo1_get_PasswordAge(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo1 *object = (struct rap_NetUserInfo1 *)py_talloc_get_ptr(obj);
	PyObject *py_PasswordAge;
	py_PasswordAge = PyInt_FromLong(object->PasswordAge);
	return py_PasswordAge;
}

static int py_rap_NetUserInfo1_set_PasswordAge(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo1 *object = (struct rap_NetUserInfo1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->PasswordAge = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo1_get_Priv(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo1 *object = (struct rap_NetUserInfo1 *)py_talloc_get_ptr(obj);
	PyObject *py_Priv;
	py_Priv = PyInt_FromLong(object->Priv);
	return py_Priv;
}

static int py_rap_NetUserInfo1_set_Priv(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo1 *object = (struct rap_NetUserInfo1 *)py_talloc_get_ptr(py_obj);
	if (PyLong_Check(value)) {
		object->Priv = PyLong_AsLongLong(value);
	} else if (PyInt_Check(value)) {
		object->Priv = PyInt_AsLong(value);
	} else {
		PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
		  PyInt_Type.tp_name, PyLong_Type.tp_name);
		return -1;
	}
	return 0;
}

static PyObject *py_rap_NetUserInfo1_get_HomeDir(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo1 *object = (struct rap_NetUserInfo1 *)py_talloc_get_ptr(obj);
	PyObject *py_HomeDir;
	if (object->HomeDir == NULL) {
		py_HomeDir = Py_None;
		Py_INCREF(py_HomeDir);
	} else {
		py_HomeDir = PyString_FromStringOrNULL(object->HomeDir);
	}
	return py_HomeDir;
}

static int py_rap_NetUserInfo1_set_HomeDir(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo1 *object = (struct rap_NetUserInfo1 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->HomeDir = NULL;
	} else {
		object->HomeDir = NULL;
		object->HomeDir = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_NetUserInfo1_get_HomeDirHigh(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo1 *object = (struct rap_NetUserInfo1 *)py_talloc_get_ptr(obj);
	PyObject *py_HomeDirHigh;
	py_HomeDirHigh = PyInt_FromLong(object->HomeDirHigh);
	return py_HomeDirHigh;
}

static int py_rap_NetUserInfo1_set_HomeDirHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo1 *object = (struct rap_NetUserInfo1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->HomeDirHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo1_get_Comment(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo1 *object = (struct rap_NetUserInfo1 *)py_talloc_get_ptr(obj);
	PyObject *py_Comment;
	if (object->Comment == NULL) {
		py_Comment = Py_None;
		Py_INCREF(py_Comment);
	} else {
		py_Comment = PyString_FromStringOrNULL(object->Comment);
	}
	return py_Comment;
}

static int py_rap_NetUserInfo1_set_Comment(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo1 *object = (struct rap_NetUserInfo1 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->Comment = NULL;
	} else {
		object->Comment = NULL;
		object->Comment = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_NetUserInfo1_get_CommentHigh(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo1 *object = (struct rap_NetUserInfo1 *)py_talloc_get_ptr(obj);
	PyObject *py_CommentHigh;
	py_CommentHigh = PyInt_FromLong(object->CommentHigh);
	return py_CommentHigh;
}

static int py_rap_NetUserInfo1_set_CommentHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo1 *object = (struct rap_NetUserInfo1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->CommentHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo1_get_Flags(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo1 *object = (struct rap_NetUserInfo1 *)py_talloc_get_ptr(obj);
	PyObject *py_Flags;
	py_Flags = PyInt_FromLong(object->Flags);
	return py_Flags;
}

static int py_rap_NetUserInfo1_set_Flags(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo1 *object = (struct rap_NetUserInfo1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->Flags = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo1_get_ScriptPath(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo1 *object = (struct rap_NetUserInfo1 *)py_talloc_get_ptr(obj);
	PyObject *py_ScriptPath;
	if (object->ScriptPath == NULL) {
		py_ScriptPath = Py_None;
		Py_INCREF(py_ScriptPath);
	} else {
		py_ScriptPath = PyString_FromStringOrNULL(object->ScriptPath);
	}
	return py_ScriptPath;
}

static int py_rap_NetUserInfo1_set_ScriptPath(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo1 *object = (struct rap_NetUserInfo1 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->ScriptPath = NULL;
	} else {
		object->ScriptPath = NULL;
		object->ScriptPath = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_NetUserInfo1_get_ScriptPathHigh(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo1 *object = (struct rap_NetUserInfo1 *)py_talloc_get_ptr(obj);
	PyObject *py_ScriptPathHigh;
	py_ScriptPathHigh = PyInt_FromLong(object->ScriptPathHigh);
	return py_ScriptPathHigh;
}

static int py_rap_NetUserInfo1_set_ScriptPathHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo1 *object = (struct rap_NetUserInfo1 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->ScriptPathHigh = PyInt_AsLong(value);
	return 0;
}

static PyGetSetDef py_rap_NetUserInfo1_getsetters[] = {
	{ discard_const_p(char, "Name"), py_rap_NetUserInfo1_get_Name, py_rap_NetUserInfo1_set_Name },
	{ discard_const_p(char, "Pad"), py_rap_NetUserInfo1_get_Pad, py_rap_NetUserInfo1_set_Pad },
	{ discard_const_p(char, "Password"), py_rap_NetUserInfo1_get_Password, py_rap_NetUserInfo1_set_Password },
	{ discard_const_p(char, "PasswordAge"), py_rap_NetUserInfo1_get_PasswordAge, py_rap_NetUserInfo1_set_PasswordAge },
	{ discard_const_p(char, "Priv"), py_rap_NetUserInfo1_get_Priv, py_rap_NetUserInfo1_set_Priv },
	{ discard_const_p(char, "HomeDir"), py_rap_NetUserInfo1_get_HomeDir, py_rap_NetUserInfo1_set_HomeDir },
	{ discard_const_p(char, "HomeDirHigh"), py_rap_NetUserInfo1_get_HomeDirHigh, py_rap_NetUserInfo1_set_HomeDirHigh },
	{ discard_const_p(char, "Comment"), py_rap_NetUserInfo1_get_Comment, py_rap_NetUserInfo1_set_Comment },
	{ discard_const_p(char, "CommentHigh"), py_rap_NetUserInfo1_get_CommentHigh, py_rap_NetUserInfo1_set_CommentHigh },
	{ discard_const_p(char, "Flags"), py_rap_NetUserInfo1_get_Flags, py_rap_NetUserInfo1_set_Flags },
	{ discard_const_p(char, "ScriptPath"), py_rap_NetUserInfo1_get_ScriptPath, py_rap_NetUserInfo1_set_ScriptPath },
	{ discard_const_p(char, "ScriptPathHigh"), py_rap_NetUserInfo1_get_ScriptPathHigh, py_rap_NetUserInfo1_set_ScriptPathHigh },
	{ NULL }
};

static PyObject *py_rap_NetUserInfo1_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
{
	return py_talloc_new(struct rap_NetUserInfo1, type);
}


static PyTypeObject rap_NetUserInfo1_Type = {
	PyObject_HEAD_INIT(NULL) 0,
	.tp_name = "rap.NetUserInfo1",
	.tp_getset = py_rap_NetUserInfo1_getsetters,
	.tp_methods = NULL,
	.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
	.tp_basicsize = sizeof(py_talloc_Object),
	.tp_new = py_rap_NetUserInfo1_new,
};


static PyObject *py_rap_LogonHours_get_LogonHours(PyObject *obj, void *closure)
{
	struct rap_LogonHours *object = (struct rap_LogonHours *)py_talloc_get_ptr(obj);
	PyObject *py_LogonHours;
	py_LogonHours = PyList_New(21);
	if (py_LogonHours == NULL) {
		return NULL;
	}
	{
		int LogonHours_cntr_0;
		for (LogonHours_cntr_0 = 0; LogonHours_cntr_0 < 21; LogonHours_cntr_0++) {
			PyObject *py_LogonHours_0;
			py_LogonHours_0 = PyInt_FromLong(object->LogonHours[LogonHours_cntr_0]);
			PyList_SetItem(py_LogonHours, LogonHours_cntr_0, py_LogonHours_0);
		}
	}
	return py_LogonHours;
}

static int py_rap_LogonHours_set_LogonHours(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_LogonHours *object = (struct rap_LogonHours *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyList_Type, value, return -1;);
	{
		int LogonHours_cntr_0;
		for (LogonHours_cntr_0 = 0; LogonHours_cntr_0 < PyList_GET_SIZE(value); LogonHours_cntr_0++) {
			PY_CHECK_TYPE(&PyInt_Type, PyList_GET_ITEM(value, LogonHours_cntr_0), return -1;);
			object->LogonHours[LogonHours_cntr_0] = PyInt_AsLong(PyList_GET_ITEM(value, LogonHours_cntr_0));
		}
	}
	return 0;
}

static PyGetSetDef py_rap_LogonHours_getsetters[] = {
	{ discard_const_p(char, "LogonHours"), py_rap_LogonHours_get_LogonHours, py_rap_LogonHours_set_LogonHours },
	{ NULL }
};

static PyObject *py_rap_LogonHours_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
{
	return py_talloc_new(struct rap_LogonHours, type);
}

static PyObject *py_rap_LogonHours_ndr_pack(PyObject *py_obj)
{
	struct rap_LogonHours *object = (struct rap_LogonHours *)py_talloc_get_ptr(py_obj);
	DATA_BLOB blob;
	enum ndr_err_code err;
	err = ndr_push_struct_blob(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_rap_LogonHours);
	if (err != NDR_ERR_SUCCESS) {
		PyErr_SetNdrError(err);
		return NULL;
	}

	return PyString_FromStringAndSize((char *)blob.data, blob.length);
}

static PyObject *py_rap_LogonHours_ndr_unpack(PyObject *py_obj, PyObject *args)
{
	struct rap_LogonHours *object = (struct rap_LogonHours *)py_talloc_get_ptr(py_obj);
	DATA_BLOB blob;
	enum ndr_err_code err;
	if (!PyArg_ParseTuple(args, "s#:__ndr_unpack__", &blob.data, &blob.length))
		return NULL;

	err = ndr_pull_struct_blob_all(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_rap_LogonHours);
	if (err != NDR_ERR_SUCCESS) {
		PyErr_SetNdrError(err);
		return NULL;
	}

	Py_RETURN_NONE;
}

static PyObject *py_rap_LogonHours_ndr_print(PyObject *py_obj)
{
	struct rap_LogonHours *object = (struct rap_LogonHours *)py_talloc_get_ptr(py_obj);
	PyObject *ret;
	char *retstr;

	retstr = ndr_print_struct_string(py_talloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_rap_LogonHours, "rap_LogonHours", object);
	ret = PyString_FromString(retstr);
	talloc_free(retstr);

	return ret;
}

static PyMethodDef py_rap_LogonHours_methods[] = {
	{ "__ndr_pack__", (PyCFunction)py_rap_LogonHours_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
	{ "__ndr_unpack__", (PyCFunction)py_rap_LogonHours_ndr_unpack, METH_VARARGS, "S.ndr_unpack(class, blob) -> None\nNDR unpack" },
	{ "__ndr_print__", (PyCFunction)py_rap_LogonHours_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
	{ NULL, NULL, 0, NULL }
};


static PyTypeObject rap_LogonHours_Type = {
	PyObject_HEAD_INIT(NULL) 0,
	.tp_name = "rap.LogonHours",
	.tp_getset = py_rap_LogonHours_getsetters,
	.tp_methods = py_rap_LogonHours_methods,
	.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
	.tp_basicsize = sizeof(py_talloc_Object),
	.tp_new = py_rap_LogonHours_new,
};


static PyObject *py_rap_NetUserInfo2_get_Name(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_Name;
	if (object->Name == NULL) {
		py_Name = Py_None;
		Py_INCREF(py_Name);
	} else {
		py_Name = PyUnicode_Decode(object->Name, strlen(object->Name), "utf-8", "ignore");
	}
	return py_Name;
}

static int py_rap_NetUserInfo2_set_Name(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(py_obj);
	if (PyUnicode_Check(value)) {
		object->Name = PyString_AS_STRING(PyUnicode_AsEncodedString(value, "utf-8", "ignore"));
	} else if (PyString_Check(value)) {
		object->Name = PyString_AS_STRING(value);
	} else {
		PyErr_Format(PyExc_TypeError, "Expected string or unicode object, got %s", Py_TYPE(value)->tp_name);
		return -1;
	}
	return 0;
}

static PyObject *py_rap_NetUserInfo2_get_Pad(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_Pad;
	py_Pad = PyInt_FromLong(object->Pad);
	return py_Pad;
}

static int py_rap_NetUserInfo2_set_Pad(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->Pad = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo2_get_Password(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_Password;
	py_Password = PyList_New(16);
	if (py_Password == NULL) {
		return NULL;
	}
	{
		int Password_cntr_0;
		for (Password_cntr_0 = 0; Password_cntr_0 < 16; Password_cntr_0++) {
			PyObject *py_Password_0;
			py_Password_0 = PyInt_FromLong(object->Password[Password_cntr_0]);
			PyList_SetItem(py_Password, Password_cntr_0, py_Password_0);
		}
	}
	return py_Password;
}

static int py_rap_NetUserInfo2_set_Password(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyList_Type, value, return -1;);
	{
		int Password_cntr_0;
		for (Password_cntr_0 = 0; Password_cntr_0 < PyList_GET_SIZE(value); Password_cntr_0++) {
			PY_CHECK_TYPE(&PyInt_Type, PyList_GET_ITEM(value, Password_cntr_0), return -1;);
			object->Password[Password_cntr_0] = PyInt_AsLong(PyList_GET_ITEM(value, Password_cntr_0));
		}
	}
	return 0;
}

static PyObject *py_rap_NetUserInfo2_get_PasswordAge(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_PasswordAge;
	py_PasswordAge = PyInt_FromLong(object->PasswordAge);
	return py_PasswordAge;
}

static int py_rap_NetUserInfo2_set_PasswordAge(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->PasswordAge = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo2_get_Priv(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_Priv;
	py_Priv = PyInt_FromLong(object->Priv);
	return py_Priv;
}

static int py_rap_NetUserInfo2_set_Priv(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(py_obj);
	if (PyLong_Check(value)) {
		object->Priv = PyLong_AsLongLong(value);
	} else if (PyInt_Check(value)) {
		object->Priv = PyInt_AsLong(value);
	} else {
		PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
		  PyInt_Type.tp_name, PyLong_Type.tp_name);
		return -1;
	}
	return 0;
}

static PyObject *py_rap_NetUserInfo2_get_HomeDir(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_HomeDir;
	if (object->HomeDir == NULL) {
		py_HomeDir = Py_None;
		Py_INCREF(py_HomeDir);
	} else {
		py_HomeDir = PyString_FromStringOrNULL(object->HomeDir);
	}
	return py_HomeDir;
}

static int py_rap_NetUserInfo2_set_HomeDir(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->HomeDir = NULL;
	} else {
		object->HomeDir = NULL;
		object->HomeDir = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_NetUserInfo2_get_HomeDirHigh(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_HomeDirHigh;
	py_HomeDirHigh = PyInt_FromLong(object->HomeDirHigh);
	return py_HomeDirHigh;
}

static int py_rap_NetUserInfo2_set_HomeDirHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->HomeDirHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo2_get_Comment(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_Comment;
	if (object->Comment == NULL) {
		py_Comment = Py_None;
		Py_INCREF(py_Comment);
	} else {
		py_Comment = PyString_FromStringOrNULL(object->Comment);
	}
	return py_Comment;
}

static int py_rap_NetUserInfo2_set_Comment(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->Comment = NULL;
	} else {
		object->Comment = NULL;
		object->Comment = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_NetUserInfo2_get_CommentHigh(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_CommentHigh;
	py_CommentHigh = PyInt_FromLong(object->CommentHigh);
	return py_CommentHigh;
}

static int py_rap_NetUserInfo2_set_CommentHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->CommentHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo2_get_Flags(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_Flags;
	py_Flags = PyInt_FromLong(object->Flags);
	return py_Flags;
}

static int py_rap_NetUserInfo2_set_Flags(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->Flags = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo2_get_ScriptPath(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_ScriptPath;
	if (object->ScriptPath == NULL) {
		py_ScriptPath = Py_None;
		Py_INCREF(py_ScriptPath);
	} else {
		py_ScriptPath = PyString_FromStringOrNULL(object->ScriptPath);
	}
	return py_ScriptPath;
}

static int py_rap_NetUserInfo2_set_ScriptPath(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->ScriptPath = NULL;
	} else {
		object->ScriptPath = NULL;
		object->ScriptPath = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_NetUserInfo2_get_ScriptPathHigh(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_ScriptPathHigh;
	py_ScriptPathHigh = PyInt_FromLong(object->ScriptPathHigh);
	return py_ScriptPathHigh;
}

static int py_rap_NetUserInfo2_set_ScriptPathHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->ScriptPathHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo2_get_AuthFlags(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_AuthFlags;
	py_AuthFlags = PyInt_FromLong(object->AuthFlags);
	return py_AuthFlags;
}

static int py_rap_NetUserInfo2_set_AuthFlags(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(py_obj);
	if (PyLong_Check(value)) {
		object->AuthFlags = PyLong_AsLongLong(value);
	} else if (PyInt_Check(value)) {
		object->AuthFlags = PyInt_AsLong(value);
	} else {
		PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
		  PyInt_Type.tp_name, PyLong_Type.tp_name);
		return -1;
	}
	return 0;
}

static PyObject *py_rap_NetUserInfo2_get_FullName(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_FullName;
	if (object->FullName == NULL) {
		py_FullName = Py_None;
		Py_INCREF(py_FullName);
	} else {
		py_FullName = PyString_FromStringOrNULL(object->FullName);
	}
	return py_FullName;
}

static int py_rap_NetUserInfo2_set_FullName(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->FullName = NULL;
	} else {
		object->FullName = NULL;
		object->FullName = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_NetUserInfo2_get_FullNameHigh(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_FullNameHigh;
	py_FullNameHigh = PyInt_FromLong(object->FullNameHigh);
	return py_FullNameHigh;
}

static int py_rap_NetUserInfo2_set_FullNameHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->FullNameHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo2_get_UsrComment(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_UsrComment;
	if (object->UsrComment == NULL) {
		py_UsrComment = Py_None;
		Py_INCREF(py_UsrComment);
	} else {
		py_UsrComment = PyString_FromStringOrNULL(object->UsrComment);
	}
	return py_UsrComment;
}

static int py_rap_NetUserInfo2_set_UsrComment(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->UsrComment = NULL;
	} else {
		object->UsrComment = NULL;
		object->UsrComment = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_NetUserInfo2_get_UsrCommentHigh(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_UsrCommentHigh;
	py_UsrCommentHigh = PyInt_FromLong(object->UsrCommentHigh);
	return py_UsrCommentHigh;
}

static int py_rap_NetUserInfo2_set_UsrCommentHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->UsrCommentHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo2_get_pParms(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_pParms;
	if (object->pParms == NULL) {
		py_pParms = Py_None;
		Py_INCREF(py_pParms);
	} else {
		py_pParms = PyString_FromStringOrNULL(object->pParms);
	}
	return py_pParms;
}

static int py_rap_NetUserInfo2_set_pParms(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->pParms = NULL;
	} else {
		object->pParms = NULL;
		object->pParms = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_NetUserInfo2_get_pParmsHigh(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_pParmsHigh;
	py_pParmsHigh = PyInt_FromLong(object->pParmsHigh);
	return py_pParmsHigh;
}

static int py_rap_NetUserInfo2_set_pParmsHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->pParmsHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo2_get_WorkStations(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_WorkStations;
	if (object->WorkStations == NULL) {
		py_WorkStations = Py_None;
		Py_INCREF(py_WorkStations);
	} else {
		py_WorkStations = PyString_FromStringOrNULL(object->WorkStations);
	}
	return py_WorkStations;
}

static int py_rap_NetUserInfo2_set_WorkStations(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->WorkStations = NULL;
	} else {
		object->WorkStations = NULL;
		object->WorkStations = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_NetUserInfo2_get_WorkStationsHigh(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_WorkStationsHigh;
	py_WorkStationsHigh = PyInt_FromLong(object->WorkStationsHigh);
	return py_WorkStationsHigh;
}

static int py_rap_NetUserInfo2_set_WorkStationsHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->WorkStationsHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo2_get_LastLogon(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_LastLogon;
	py_LastLogon = PyInt_FromLong(object->LastLogon);
	return py_LastLogon;
}

static int py_rap_NetUserInfo2_set_LastLogon(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->LastLogon = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo2_get_LastLogOff(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_LastLogOff;
	py_LastLogOff = PyInt_FromLong(object->LastLogOff);
	return py_LastLogOff;
}

static int py_rap_NetUserInfo2_set_LastLogOff(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->LastLogOff = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo2_get_AcctExpires(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_AcctExpires;
	py_AcctExpires = PyInt_FromLong(object->AcctExpires);
	return py_AcctExpires;
}

static int py_rap_NetUserInfo2_set_AcctExpires(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->AcctExpires = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo2_get_MaxStorage(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_MaxStorage;
	py_MaxStorage = PyInt_FromLong(object->MaxStorage);
	return py_MaxStorage;
}

static int py_rap_NetUserInfo2_set_MaxStorage(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->MaxStorage = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo2_get_UnitsPerWeek(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_UnitsPerWeek;
	py_UnitsPerWeek = PyInt_FromLong(object->UnitsPerWeek);
	return py_UnitsPerWeek;
}

static int py_rap_NetUserInfo2_set_UnitsPerWeek(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->UnitsPerWeek = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo2_get_LogonHours(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_LogonHours;
	if (object->LogonHours == NULL) {
		py_LogonHours = Py_None;
		Py_INCREF(py_LogonHours);
	} else {
		py_LogonHours = py_talloc_reference_ex(&rap_LogonHours_Type, object->LogonHours, object->LogonHours);
	}
	return py_LogonHours;
}

static int py_rap_NetUserInfo2_set_LogonHours(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(py_obj);
	talloc_unlink(py_talloc_get_mem_ctx(py_obj), object->LogonHours);
	if (value == Py_None) {
		object->LogonHours = NULL;
	} else {
		object->LogonHours = NULL;
		PY_CHECK_TYPE(&rap_LogonHours_Type, value, return -1;);
		if (talloc_reference(py_talloc_get_mem_ctx(py_obj), py_talloc_get_mem_ctx(value)) == NULL) {
			PyErr_NoMemory();
			return -1;
		}
		object->LogonHours = (struct rap_LogonHours *)py_talloc_get_ptr(value);
	}
	return 0;
}

static PyObject *py_rap_NetUserInfo2_get_LogonHoursHigh(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_LogonHoursHigh;
	py_LogonHoursHigh = PyInt_FromLong(object->LogonHoursHigh);
	return py_LogonHoursHigh;
}

static int py_rap_NetUserInfo2_set_LogonHoursHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->LogonHoursHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo2_get_BadPwCount(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_BadPwCount;
	py_BadPwCount = PyInt_FromLong(object->BadPwCount);
	return py_BadPwCount;
}

static int py_rap_NetUserInfo2_set_BadPwCount(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->BadPwCount = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo2_get_NumLogons(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_NumLogons;
	py_NumLogons = PyInt_FromLong(object->NumLogons);
	return py_NumLogons;
}

static int py_rap_NetUserInfo2_set_NumLogons(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->NumLogons = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo2_get_LogonServer(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_LogonServer;
	if (object->LogonServer == NULL) {
		py_LogonServer = Py_None;
		Py_INCREF(py_LogonServer);
	} else {
		py_LogonServer = PyString_FromStringOrNULL(object->LogonServer);
	}
	return py_LogonServer;
}

static int py_rap_NetUserInfo2_set_LogonServer(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->LogonServer = NULL;
	} else {
		object->LogonServer = NULL;
		object->LogonServer = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_NetUserInfo2_get_LogonServerHigh(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_LogonServerHigh;
	py_LogonServerHigh = PyInt_FromLong(object->LogonServerHigh);
	return py_LogonServerHigh;
}

static int py_rap_NetUserInfo2_set_LogonServerHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->LogonServerHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo2_get_CountryCode(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_CountryCode;
	py_CountryCode = PyInt_FromLong(object->CountryCode);
	return py_CountryCode;
}

static int py_rap_NetUserInfo2_set_CountryCode(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->CountryCode = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo2_get_CodePage(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(obj);
	PyObject *py_CodePage;
	py_CodePage = PyInt_FromLong(object->CodePage);
	return py_CodePage;
}

static int py_rap_NetUserInfo2_set_CodePage(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo2 *object = (struct rap_NetUserInfo2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->CodePage = PyInt_AsLong(value);
	return 0;
}

static PyGetSetDef py_rap_NetUserInfo2_getsetters[] = {
	{ discard_const_p(char, "Name"), py_rap_NetUserInfo2_get_Name, py_rap_NetUserInfo2_set_Name },
	{ discard_const_p(char, "Pad"), py_rap_NetUserInfo2_get_Pad, py_rap_NetUserInfo2_set_Pad },
	{ discard_const_p(char, "Password"), py_rap_NetUserInfo2_get_Password, py_rap_NetUserInfo2_set_Password },
	{ discard_const_p(char, "PasswordAge"), py_rap_NetUserInfo2_get_PasswordAge, py_rap_NetUserInfo2_set_PasswordAge },
	{ discard_const_p(char, "Priv"), py_rap_NetUserInfo2_get_Priv, py_rap_NetUserInfo2_set_Priv },
	{ discard_const_p(char, "HomeDir"), py_rap_NetUserInfo2_get_HomeDir, py_rap_NetUserInfo2_set_HomeDir },
	{ discard_const_p(char, "HomeDirHigh"), py_rap_NetUserInfo2_get_HomeDirHigh, py_rap_NetUserInfo2_set_HomeDirHigh },
	{ discard_const_p(char, "Comment"), py_rap_NetUserInfo2_get_Comment, py_rap_NetUserInfo2_set_Comment },
	{ discard_const_p(char, "CommentHigh"), py_rap_NetUserInfo2_get_CommentHigh, py_rap_NetUserInfo2_set_CommentHigh },
	{ discard_const_p(char, "Flags"), py_rap_NetUserInfo2_get_Flags, py_rap_NetUserInfo2_set_Flags },
	{ discard_const_p(char, "ScriptPath"), py_rap_NetUserInfo2_get_ScriptPath, py_rap_NetUserInfo2_set_ScriptPath },
	{ discard_const_p(char, "ScriptPathHigh"), py_rap_NetUserInfo2_get_ScriptPathHigh, py_rap_NetUserInfo2_set_ScriptPathHigh },
	{ discard_const_p(char, "AuthFlags"), py_rap_NetUserInfo2_get_AuthFlags, py_rap_NetUserInfo2_set_AuthFlags },
	{ discard_const_p(char, "FullName"), py_rap_NetUserInfo2_get_FullName, py_rap_NetUserInfo2_set_FullName },
	{ discard_const_p(char, "FullNameHigh"), py_rap_NetUserInfo2_get_FullNameHigh, py_rap_NetUserInfo2_set_FullNameHigh },
	{ discard_const_p(char, "UsrComment"), py_rap_NetUserInfo2_get_UsrComment, py_rap_NetUserInfo2_set_UsrComment },
	{ discard_const_p(char, "UsrCommentHigh"), py_rap_NetUserInfo2_get_UsrCommentHigh, py_rap_NetUserInfo2_set_UsrCommentHigh },
	{ discard_const_p(char, "pParms"), py_rap_NetUserInfo2_get_pParms, py_rap_NetUserInfo2_set_pParms },
	{ discard_const_p(char, "pParmsHigh"), py_rap_NetUserInfo2_get_pParmsHigh, py_rap_NetUserInfo2_set_pParmsHigh },
	{ discard_const_p(char, "WorkStations"), py_rap_NetUserInfo2_get_WorkStations, py_rap_NetUserInfo2_set_WorkStations },
	{ discard_const_p(char, "WorkStationsHigh"), py_rap_NetUserInfo2_get_WorkStationsHigh, py_rap_NetUserInfo2_set_WorkStationsHigh },
	{ discard_const_p(char, "LastLogon"), py_rap_NetUserInfo2_get_LastLogon, py_rap_NetUserInfo2_set_LastLogon },
	{ discard_const_p(char, "LastLogOff"), py_rap_NetUserInfo2_get_LastLogOff, py_rap_NetUserInfo2_set_LastLogOff },
	{ discard_const_p(char, "AcctExpires"), py_rap_NetUserInfo2_get_AcctExpires, py_rap_NetUserInfo2_set_AcctExpires },
	{ discard_const_p(char, "MaxStorage"), py_rap_NetUserInfo2_get_MaxStorage, py_rap_NetUserInfo2_set_MaxStorage },
	{ discard_const_p(char, "UnitsPerWeek"), py_rap_NetUserInfo2_get_UnitsPerWeek, py_rap_NetUserInfo2_set_UnitsPerWeek },
	{ discard_const_p(char, "LogonHours"), py_rap_NetUserInfo2_get_LogonHours, py_rap_NetUserInfo2_set_LogonHours },
	{ discard_const_p(char, "LogonHoursHigh"), py_rap_NetUserInfo2_get_LogonHoursHigh, py_rap_NetUserInfo2_set_LogonHoursHigh },
	{ discard_const_p(char, "BadPwCount"), py_rap_NetUserInfo2_get_BadPwCount, py_rap_NetUserInfo2_set_BadPwCount },
	{ discard_const_p(char, "NumLogons"), py_rap_NetUserInfo2_get_NumLogons, py_rap_NetUserInfo2_set_NumLogons },
	{ discard_const_p(char, "LogonServer"), py_rap_NetUserInfo2_get_LogonServer, py_rap_NetUserInfo2_set_LogonServer },
	{ discard_const_p(char, "LogonServerHigh"), py_rap_NetUserInfo2_get_LogonServerHigh, py_rap_NetUserInfo2_set_LogonServerHigh },
	{ discard_const_p(char, "CountryCode"), py_rap_NetUserInfo2_get_CountryCode, py_rap_NetUserInfo2_set_CountryCode },
	{ discard_const_p(char, "CodePage"), py_rap_NetUserInfo2_get_CodePage, py_rap_NetUserInfo2_set_CodePage },
	{ NULL }
};

static PyObject *py_rap_NetUserInfo2_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
{
	return py_talloc_new(struct rap_NetUserInfo2, type);
}


static PyTypeObject rap_NetUserInfo2_Type = {
	PyObject_HEAD_INIT(NULL) 0,
	.tp_name = "rap.NetUserInfo2",
	.tp_getset = py_rap_NetUserInfo2_getsetters,
	.tp_methods = NULL,
	.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
	.tp_basicsize = sizeof(py_talloc_Object),
	.tp_new = py_rap_NetUserInfo2_new,
};


static PyObject *py_rap_NetUserInfo10_get_Name(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo10 *object = (struct rap_NetUserInfo10 *)py_talloc_get_ptr(obj);
	PyObject *py_Name;
	if (object->Name == NULL) {
		py_Name = Py_None;
		Py_INCREF(py_Name);
	} else {
		py_Name = PyUnicode_Decode(object->Name, strlen(object->Name), "utf-8", "ignore");
	}
	return py_Name;
}

static int py_rap_NetUserInfo10_set_Name(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo10 *object = (struct rap_NetUserInfo10 *)py_talloc_get_ptr(py_obj);
	if (PyUnicode_Check(value)) {
		object->Name = PyString_AS_STRING(PyUnicode_AsEncodedString(value, "utf-8", "ignore"));
	} else if (PyString_Check(value)) {
		object->Name = PyString_AS_STRING(value);
	} else {
		PyErr_Format(PyExc_TypeError, "Expected string or unicode object, got %s", Py_TYPE(value)->tp_name);
		return -1;
	}
	return 0;
}

static PyObject *py_rap_NetUserInfo10_get_Pad(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo10 *object = (struct rap_NetUserInfo10 *)py_talloc_get_ptr(obj);
	PyObject *py_Pad;
	py_Pad = PyInt_FromLong(object->Pad);
	return py_Pad;
}

static int py_rap_NetUserInfo10_set_Pad(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo10 *object = (struct rap_NetUserInfo10 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->Pad = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo10_get_Comment(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo10 *object = (struct rap_NetUserInfo10 *)py_talloc_get_ptr(obj);
	PyObject *py_Comment;
	if (object->Comment == NULL) {
		py_Comment = Py_None;
		Py_INCREF(py_Comment);
	} else {
		py_Comment = PyString_FromStringOrNULL(object->Comment);
	}
	return py_Comment;
}

static int py_rap_NetUserInfo10_set_Comment(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo10 *object = (struct rap_NetUserInfo10 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->Comment = NULL;
	} else {
		object->Comment = NULL;
		object->Comment = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_NetUserInfo10_get_CommentHigh(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo10 *object = (struct rap_NetUserInfo10 *)py_talloc_get_ptr(obj);
	PyObject *py_CommentHigh;
	py_CommentHigh = PyInt_FromLong(object->CommentHigh);
	return py_CommentHigh;
}

static int py_rap_NetUserInfo10_set_CommentHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo10 *object = (struct rap_NetUserInfo10 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->CommentHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo10_get_UsrComment(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo10 *object = (struct rap_NetUserInfo10 *)py_talloc_get_ptr(obj);
	PyObject *py_UsrComment;
	if (object->UsrComment == NULL) {
		py_UsrComment = Py_None;
		Py_INCREF(py_UsrComment);
	} else {
		py_UsrComment = PyString_FromStringOrNULL(object->UsrComment);
	}
	return py_UsrComment;
}

static int py_rap_NetUserInfo10_set_UsrComment(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo10 *object = (struct rap_NetUserInfo10 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->UsrComment = NULL;
	} else {
		object->UsrComment = NULL;
		object->UsrComment = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_NetUserInfo10_get_UsrCommentHigh(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo10 *object = (struct rap_NetUserInfo10 *)py_talloc_get_ptr(obj);
	PyObject *py_UsrCommentHigh;
	py_UsrCommentHigh = PyInt_FromLong(object->UsrCommentHigh);
	return py_UsrCommentHigh;
}

static int py_rap_NetUserInfo10_set_UsrCommentHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo10 *object = (struct rap_NetUserInfo10 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->UsrCommentHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo10_get_FullName(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo10 *object = (struct rap_NetUserInfo10 *)py_talloc_get_ptr(obj);
	PyObject *py_FullName;
	if (object->FullName == NULL) {
		py_FullName = Py_None;
		Py_INCREF(py_FullName);
	} else {
		py_FullName = PyString_FromStringOrNULL(object->FullName);
	}
	return py_FullName;
}

static int py_rap_NetUserInfo10_set_FullName(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo10 *object = (struct rap_NetUserInfo10 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->FullName = NULL;
	} else {
		object->FullName = NULL;
		object->FullName = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_NetUserInfo10_get_FullNameHigh(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo10 *object = (struct rap_NetUserInfo10 *)py_talloc_get_ptr(obj);
	PyObject *py_FullNameHigh;
	py_FullNameHigh = PyInt_FromLong(object->FullNameHigh);
	return py_FullNameHigh;
}

static int py_rap_NetUserInfo10_set_FullNameHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo10 *object = (struct rap_NetUserInfo10 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->FullNameHigh = PyInt_AsLong(value);
	return 0;
}

static PyGetSetDef py_rap_NetUserInfo10_getsetters[] = {
	{ discard_const_p(char, "Name"), py_rap_NetUserInfo10_get_Name, py_rap_NetUserInfo10_set_Name },
	{ discard_const_p(char, "Pad"), py_rap_NetUserInfo10_get_Pad, py_rap_NetUserInfo10_set_Pad },
	{ discard_const_p(char, "Comment"), py_rap_NetUserInfo10_get_Comment, py_rap_NetUserInfo10_set_Comment },
	{ discard_const_p(char, "CommentHigh"), py_rap_NetUserInfo10_get_CommentHigh, py_rap_NetUserInfo10_set_CommentHigh },
	{ discard_const_p(char, "UsrComment"), py_rap_NetUserInfo10_get_UsrComment, py_rap_NetUserInfo10_set_UsrComment },
	{ discard_const_p(char, "UsrCommentHigh"), py_rap_NetUserInfo10_get_UsrCommentHigh, py_rap_NetUserInfo10_set_UsrCommentHigh },
	{ discard_const_p(char, "FullName"), py_rap_NetUserInfo10_get_FullName, py_rap_NetUserInfo10_set_FullName },
	{ discard_const_p(char, "FullNameHigh"), py_rap_NetUserInfo10_get_FullNameHigh, py_rap_NetUserInfo10_set_FullNameHigh },
	{ NULL }
};

static PyObject *py_rap_NetUserInfo10_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
{
	return py_talloc_new(struct rap_NetUserInfo10, type);
}


static PyTypeObject rap_NetUserInfo10_Type = {
	PyObject_HEAD_INIT(NULL) 0,
	.tp_name = "rap.NetUserInfo10",
	.tp_getset = py_rap_NetUserInfo10_getsetters,
	.tp_methods = NULL,
	.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
	.tp_basicsize = sizeof(py_talloc_Object),
	.tp_new = py_rap_NetUserInfo10_new,
};


static PyObject *py_rap_NetUserInfo11_get_Name(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(obj);
	PyObject *py_Name;
	if (object->Name == NULL) {
		py_Name = Py_None;
		Py_INCREF(py_Name);
	} else {
		py_Name = PyUnicode_Decode(object->Name, strlen(object->Name), "utf-8", "ignore");
	}
	return py_Name;
}

static int py_rap_NetUserInfo11_set_Name(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(py_obj);
	if (PyUnicode_Check(value)) {
		object->Name = PyString_AS_STRING(PyUnicode_AsEncodedString(value, "utf-8", "ignore"));
	} else if (PyString_Check(value)) {
		object->Name = PyString_AS_STRING(value);
	} else {
		PyErr_Format(PyExc_TypeError, "Expected string or unicode object, got %s", Py_TYPE(value)->tp_name);
		return -1;
	}
	return 0;
}

static PyObject *py_rap_NetUserInfo11_get_Pad(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(obj);
	PyObject *py_Pad;
	py_Pad = PyInt_FromLong(object->Pad);
	return py_Pad;
}

static int py_rap_NetUserInfo11_set_Pad(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->Pad = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo11_get_Comment(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(obj);
	PyObject *py_Comment;
	if (object->Comment == NULL) {
		py_Comment = Py_None;
		Py_INCREF(py_Comment);
	} else {
		py_Comment = PyString_FromStringOrNULL(object->Comment);
	}
	return py_Comment;
}

static int py_rap_NetUserInfo11_set_Comment(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->Comment = NULL;
	} else {
		object->Comment = NULL;
		object->Comment = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_NetUserInfo11_get_CommentHigh(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(obj);
	PyObject *py_CommentHigh;
	py_CommentHigh = PyInt_FromLong(object->CommentHigh);
	return py_CommentHigh;
}

static int py_rap_NetUserInfo11_set_CommentHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->CommentHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo11_get_UsrComment(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(obj);
	PyObject *py_UsrComment;
	if (object->UsrComment == NULL) {
		py_UsrComment = Py_None;
		Py_INCREF(py_UsrComment);
	} else {
		py_UsrComment = PyString_FromStringOrNULL(object->UsrComment);
	}
	return py_UsrComment;
}

static int py_rap_NetUserInfo11_set_UsrComment(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->UsrComment = NULL;
	} else {
		object->UsrComment = NULL;
		object->UsrComment = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_NetUserInfo11_get_UsrCommentHigh(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(obj);
	PyObject *py_UsrCommentHigh;
	py_UsrCommentHigh = PyInt_FromLong(object->UsrCommentHigh);
	return py_UsrCommentHigh;
}

static int py_rap_NetUserInfo11_set_UsrCommentHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->UsrCommentHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo11_get_FullName(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(obj);
	PyObject *py_FullName;
	if (object->FullName == NULL) {
		py_FullName = Py_None;
		Py_INCREF(py_FullName);
	} else {
		py_FullName = PyString_FromStringOrNULL(object->FullName);
	}
	return py_FullName;
}

static int py_rap_NetUserInfo11_set_FullName(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->FullName = NULL;
	} else {
		object->FullName = NULL;
		object->FullName = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_NetUserInfo11_get_FullNameHigh(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(obj);
	PyObject *py_FullNameHigh;
	py_FullNameHigh = PyInt_FromLong(object->FullNameHigh);
	return py_FullNameHigh;
}

static int py_rap_NetUserInfo11_set_FullNameHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->FullNameHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo11_get_Priv(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(obj);
	PyObject *py_Priv;
	py_Priv = PyInt_FromLong(object->Priv);
	return py_Priv;
}

static int py_rap_NetUserInfo11_set_Priv(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(py_obj);
	if (PyLong_Check(value)) {
		object->Priv = PyLong_AsLongLong(value);
	} else if (PyInt_Check(value)) {
		object->Priv = PyInt_AsLong(value);
	} else {
		PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
		  PyInt_Type.tp_name, PyLong_Type.tp_name);
		return -1;
	}
	return 0;
}

static PyObject *py_rap_NetUserInfo11_get_AuthFlags(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(obj);
	PyObject *py_AuthFlags;
	py_AuthFlags = PyInt_FromLong(object->AuthFlags);
	return py_AuthFlags;
}

static int py_rap_NetUserInfo11_set_AuthFlags(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(py_obj);
	if (PyLong_Check(value)) {
		object->AuthFlags = PyLong_AsLongLong(value);
	} else if (PyInt_Check(value)) {
		object->AuthFlags = PyInt_AsLong(value);
	} else {
		PyErr_Format(PyExc_TypeError, "Expected type %s or %s",\
		  PyInt_Type.tp_name, PyLong_Type.tp_name);
		return -1;
	}
	return 0;
}

static PyObject *py_rap_NetUserInfo11_get_PasswordAge(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(obj);
	PyObject *py_PasswordAge;
	py_PasswordAge = PyInt_FromLong(object->PasswordAge);
	return py_PasswordAge;
}

static int py_rap_NetUserInfo11_set_PasswordAge(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->PasswordAge = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo11_get_HomeDir(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(obj);
	PyObject *py_HomeDir;
	if (object->HomeDir == NULL) {
		py_HomeDir = Py_None;
		Py_INCREF(py_HomeDir);
	} else {
		py_HomeDir = PyString_FromStringOrNULL(object->HomeDir);
	}
	return py_HomeDir;
}

static int py_rap_NetUserInfo11_set_HomeDir(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->HomeDir = NULL;
	} else {
		object->HomeDir = NULL;
		object->HomeDir = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_NetUserInfo11_get_HomeDirHigh(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(obj);
	PyObject *py_HomeDirHigh;
	py_HomeDirHigh = PyInt_FromLong(object->HomeDirHigh);
	return py_HomeDirHigh;
}

static int py_rap_NetUserInfo11_set_HomeDirHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->HomeDirHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo11_get_Parms(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(obj);
	PyObject *py_Parms;
	if (object->Parms == NULL) {
		py_Parms = Py_None;
		Py_INCREF(py_Parms);
	} else {
		py_Parms = PyString_FromStringOrNULL(object->Parms);
	}
	return py_Parms;
}

static int py_rap_NetUserInfo11_set_Parms(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->Parms = NULL;
	} else {
		object->Parms = NULL;
		object->Parms = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_NetUserInfo11_get_ParmsHigh(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(obj);
	PyObject *py_ParmsHigh;
	py_ParmsHigh = PyInt_FromLong(object->ParmsHigh);
	return py_ParmsHigh;
}

static int py_rap_NetUserInfo11_set_ParmsHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->ParmsHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo11_get_LastLogon(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(obj);
	PyObject *py_LastLogon;
	py_LastLogon = PyInt_FromLong(object->LastLogon);
	return py_LastLogon;
}

static int py_rap_NetUserInfo11_set_LastLogon(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->LastLogon = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo11_get_LastLogOff(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(obj);
	PyObject *py_LastLogOff;
	py_LastLogOff = PyInt_FromLong(object->LastLogOff);
	return py_LastLogOff;
}

static int py_rap_NetUserInfo11_set_LastLogOff(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->LastLogOff = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo11_get_BadPWCount(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(obj);
	PyObject *py_BadPWCount;
	py_BadPWCount = PyInt_FromLong(object->BadPWCount);
	return py_BadPWCount;
}

static int py_rap_NetUserInfo11_set_BadPWCount(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->BadPWCount = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo11_get_NumLogons(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(obj);
	PyObject *py_NumLogons;
	py_NumLogons = PyInt_FromLong(object->NumLogons);
	return py_NumLogons;
}

static int py_rap_NetUserInfo11_set_NumLogons(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->NumLogons = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo11_get_LogonServer(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(obj);
	PyObject *py_LogonServer;
	if (object->LogonServer == NULL) {
		py_LogonServer = Py_None;
		Py_INCREF(py_LogonServer);
	} else {
		py_LogonServer = PyString_FromStringOrNULL(object->LogonServer);
	}
	return py_LogonServer;
}

static int py_rap_NetUserInfo11_set_LogonServer(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->LogonServer = NULL;
	} else {
		object->LogonServer = NULL;
		object->LogonServer = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_NetUserInfo11_get_LogonServerHigh(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(obj);
	PyObject *py_LogonServerHigh;
	py_LogonServerHigh = PyInt_FromLong(object->LogonServerHigh);
	return py_LogonServerHigh;
}

static int py_rap_NetUserInfo11_set_LogonServerHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->LogonServerHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo11_get_CountryCode(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(obj);
	PyObject *py_CountryCode;
	py_CountryCode = PyInt_FromLong(object->CountryCode);
	return py_CountryCode;
}

static int py_rap_NetUserInfo11_set_CountryCode(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->CountryCode = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo11_get_WorkStations(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(obj);
	PyObject *py_WorkStations;
	if (object->WorkStations == NULL) {
		py_WorkStations = Py_None;
		Py_INCREF(py_WorkStations);
	} else {
		py_WorkStations = PyString_FromStringOrNULL(object->WorkStations);
	}
	return py_WorkStations;
}

static int py_rap_NetUserInfo11_set_WorkStations(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->WorkStations = NULL;
	} else {
		object->WorkStations = NULL;
		object->WorkStations = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_NetUserInfo11_get_WorkStationsHigh(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(obj);
	PyObject *py_WorkStationsHigh;
	py_WorkStationsHigh = PyInt_FromLong(object->WorkStationsHigh);
	return py_WorkStationsHigh;
}

static int py_rap_NetUserInfo11_set_WorkStationsHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->WorkStationsHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo11_get_MaxStorage(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(obj);
	PyObject *py_MaxStorage;
	py_MaxStorage = PyInt_FromLong(object->MaxStorage);
	return py_MaxStorage;
}

static int py_rap_NetUserInfo11_set_MaxStorage(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->MaxStorage = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo11_get_UnitsPerWeek(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(obj);
	PyObject *py_UnitsPerWeek;
	py_UnitsPerWeek = PyInt_FromLong(object->UnitsPerWeek);
	return py_UnitsPerWeek;
}

static int py_rap_NetUserInfo11_set_UnitsPerWeek(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->UnitsPerWeek = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo11_get_LogonHours(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(obj);
	PyObject *py_LogonHours;
	if (object->LogonHours == NULL) {
		py_LogonHours = Py_None;
		Py_INCREF(py_LogonHours);
	} else {
		py_LogonHours = py_talloc_reference_ex(&rap_LogonHours_Type, object->LogonHours, object->LogonHours);
	}
	return py_LogonHours;
}

static int py_rap_NetUserInfo11_set_LogonHours(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(py_obj);
	talloc_unlink(py_talloc_get_mem_ctx(py_obj), object->LogonHours);
	if (value == Py_None) {
		object->LogonHours = NULL;
	} else {
		object->LogonHours = NULL;
		PY_CHECK_TYPE(&rap_LogonHours_Type, value, return -1;);
		if (talloc_reference(py_talloc_get_mem_ctx(py_obj), py_talloc_get_mem_ctx(value)) == NULL) {
			PyErr_NoMemory();
			return -1;
		}
		object->LogonHours = (struct rap_LogonHours *)py_talloc_get_ptr(value);
	}
	return 0;
}

static PyObject *py_rap_NetUserInfo11_get_LogonHoursHigh(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(obj);
	PyObject *py_LogonHoursHigh;
	py_LogonHoursHigh = PyInt_FromLong(object->LogonHoursHigh);
	return py_LogonHoursHigh;
}

static int py_rap_NetUserInfo11_set_LogonHoursHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->LogonHoursHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_NetUserInfo11_get_CodePage(PyObject *obj, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(obj);
	PyObject *py_CodePage;
	py_CodePage = PyInt_FromLong(object->CodePage);
	return py_CodePage;
}

static int py_rap_NetUserInfo11_set_CodePage(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_NetUserInfo11 *object = (struct rap_NetUserInfo11 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->CodePage = PyInt_AsLong(value);
	return 0;
}

static PyGetSetDef py_rap_NetUserInfo11_getsetters[] = {
	{ discard_const_p(char, "Name"), py_rap_NetUserInfo11_get_Name, py_rap_NetUserInfo11_set_Name },
	{ discard_const_p(char, "Pad"), py_rap_NetUserInfo11_get_Pad, py_rap_NetUserInfo11_set_Pad },
	{ discard_const_p(char, "Comment"), py_rap_NetUserInfo11_get_Comment, py_rap_NetUserInfo11_set_Comment },
	{ discard_const_p(char, "CommentHigh"), py_rap_NetUserInfo11_get_CommentHigh, py_rap_NetUserInfo11_set_CommentHigh },
	{ discard_const_p(char, "UsrComment"), py_rap_NetUserInfo11_get_UsrComment, py_rap_NetUserInfo11_set_UsrComment },
	{ discard_const_p(char, "UsrCommentHigh"), py_rap_NetUserInfo11_get_UsrCommentHigh, py_rap_NetUserInfo11_set_UsrCommentHigh },
	{ discard_const_p(char, "FullName"), py_rap_NetUserInfo11_get_FullName, py_rap_NetUserInfo11_set_FullName },
	{ discard_const_p(char, "FullNameHigh"), py_rap_NetUserInfo11_get_FullNameHigh, py_rap_NetUserInfo11_set_FullNameHigh },
	{ discard_const_p(char, "Priv"), py_rap_NetUserInfo11_get_Priv, py_rap_NetUserInfo11_set_Priv },
	{ discard_const_p(char, "AuthFlags"), py_rap_NetUserInfo11_get_AuthFlags, py_rap_NetUserInfo11_set_AuthFlags },
	{ discard_const_p(char, "PasswordAge"), py_rap_NetUserInfo11_get_PasswordAge, py_rap_NetUserInfo11_set_PasswordAge },
	{ discard_const_p(char, "HomeDir"), py_rap_NetUserInfo11_get_HomeDir, py_rap_NetUserInfo11_set_HomeDir },
	{ discard_const_p(char, "HomeDirHigh"), py_rap_NetUserInfo11_get_HomeDirHigh, py_rap_NetUserInfo11_set_HomeDirHigh },
	{ discard_const_p(char, "Parms"), py_rap_NetUserInfo11_get_Parms, py_rap_NetUserInfo11_set_Parms },
	{ discard_const_p(char, "ParmsHigh"), py_rap_NetUserInfo11_get_ParmsHigh, py_rap_NetUserInfo11_set_ParmsHigh },
	{ discard_const_p(char, "LastLogon"), py_rap_NetUserInfo11_get_LastLogon, py_rap_NetUserInfo11_set_LastLogon },
	{ discard_const_p(char, "LastLogOff"), py_rap_NetUserInfo11_get_LastLogOff, py_rap_NetUserInfo11_set_LastLogOff },
	{ discard_const_p(char, "BadPWCount"), py_rap_NetUserInfo11_get_BadPWCount, py_rap_NetUserInfo11_set_BadPWCount },
	{ discard_const_p(char, "NumLogons"), py_rap_NetUserInfo11_get_NumLogons, py_rap_NetUserInfo11_set_NumLogons },
	{ discard_const_p(char, "LogonServer"), py_rap_NetUserInfo11_get_LogonServer, py_rap_NetUserInfo11_set_LogonServer },
	{ discard_const_p(char, "LogonServerHigh"), py_rap_NetUserInfo11_get_LogonServerHigh, py_rap_NetUserInfo11_set_LogonServerHigh },
	{ discard_const_p(char, "CountryCode"), py_rap_NetUserInfo11_get_CountryCode, py_rap_NetUserInfo11_set_CountryCode },
	{ discard_const_p(char, "WorkStations"), py_rap_NetUserInfo11_get_WorkStations, py_rap_NetUserInfo11_set_WorkStations },
	{ discard_const_p(char, "WorkStationsHigh"), py_rap_NetUserInfo11_get_WorkStationsHigh, py_rap_NetUserInfo11_set_WorkStationsHigh },
	{ discard_const_p(char, "MaxStorage"), py_rap_NetUserInfo11_get_MaxStorage, py_rap_NetUserInfo11_set_MaxStorage },
	{ discard_const_p(char, "UnitsPerWeek"), py_rap_NetUserInfo11_get_UnitsPerWeek, py_rap_NetUserInfo11_set_UnitsPerWeek },
	{ discard_const_p(char, "LogonHours"), py_rap_NetUserInfo11_get_LogonHours, py_rap_NetUserInfo11_set_LogonHours },
	{ discard_const_p(char, "LogonHoursHigh"), py_rap_NetUserInfo11_get_LogonHoursHigh, py_rap_NetUserInfo11_set_LogonHoursHigh },
	{ discard_const_p(char, "CodePage"), py_rap_NetUserInfo11_get_CodePage, py_rap_NetUserInfo11_set_CodePage },
	{ NULL }
};

static PyObject *py_rap_NetUserInfo11_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
{
	return py_talloc_new(struct rap_NetUserInfo11, type);
}


static PyTypeObject rap_NetUserInfo11_Type = {
	PyObject_HEAD_INIT(NULL) 0,
	.tp_name = "rap.NetUserInfo11",
	.tp_getset = py_rap_NetUserInfo11_getsetters,
	.tp_methods = NULL,
	.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
	.tp_basicsize = sizeof(py_talloc_Object),
	.tp_new = py_rap_NetUserInfo11_new,
};

PyObject *py_import_rap_netuser_info(TALLOC_CTX *mem_ctx, int level, union rap_netuser_info *in)
{
	PyObject *ret;

	switch (level) {
		case 0:
			ret = py_talloc_reference_ex(&rap_NetUserInfo0_Type, mem_ctx, &in->info0);
			return ret;

		case 1:
			ret = py_talloc_reference_ex(&rap_NetUserInfo1_Type, mem_ctx, &in->info1);
			return ret;

		case 2:
			ret = py_talloc_reference_ex(&rap_NetUserInfo2_Type, mem_ctx, &in->info2);
			return ret;

		case 10:
			ret = py_talloc_reference_ex(&rap_NetUserInfo10_Type, mem_ctx, &in->info10);
			return ret;

		case 11:
			ret = py_talloc_reference_ex(&rap_NetUserInfo11_Type, mem_ctx, &in->info11);
			return ret;

	}
	PyErr_SetString(PyExc_TypeError, "unknown union level");
	return NULL;
}

union rap_netuser_info *py_export_rap_netuser_info(TALLOC_CTX *mem_ctx, int level, PyObject *in)
{
	union rap_netuser_info *ret = talloc_zero(mem_ctx, union rap_netuser_info);
	switch (level) {
		case 0:
			PY_CHECK_TYPE(&rap_NetUserInfo0_Type, in, talloc_free(ret); return NULL;);
			if (talloc_reference(mem_ctx, py_talloc_get_mem_ctx(in)) == NULL) {
				PyErr_NoMemory();
				talloc_free(ret); return NULL;
			}
			ret->info0 = *(struct rap_NetUserInfo0 *)py_talloc_get_ptr(in);
			break;

		case 1:
			PY_CHECK_TYPE(&rap_NetUserInfo1_Type, in, talloc_free(ret); return NULL;);
			if (talloc_reference(mem_ctx, py_talloc_get_mem_ctx(in)) == NULL) {
				PyErr_NoMemory();
				talloc_free(ret); return NULL;
			}
			ret->info1 = *(struct rap_NetUserInfo1 *)py_talloc_get_ptr(in);
			break;

		case 2:
			PY_CHECK_TYPE(&rap_NetUserInfo2_Type, in, talloc_free(ret); return NULL;);
			if (talloc_reference(mem_ctx, py_talloc_get_mem_ctx(in)) == NULL) {
				PyErr_NoMemory();
				talloc_free(ret); return NULL;
			}
			ret->info2 = *(struct rap_NetUserInfo2 *)py_talloc_get_ptr(in);
			break;

		case 10:
			PY_CHECK_TYPE(&rap_NetUserInfo10_Type, in, talloc_free(ret); return NULL;);
			if (talloc_reference(mem_ctx, py_talloc_get_mem_ctx(in)) == NULL) {
				PyErr_NoMemory();
				talloc_free(ret); return NULL;
			}
			ret->info10 = *(struct rap_NetUserInfo10 *)py_talloc_get_ptr(in);
			break;

		case 11:
			PY_CHECK_TYPE(&rap_NetUserInfo11_Type, in, talloc_free(ret); return NULL;);
			if (talloc_reference(mem_ctx, py_talloc_get_mem_ctx(in)) == NULL) {
				PyErr_NoMemory();
				talloc_free(ret); return NULL;
			}
			ret->info11 = *(struct rap_NetUserInfo11 *)py_talloc_get_ptr(in);
			break;

		default:
			PyErr_SetString(PyExc_TypeError, "invalid union level value");
			talloc_free(ret);
			ret = NULL;
	}

	return ret;
}


static PyObject *py_rap_session_info_2_get_ComputerName(PyObject *obj, void *closure)
{
	struct rap_session_info_2 *object = (struct rap_session_info_2 *)py_talloc_get_ptr(obj);
	PyObject *py_ComputerName;
	if (object->ComputerName == NULL) {
		py_ComputerName = Py_None;
		Py_INCREF(py_ComputerName);
	} else {
		py_ComputerName = PyString_FromStringOrNULL(object->ComputerName);
	}
	return py_ComputerName;
}

static int py_rap_session_info_2_set_ComputerName(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_session_info_2 *object = (struct rap_session_info_2 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->ComputerName = NULL;
	} else {
		object->ComputerName = NULL;
		object->ComputerName = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_session_info_2_get_ComputerNameHigh(PyObject *obj, void *closure)
{
	struct rap_session_info_2 *object = (struct rap_session_info_2 *)py_talloc_get_ptr(obj);
	PyObject *py_ComputerNameHigh;
	py_ComputerNameHigh = PyInt_FromLong(object->ComputerNameHigh);
	return py_ComputerNameHigh;
}

static int py_rap_session_info_2_set_ComputerNameHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_session_info_2 *object = (struct rap_session_info_2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->ComputerNameHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_session_info_2_get_UserName(PyObject *obj, void *closure)
{
	struct rap_session_info_2 *object = (struct rap_session_info_2 *)py_talloc_get_ptr(obj);
	PyObject *py_UserName;
	if (object->UserName == NULL) {
		py_UserName = Py_None;
		Py_INCREF(py_UserName);
	} else {
		py_UserName = PyString_FromStringOrNULL(object->UserName);
	}
	return py_UserName;
}

static int py_rap_session_info_2_set_UserName(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_session_info_2 *object = (struct rap_session_info_2 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->UserName = NULL;
	} else {
		object->UserName = NULL;
		object->UserName = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_session_info_2_get_UserNameHigh(PyObject *obj, void *closure)
{
	struct rap_session_info_2 *object = (struct rap_session_info_2 *)py_talloc_get_ptr(obj);
	PyObject *py_UserNameHigh;
	py_UserNameHigh = PyInt_FromLong(object->UserNameHigh);
	return py_UserNameHigh;
}

static int py_rap_session_info_2_set_UserNameHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_session_info_2 *object = (struct rap_session_info_2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->UserNameHigh = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_session_info_2_get_num_conns(PyObject *obj, void *closure)
{
	struct rap_session_info_2 *object = (struct rap_session_info_2 *)py_talloc_get_ptr(obj);
	PyObject *py_num_conns;
	py_num_conns = PyInt_FromLong(object->num_conns);
	return py_num_conns;
}

static int py_rap_session_info_2_set_num_conns(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_session_info_2 *object = (struct rap_session_info_2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->num_conns = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_session_info_2_get_num_opens(PyObject *obj, void *closure)
{
	struct rap_session_info_2 *object = (struct rap_session_info_2 *)py_talloc_get_ptr(obj);
	PyObject *py_num_opens;
	py_num_opens = PyInt_FromLong(object->num_opens);
	return py_num_opens;
}

static int py_rap_session_info_2_set_num_opens(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_session_info_2 *object = (struct rap_session_info_2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->num_opens = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_session_info_2_get_num_users(PyObject *obj, void *closure)
{
	struct rap_session_info_2 *object = (struct rap_session_info_2 *)py_talloc_get_ptr(obj);
	PyObject *py_num_users;
	py_num_users = PyInt_FromLong(object->num_users);
	return py_num_users;
}

static int py_rap_session_info_2_set_num_users(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_session_info_2 *object = (struct rap_session_info_2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->num_users = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_session_info_2_get_sess_time(PyObject *obj, void *closure)
{
	struct rap_session_info_2 *object = (struct rap_session_info_2 *)py_talloc_get_ptr(obj);
	PyObject *py_sess_time;
	py_sess_time = PyInt_FromLong(object->sess_time);
	return py_sess_time;
}

static int py_rap_session_info_2_set_sess_time(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_session_info_2 *object = (struct rap_session_info_2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->sess_time = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_session_info_2_get_idle_time(PyObject *obj, void *closure)
{
	struct rap_session_info_2 *object = (struct rap_session_info_2 *)py_talloc_get_ptr(obj);
	PyObject *py_idle_time;
	py_idle_time = PyInt_FromLong(object->idle_time);
	return py_idle_time;
}

static int py_rap_session_info_2_set_idle_time(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_session_info_2 *object = (struct rap_session_info_2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->idle_time = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_session_info_2_get_user_flags(PyObject *obj, void *closure)
{
	struct rap_session_info_2 *object = (struct rap_session_info_2 *)py_talloc_get_ptr(obj);
	PyObject *py_user_flags;
	py_user_flags = PyInt_FromLong(object->user_flags);
	return py_user_flags;
}

static int py_rap_session_info_2_set_user_flags(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_session_info_2 *object = (struct rap_session_info_2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->user_flags = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_session_info_2_get_CliTypeName(PyObject *obj, void *closure)
{
	struct rap_session_info_2 *object = (struct rap_session_info_2 *)py_talloc_get_ptr(obj);
	PyObject *py_CliTypeName;
	if (object->CliTypeName == NULL) {
		py_CliTypeName = Py_None;
		Py_INCREF(py_CliTypeName);
	} else {
		py_CliTypeName = PyString_FromStringOrNULL(object->CliTypeName);
	}
	return py_CliTypeName;
}

static int py_rap_session_info_2_set_CliTypeName(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_session_info_2 *object = (struct rap_session_info_2 *)py_talloc_get_ptr(py_obj);
	if (value == Py_None) {
		object->CliTypeName = NULL;
	} else {
		object->CliTypeName = NULL;
		object->CliTypeName = talloc_strdup(py_talloc_get_mem_ctx(py_obj), PyString_AS_STRING(value));
	}
	return 0;
}

static PyObject *py_rap_session_info_2_get_CliTypeNameHigh(PyObject *obj, void *closure)
{
	struct rap_session_info_2 *object = (struct rap_session_info_2 *)py_talloc_get_ptr(obj);
	PyObject *py_CliTypeNameHigh;
	py_CliTypeNameHigh = PyInt_FromLong(object->CliTypeNameHigh);
	return py_CliTypeNameHigh;
}

static int py_rap_session_info_2_set_CliTypeNameHigh(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_session_info_2 *object = (struct rap_session_info_2 *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->CliTypeNameHigh = PyInt_AsLong(value);
	return 0;
}

static PyGetSetDef py_rap_session_info_2_getsetters[] = {
	{ discard_const_p(char, "ComputerName"), py_rap_session_info_2_get_ComputerName, py_rap_session_info_2_set_ComputerName },
	{ discard_const_p(char, "ComputerNameHigh"), py_rap_session_info_2_get_ComputerNameHigh, py_rap_session_info_2_set_ComputerNameHigh },
	{ discard_const_p(char, "UserName"), py_rap_session_info_2_get_UserName, py_rap_session_info_2_set_UserName },
	{ discard_const_p(char, "UserNameHigh"), py_rap_session_info_2_get_UserNameHigh, py_rap_session_info_2_set_UserNameHigh },
	{ discard_const_p(char, "num_conns"), py_rap_session_info_2_get_num_conns, py_rap_session_info_2_set_num_conns },
	{ discard_const_p(char, "num_opens"), py_rap_session_info_2_get_num_opens, py_rap_session_info_2_set_num_opens },
	{ discard_const_p(char, "num_users"), py_rap_session_info_2_get_num_users, py_rap_session_info_2_set_num_users },
	{ discard_const_p(char, "sess_time"), py_rap_session_info_2_get_sess_time, py_rap_session_info_2_set_sess_time },
	{ discard_const_p(char, "idle_time"), py_rap_session_info_2_get_idle_time, py_rap_session_info_2_set_idle_time },
	{ discard_const_p(char, "user_flags"), py_rap_session_info_2_get_user_flags, py_rap_session_info_2_set_user_flags },
	{ discard_const_p(char, "CliTypeName"), py_rap_session_info_2_get_CliTypeName, py_rap_session_info_2_set_CliTypeName },
	{ discard_const_p(char, "CliTypeNameHigh"), py_rap_session_info_2_get_CliTypeNameHigh, py_rap_session_info_2_set_CliTypeNameHigh },
	{ NULL }
};

static PyObject *py_rap_session_info_2_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
{
	return py_talloc_new(struct rap_session_info_2, type);
}


static PyTypeObject rap_session_info_2_Type = {
	PyObject_HEAD_INIT(NULL) 0,
	.tp_name = "rap.session_info_2",
	.tp_getset = py_rap_session_info_2_getsetters,
	.tp_methods = NULL,
	.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
	.tp_basicsize = sizeof(py_talloc_Object),
	.tp_new = py_rap_session_info_2_new,
};

PyObject *py_import_rap_session_info(TALLOC_CTX *mem_ctx, int level, union rap_session_info *in)
{
	PyObject *ret;

	switch (level) {
		case 2:
			ret = py_talloc_reference_ex(&rap_session_info_2_Type, mem_ctx, &in->info2);
			return ret;

	}
	PyErr_SetString(PyExc_TypeError, "unknown union level");
	return NULL;
}

union rap_session_info *py_export_rap_session_info(TALLOC_CTX *mem_ctx, int level, PyObject *in)
{
	union rap_session_info *ret = talloc_zero(mem_ctx, union rap_session_info);
	switch (level) {
		case 2:
			PY_CHECK_TYPE(&rap_session_info_2_Type, in, talloc_free(ret); return NULL;);
			if (talloc_reference(mem_ctx, py_talloc_get_mem_ctx(in)) == NULL) {
				PyErr_NoMemory();
				talloc_free(ret); return NULL;
			}
			ret->info2 = *(struct rap_session_info_2 *)py_talloc_get_ptr(in);
			break;

		default:
			PyErr_SetString(PyExc_TypeError, "invalid union level value");
			talloc_free(ret);
			ret = NULL;
	}

	return ret;
}


static PyObject *py_rap_TimeOfDayInfo_get_TimeSinceJan11970(PyObject *obj, void *closure)
{
	struct rap_TimeOfDayInfo *object = (struct rap_TimeOfDayInfo *)py_talloc_get_ptr(obj);
	PyObject *py_TimeSinceJan11970;
	py_TimeSinceJan11970 = PyInt_FromLong(object->TimeSinceJan11970);
	return py_TimeSinceJan11970;
}

static int py_rap_TimeOfDayInfo_set_TimeSinceJan11970(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_TimeOfDayInfo *object = (struct rap_TimeOfDayInfo *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->TimeSinceJan11970 = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_TimeOfDayInfo_get_TimeSinceBoot(PyObject *obj, void *closure)
{
	struct rap_TimeOfDayInfo *object = (struct rap_TimeOfDayInfo *)py_talloc_get_ptr(obj);
	PyObject *py_TimeSinceBoot;
	py_TimeSinceBoot = PyInt_FromLong(object->TimeSinceBoot);
	return py_TimeSinceBoot;
}

static int py_rap_TimeOfDayInfo_set_TimeSinceBoot(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_TimeOfDayInfo *object = (struct rap_TimeOfDayInfo *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->TimeSinceBoot = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_TimeOfDayInfo_get_Hours(PyObject *obj, void *closure)
{
	struct rap_TimeOfDayInfo *object = (struct rap_TimeOfDayInfo *)py_talloc_get_ptr(obj);
	PyObject *py_Hours;
	py_Hours = PyInt_FromLong(object->Hours);
	return py_Hours;
}

static int py_rap_TimeOfDayInfo_set_Hours(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_TimeOfDayInfo *object = (struct rap_TimeOfDayInfo *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->Hours = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_TimeOfDayInfo_get_Minutes(PyObject *obj, void *closure)
{
	struct rap_TimeOfDayInfo *object = (struct rap_TimeOfDayInfo *)py_talloc_get_ptr(obj);
	PyObject *py_Minutes;
	py_Minutes = PyInt_FromLong(object->Minutes);
	return py_Minutes;
}

static int py_rap_TimeOfDayInfo_set_Minutes(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_TimeOfDayInfo *object = (struct rap_TimeOfDayInfo *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->Minutes = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_TimeOfDayInfo_get_Seconds(PyObject *obj, void *closure)
{
	struct rap_TimeOfDayInfo *object = (struct rap_TimeOfDayInfo *)py_talloc_get_ptr(obj);
	PyObject *py_Seconds;
	py_Seconds = PyInt_FromLong(object->Seconds);
	return py_Seconds;
}

static int py_rap_TimeOfDayInfo_set_Seconds(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_TimeOfDayInfo *object = (struct rap_TimeOfDayInfo *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->Seconds = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_TimeOfDayInfo_get_Hundreds(PyObject *obj, void *closure)
{
	struct rap_TimeOfDayInfo *object = (struct rap_TimeOfDayInfo *)py_talloc_get_ptr(obj);
	PyObject *py_Hundreds;
	py_Hundreds = PyInt_FromLong(object->Hundreds);
	return py_Hundreds;
}

static int py_rap_TimeOfDayInfo_set_Hundreds(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_TimeOfDayInfo *object = (struct rap_TimeOfDayInfo *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->Hundreds = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_TimeOfDayInfo_get_TimeZone(PyObject *obj, void *closure)
{
	struct rap_TimeOfDayInfo *object = (struct rap_TimeOfDayInfo *)py_talloc_get_ptr(obj);
	PyObject *py_TimeZone;
	py_TimeZone = PyInt_FromLong(object->TimeZone);
	return py_TimeZone;
}

static int py_rap_TimeOfDayInfo_set_TimeZone(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_TimeOfDayInfo *object = (struct rap_TimeOfDayInfo *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->TimeZone = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_TimeOfDayInfo_get_ClockFrequency(PyObject *obj, void *closure)
{
	struct rap_TimeOfDayInfo *object = (struct rap_TimeOfDayInfo *)py_talloc_get_ptr(obj);
	PyObject *py_ClockFrequency;
	py_ClockFrequency = PyInt_FromLong(object->ClockFrequency);
	return py_ClockFrequency;
}

static int py_rap_TimeOfDayInfo_set_ClockFrequency(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_TimeOfDayInfo *object = (struct rap_TimeOfDayInfo *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->ClockFrequency = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_TimeOfDayInfo_get_Day(PyObject *obj, void *closure)
{
	struct rap_TimeOfDayInfo *object = (struct rap_TimeOfDayInfo *)py_talloc_get_ptr(obj);
	PyObject *py_Day;
	py_Day = PyInt_FromLong(object->Day);
	return py_Day;
}

static int py_rap_TimeOfDayInfo_set_Day(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_TimeOfDayInfo *object = (struct rap_TimeOfDayInfo *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->Day = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_TimeOfDayInfo_get_Month(PyObject *obj, void *closure)
{
	struct rap_TimeOfDayInfo *object = (struct rap_TimeOfDayInfo *)py_talloc_get_ptr(obj);
	PyObject *py_Month;
	py_Month = PyInt_FromLong(object->Month);
	return py_Month;
}

static int py_rap_TimeOfDayInfo_set_Month(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_TimeOfDayInfo *object = (struct rap_TimeOfDayInfo *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->Month = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_TimeOfDayInfo_get_Year(PyObject *obj, void *closure)
{
	struct rap_TimeOfDayInfo *object = (struct rap_TimeOfDayInfo *)py_talloc_get_ptr(obj);
	PyObject *py_Year;
	py_Year = PyInt_FromLong(object->Year);
	return py_Year;
}

static int py_rap_TimeOfDayInfo_set_Year(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_TimeOfDayInfo *object = (struct rap_TimeOfDayInfo *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->Year = PyInt_AsLong(value);
	return 0;
}

static PyObject *py_rap_TimeOfDayInfo_get_Weekday(PyObject *obj, void *closure)
{
	struct rap_TimeOfDayInfo *object = (struct rap_TimeOfDayInfo *)py_talloc_get_ptr(obj);
	PyObject *py_Weekday;
	py_Weekday = PyInt_FromLong(object->Weekday);
	return py_Weekday;
}

static int py_rap_TimeOfDayInfo_set_Weekday(PyObject *py_obj, PyObject *value, void *closure)
{
	struct rap_TimeOfDayInfo *object = (struct rap_TimeOfDayInfo *)py_talloc_get_ptr(py_obj);
	PY_CHECK_TYPE(&PyInt_Type, value, return -1;);
	object->Weekday = PyInt_AsLong(value);
	return 0;
}

static PyGetSetDef py_rap_TimeOfDayInfo_getsetters[] = {
	{ discard_const_p(char, "TimeSinceJan11970"), py_rap_TimeOfDayInfo_get_TimeSinceJan11970, py_rap_TimeOfDayInfo_set_TimeSinceJan11970 },
	{ discard_const_p(char, "TimeSinceBoot"), py_rap_TimeOfDayInfo_get_TimeSinceBoot, py_rap_TimeOfDayInfo_set_TimeSinceBoot },
	{ discard_const_p(char, "Hours"), py_rap_TimeOfDayInfo_get_Hours, py_rap_TimeOfDayInfo_set_Hours },
	{ discard_const_p(char, "Minutes"), py_rap_TimeOfDayInfo_get_Minutes, py_rap_TimeOfDayInfo_set_Minutes },
	{ discard_const_p(char, "Seconds"), py_rap_TimeOfDayInfo_get_Seconds, py_rap_TimeOfDayInfo_set_Seconds },
	{ discard_const_p(char, "Hundreds"), py_rap_TimeOfDayInfo_get_Hundreds, py_rap_TimeOfDayInfo_set_Hundreds },
	{ discard_const_p(char, "TimeZone"), py_rap_TimeOfDayInfo_get_TimeZone, py_rap_TimeOfDayInfo_set_TimeZone },
	{ discard_const_p(char, "ClockFrequency"), py_rap_TimeOfDayInfo_get_ClockFrequency, py_rap_TimeOfDayInfo_set_ClockFrequency },
	{ discard_const_p(char, "Day"), py_rap_TimeOfDayInfo_get_Day, py_rap_TimeOfDayInfo_set_Day },
	{ discard_const_p(char, "Month"), py_rap_TimeOfDayInfo_get_Month, py_rap_TimeOfDayInfo_set_Month },
	{ discard_const_p(char, "Year"), py_rap_TimeOfDayInfo_get_Year, py_rap_TimeOfDayInfo_set_Year },
	{ discard_const_p(char, "Weekday"), py_rap_TimeOfDayInfo_get_Weekday, py_rap_TimeOfDayInfo_set_Weekday },
	{ NULL }
};

static PyObject *py_rap_TimeOfDayInfo_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
{
	return py_talloc_new(struct rap_TimeOfDayInfo, type);
}

static PyObject *py_rap_TimeOfDayInfo_ndr_pack(PyObject *py_obj)
{
	struct rap_TimeOfDayInfo *object = (struct rap_TimeOfDayInfo *)py_talloc_get_ptr(py_obj);
	DATA_BLOB blob;
	enum ndr_err_code err;
	err = ndr_push_struct_blob(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_push_flags_fn_t)ndr_push_rap_TimeOfDayInfo);
	if (err != NDR_ERR_SUCCESS) {
		PyErr_SetNdrError(err);
		return NULL;
	}

	return PyString_FromStringAndSize((char *)blob.data, blob.length);
}

static PyObject *py_rap_TimeOfDayInfo_ndr_unpack(PyObject *py_obj, PyObject *args)
{
	struct rap_TimeOfDayInfo *object = (struct rap_TimeOfDayInfo *)py_talloc_get_ptr(py_obj);
	DATA_BLOB blob;
	enum ndr_err_code err;
	if (!PyArg_ParseTuple(args, "s#:__ndr_unpack__", &blob.data, &blob.length))
		return NULL;

	err = ndr_pull_struct_blob_all(&blob, py_talloc_get_mem_ctx(py_obj), object, (ndr_pull_flags_fn_t)ndr_pull_rap_TimeOfDayInfo);
	if (err != NDR_ERR_SUCCESS) {
		PyErr_SetNdrError(err);
		return NULL;
	}

	Py_RETURN_NONE;
}

static PyObject *py_rap_TimeOfDayInfo_ndr_print(PyObject *py_obj)
{
	struct rap_TimeOfDayInfo *object = (struct rap_TimeOfDayInfo *)py_talloc_get_ptr(py_obj);
	PyObject *ret;
	char *retstr;

	retstr = ndr_print_struct_string(py_talloc_get_mem_ctx(py_obj), (ndr_print_fn_t)ndr_print_rap_TimeOfDayInfo, "rap_TimeOfDayInfo", object);
	ret = PyString_FromString(retstr);
	talloc_free(retstr);

	return ret;
}

static PyMethodDef py_rap_TimeOfDayInfo_methods[] = {
	{ "__ndr_pack__", (PyCFunction)py_rap_TimeOfDayInfo_ndr_pack, METH_NOARGS, "S.ndr_pack(object) -> blob\nNDR pack" },
	{ "__ndr_unpack__", (PyCFunction)py_rap_TimeOfDayInfo_ndr_unpack, METH_VARARGS, "S.ndr_unpack(class, blob) -> None\nNDR unpack" },
	{ "__ndr_print__", (PyCFunction)py_rap_TimeOfDayInfo_ndr_print, METH_VARARGS, "S.ndr_print(object) -> None\nNDR print" },
	{ NULL, NULL, 0, NULL }
};


static PyTypeObject rap_TimeOfDayInfo_Type = {
	PyObject_HEAD_INIT(NULL) 0,
	.tp_name = "rap.TimeOfDayInfo",
	.tp_getset = py_rap_TimeOfDayInfo_getsetters,
	.tp_methods = py_rap_TimeOfDayInfo_methods,
	.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
	.tp_basicsize = sizeof(py_talloc_Object),
	.tp_new = py_rap_TimeOfDayInfo_new,
};

static PyMethodDef rap_methods[] = {
	{ NULL, NULL, 0, NULL }
};

void initrap(void)
{
	PyObject *m;
	PyObject *dep_talloc;

	dep_talloc = PyImport_ImportModule("talloc");
	if (dep_talloc == NULL)
		return;

	Object_Type = (PyTypeObject *)PyObject_GetAttrString(dep_talloc, "Object");
	if (Object_Type == NULL)
		return;

	rap_group_info_1_Type.tp_base = Object_Type;

	rap_user_info_1_Type.tp_base = Object_Type;

	rap_service_info_2_Type.tp_base = Object_Type;

	rap_share_info_0_Type.tp_base = Object_Type;

	rap_share_info_1_Type.tp_base = Object_Type;

	rap_share_info_2_Type.tp_base = Object_Type;

	rap_server_info_0_Type.tp_base = Object_Type;

	rap_server_info_1_Type.tp_base = Object_Type;

	rap_PrintJobInfo0_Type.tp_base = Object_Type;

	rap_PrintJobInfo1_Type.tp_base = Object_Type;

	rap_PrintJobInfo2_Type.tp_base = Object_Type;

	rap_PrintJobInfo3_Type.tp_base = Object_Type;

	rap_PrintQueue0_Type.tp_base = Object_Type;

	rap_PrintQueue1_Type.tp_base = Object_Type;

	rap_PrintQueue2_Type.tp_base = Object_Type;

	rap_PrintQueue3_Type.tp_base = Object_Type;

	rap_PrintQueue4_Type.tp_base = Object_Type;

	rap_PrintQueue5_Type.tp_base = Object_Type;

	rap_PrintDest0_Type.tp_base = Object_Type;

	rap_PrintDest1_Type.tp_base = Object_Type;

	rap_PrintDest2_Type.tp_base = Object_Type;

	rap_PrintDest3_Type.tp_base = Object_Type;

	rap_NetUserInfo0_Type.tp_base = Object_Type;

	rap_NetUserInfo1_Type.tp_base = Object_Type;

	rap_LogonHours_Type.tp_base = Object_Type;

	rap_NetUserInfo2_Type.tp_base = Object_Type;

	rap_NetUserInfo10_Type.tp_base = Object_Type;

	rap_NetUserInfo11_Type.tp_base = Object_Type;

	rap_session_info_2_Type.tp_base = Object_Type;

	rap_TimeOfDayInfo_Type.tp_base = Object_Type;

	if (PyType_Ready(&rap_group_info_1_Type) < 0)
		return;
	if (PyType_Ready(&rap_user_info_1_Type) < 0)
		return;
	if (PyType_Ready(&rap_service_info_2_Type) < 0)
		return;
	if (PyType_Ready(&rap_share_info_0_Type) < 0)
		return;
	if (PyType_Ready(&rap_share_info_1_Type) < 0)
		return;
	if (PyType_Ready(&rap_share_info_2_Type) < 0)
		return;
	if (PyType_Ready(&rap_server_info_0_Type) < 0)
		return;
	if (PyType_Ready(&rap_server_info_1_Type) < 0)
		return;
	if (PyType_Ready(&rap_PrintJobInfo0_Type) < 0)
		return;
	if (PyType_Ready(&rap_PrintJobInfo1_Type) < 0)
		return;
	if (PyType_Ready(&rap_PrintJobInfo2_Type) < 0)
		return;
	if (PyType_Ready(&rap_PrintJobInfo3_Type) < 0)
		return;
	if (PyType_Ready(&rap_PrintQueue0_Type) < 0)
		return;
	if (PyType_Ready(&rap_PrintQueue1_Type) < 0)
		return;
	if (PyType_Ready(&rap_PrintQueue2_Type) < 0)
		return;
	if (PyType_Ready(&rap_PrintQueue3_Type) < 0)
		return;
	if (PyType_Ready(&rap_PrintQueue4_Type) < 0)
		return;
	if (PyType_Ready(&rap_PrintQueue5_Type) < 0)
		return;
	if (PyType_Ready(&rap_PrintDest0_Type) < 0)
		return;
	if (PyType_Ready(&rap_PrintDest1_Type) < 0)
		return;
	if (PyType_Ready(&rap_PrintDest2_Type) < 0)
		return;
	if (PyType_Ready(&rap_PrintDest3_Type) < 0)
		return;
	if (PyType_Ready(&rap_NetUserInfo0_Type) < 0)
		return;
	if (PyType_Ready(&rap_NetUserInfo1_Type) < 0)
		return;
	if (PyType_Ready(&rap_LogonHours_Type) < 0)
		return;
	if (PyType_Ready(&rap_NetUserInfo2_Type) < 0)
		return;
	if (PyType_Ready(&rap_NetUserInfo10_Type) < 0)
		return;
	if (PyType_Ready(&rap_NetUserInfo11_Type) < 0)
		return;
	if (PyType_Ready(&rap_session_info_2_Type) < 0)
		return;
	if (PyType_Ready(&rap_TimeOfDayInfo_Type) < 0)
		return;
#ifdef PY_GROUP_INFO_1_PATCH
	PY_GROUP_INFO_1_PATCH(&rap_group_info_1_Type);
#endif
#ifdef PY_USER_INFO_1_PATCH
	PY_USER_INFO_1_PATCH(&rap_user_info_1_Type);
#endif
#ifdef PY_SERVICE_INFO_2_PATCH
	PY_SERVICE_INFO_2_PATCH(&rap_service_info_2_Type);
#endif
#ifdef PY_SHARE_INFO_0_PATCH
	PY_SHARE_INFO_0_PATCH(&rap_share_info_0_Type);
#endif
#ifdef PY_SHARE_INFO_1_PATCH
	PY_SHARE_INFO_1_PATCH(&rap_share_info_1_Type);
#endif
#ifdef PY_SHARE_INFO_2_PATCH
	PY_SHARE_INFO_2_PATCH(&rap_share_info_2_Type);
#endif
#ifdef PY_SERVER_INFO_0_PATCH
	PY_SERVER_INFO_0_PATCH(&rap_server_info_0_Type);
#endif
#ifdef PY_SERVER_INFO_1_PATCH
	PY_SERVER_INFO_1_PATCH(&rap_server_info_1_Type);
#endif
#ifdef PY_PRINTJOBINFO0_PATCH
	PY_PRINTJOBINFO0_PATCH(&rap_PrintJobInfo0_Type);
#endif
#ifdef PY_PRINTJOBINFO1_PATCH
	PY_PRINTJOBINFO1_PATCH(&rap_PrintJobInfo1_Type);
#endif
#ifdef PY_PRINTJOBINFO2_PATCH
	PY_PRINTJOBINFO2_PATCH(&rap_PrintJobInfo2_Type);
#endif
#ifdef PY_PRINTJOBINFO3_PATCH
	PY_PRINTJOBINFO3_PATCH(&rap_PrintJobInfo3_Type);
#endif
#ifdef PY_PRINTQUEUE0_PATCH
	PY_PRINTQUEUE0_PATCH(&rap_PrintQueue0_Type);
#endif
#ifdef PY_PRINTQUEUE1_PATCH
	PY_PRINTQUEUE1_PATCH(&rap_PrintQueue1_Type);
#endif
#ifdef PY_PRINTQUEUE2_PATCH
	PY_PRINTQUEUE2_PATCH(&rap_PrintQueue2_Type);
#endif
#ifdef PY_PRINTQUEUE3_PATCH
	PY_PRINTQUEUE3_PATCH(&rap_PrintQueue3_Type);
#endif
#ifdef PY_PRINTQUEUE4_PATCH
	PY_PRINTQUEUE4_PATCH(&rap_PrintQueue4_Type);
#endif
#ifdef PY_PRINTQUEUE5_PATCH
	PY_PRINTQUEUE5_PATCH(&rap_PrintQueue5_Type);
#endif
#ifdef PY_PRINTDEST0_PATCH
	PY_PRINTDEST0_PATCH(&rap_PrintDest0_Type);
#endif
#ifdef PY_PRINTDEST1_PATCH
	PY_PRINTDEST1_PATCH(&rap_PrintDest1_Type);
#endif
#ifdef PY_PRINTDEST2_PATCH
	PY_PRINTDEST2_PATCH(&rap_PrintDest2_Type);
#endif
#ifdef PY_PRINTDEST3_PATCH
	PY_PRINTDEST3_PATCH(&rap_PrintDest3_Type);
#endif
#ifdef PY_NETUSERINFO0_PATCH
	PY_NETUSERINFO0_PATCH(&rap_NetUserInfo0_Type);
#endif
#ifdef PY_NETUSERINFO1_PATCH
	PY_NETUSERINFO1_PATCH(&rap_NetUserInfo1_Type);
#endif
#ifdef PY_LOGONHOURS_PATCH
	PY_LOGONHOURS_PATCH(&rap_LogonHours_Type);
#endif
#ifdef PY_NETUSERINFO2_PATCH
	PY_NETUSERINFO2_PATCH(&rap_NetUserInfo2_Type);
#endif
#ifdef PY_NETUSERINFO10_PATCH
	PY_NETUSERINFO10_PATCH(&rap_NetUserInfo10_Type);
#endif
#ifdef PY_NETUSERINFO11_PATCH
	PY_NETUSERINFO11_PATCH(&rap_NetUserInfo11_Type);
#endif
#ifdef PY_SESSION_INFO_2_PATCH
	PY_SESSION_INFO_2_PATCH(&rap_session_info_2_Type);
#endif
#ifdef PY_TIMEOFDAYINFO_PATCH
	PY_TIMEOFDAYINFO_PATCH(&rap_TimeOfDayInfo_Type);
#endif

	m = Py_InitModule3("rap", rap_methods, "rap DCE/RPC");
	if (m == NULL)
		return;

	PyModule_AddObject(m, "RAP_PARAM_JOBPOSITION", PyInt_FromLong(RAP_PARAM_JOBPOSITION));
	PyModule_AddObject(m, "RAP_WLogonEnum", PyInt_FromLong(134));
	PyModule_AddObject(m, "RAP_WUserAdd2", PyInt_FromLong(113));
	PyModule_AddObject(m, "RAP_WPrintJobEnum", PyInt_FromLong(76));
	PyModule_AddObject(m, "RAP_WDASDEnumTerminate", PyInt_FromLong(317));
	PyModule_AddObject(m, "RAP_NetPrintQGetInfo_REQ", PyString_FromString("zWrLh"));
	PyModule_AddObject(m, "RAP_WGroupAdd", PyInt_FromLong(48));
	PyModule_AddObject(m, "RAP_WaliasAdd", PyInt_FromLong(252));
	PyModule_AddObject(m, "RAP_NetSessionGetInfo_REQ", PyString_FromString("zWrLh"));
	PyModule_AddObject(m, "RAP_NetConnectionEntryMake", PyInt_FromLong(176));
	PyModule_AddObject(m, "RAP_WUserValidate2", PyInt_FromLong(146));
	PyModule_AddObject(m, "RAP_TI_FTLockDisk", PyInt_FromLong(154));
	PyModule_AddObject(m, "RAP_WprintDriverGetInfo", PyInt_FromLong(250));
	PyModule_AddObject(m, "RAP_WConfigGet2", PyInt_FromLong(117));
	PyModule_AddObject(m, "RAP_WaliasSetInfo", PyInt_FromLong(255));
	PyModule_AddObject(m, "RAP_WappAdd", PyInt_FromLong(261));
	PyModule_AddObject(m, "RAP_NetGroupAddUser_REQ", PyString_FromString("zz"));
	PyModule_AddObject(m, "RAP_PARAM_JOBSIZE", PyInt_FromLong(RAP_PARAM_JOBSIZE));
	PyModule_AddObject(m, "RAP_WPrintQSetInfo", PyInt_FromLong(71));
	PyModule_AddObject(m, "RAP_W16RIPLMachineCreate", PyInt_FromLong(300));
	PyModule_AddObject(m, "RAP_WsessionGetInfo", PyInt_FromLong(7));
	PyModule_AddObject(m, "RAP_TI_FTGetInfo", PyInt_FromLong(152));
	PyModule_AddObject(m, "RAP_WNetServerReqChallenge", PyInt_FromLong(126));
	PyModule_AddObject(m, "RAP_WBuildGetInfo", PyInt_FromLong(123));
	PyModule_AddObject(m, "RAP_SERVICE_INFO_L2", PyString_FromString("B16WDWB64"));
	PyModule_AddObject(m, "RAP_WGetRIPLMachineInfo", PyInt_FromLong(278));
	PyModule_AddObject(m, "RAP_W16AppParmAdd", PyInt_FromLong(296));
	PyModule_AddObject(m, "RAP_W16WSLevelGetInfo", PyInt_FromLong(312));
	PyModule_AddObject(m, "RAP_WPrintQContinue", PyInt_FromLong(75));
	PyModule_AddObject(m, "PRQ_PENDING", PyInt_FromLong(PRQ_PENDING));
	PyModule_AddObject(m, "RAP_NetShareCheck", PyInt_FromLong(5));
	PyModule_AddObject(m, "RAP_WFileEnum2_REQ", PyString_FromString("zzWrLehb8g8"));
	PyModule_AddObject(m, "RAP_W16RIPLMachineEnum", PyInt_FromLong(303));
	PyModule_AddObject(m, "RAP_NetPathCanonicalize", PyInt_FromLong(137));
	PyModule_AddObject(m, "RAP_WUseDel", PyInt_FromLong(67));
	PyModule_AddObject(m, "RAP_NetErrorLogOpen", PyInt_FromLong(19));
	PyModule_AddObject(m, "RAP_PARAM_JOBSTATUS", PyInt_FromLong(RAP_PARAM_JOBSTATUS));
	PyModule_AddObject(m, "RAP_WDASDCtl", PyInt_FromLong(273));
	PyModule_AddObject(m, "AF_OP_ACCOUNTS", PyInt_FromLong(AF_OP_ACCOUNTS));
	PyModule_AddObject(m, "RAP_WaliasGetInfo", PyInt_FromLong(254));
	PyModule_AddObject(m, "RAP_SERVER_INFO_L0", PyString_FromString("B16"));
	PyModule_AddObject(m, "RAP_PRINTQ_INFO_L2", PyString_FromString("B13BWWWzzzzzWN"));
	PyModule_AddObject(m, "RAP_WNetAccountConfirmUpdate", PyInt_FromLong(210));
	PyModule_AddObject(m, "RAP_CONNECTION_INFO_L1", PyString_FromString("WWWWDzz"));
	PyModule_AddObject(m, "RAP_wI_NetRplWkstaEnum", PyInt_FromLong(186));
	PyModule_AddObject(m, "RAP_NetServerDeregister", PyInt_FromLong(171));
	PyModule_AddObject(m, "RAP_TI_FTGetDriveStats", PyInt_FromLong(158));
	PyModule_AddObject(m, "USER_PRIV_ADMIN", PyInt_FromLong(USER_PRIV_ADMIN));
	PyModule_AddObject(m, "RAP_SESSION_INFO_L2", PyString_FromString("zzWWWDDDz"));
	PyModule_AddObject(m, "RAP_WMessageNameFwd", PyInt_FromLong(33));
	PyModule_AddObject(m, "RAP_NetFileEntrySetInfo", PyInt_FromLong(182));
	PyModule_AddObject(m, "RAP_WGetDCName", PyInt_FromLong(119));
	PyModule_AddObject(m, "RAP_PARAM_NOTIFYNAME", PyInt_FromLong(RAP_PARAM_NOTIFYNAME));
	PyModule_AddObject(m, "RAP_W16RIPLMachineListParmEnum", PyInt_FromLong(304));
	PyModule_AddObject(m, "RAP_NetServerRegister", PyInt_FromLong(170));
	PyModule_AddObject(m, "RAP_WMessageLogFileGet", PyInt_FromLong(38));
	PyModule_AddObject(m, "RAP_SERVER_INFO_L1", PyString_FromString("B16BBDz"));
	PyModule_AddObject(m, "AF_OP_PRINT", PyInt_FromLong(AF_OP_PRINT));
	PyModule_AddObject(m, "RAP_WaliasEnum", PyInt_FromLong(256));
	PyModule_AddObject(m, "RAP_NetSessionDel_REQ", PyString_FromString("zW"));
	PyModule_AddObject(m, "RAP_NetUserPasswordSet_REQ", PyString_FromString("zb16b16w"));
	PyModule_AddObject(m, "RAP_WIServerSetInfo", PyInt_FromLong(201));
	PyModule_AddObject(m, "RAP_NetGroupDel_REQ", PyString_FromString("z"));
	PyModule_AddObject(m, "PRJ_QS_SPOOLING", PyInt_FromLong(PRJ_QS_SPOOLING));
	PyModule_AddObject(m, "RAP_WDASDGetInfo", PyInt_FromLong(269));
	PyModule_AddObject(m, "RAP_WPrintPortEnum", PyInt_FromLong(207));
	PyModule_AddObject(m, "RAP_WDASDCheck", PyInt_FromLong(272));
	PyModule_AddObject(m, "RAP_NetSessionEntryGetInfo", PyInt_FromLong(174));
	PyModule_AddObject(m, "RAP_TI_FTErrorGetInfo", PyInt_FromLong(160));
	PyModule_AddObject(m, "RAP_WuserGetAppSel", PyInt_FromLong(259));
	PyModule_AddObject(m, "RAP_WWkstaSetInfo", PyInt_FromLong(64));
	PyModule_AddObject(m, "RAP_NetGroupSetUsers_REQ", PyString_FromString("zWsTW"));
	PyModule_AddObject(m, "RAP_SamOEMChgPasswordUser2_P", PyInt_FromLong(214));
	PyModule_AddObject(m, "RAP_WCharDevQSetInfo", PyInt_FromLong(26));
	PyModule_AddObject(m, "RAP_WserverGetInfo", PyInt_FromLong(13));
	PyModule_AddObject(m, "RAP_NetPrintQEnum_REQ", PyString_FromString("WrLeh"));
	PyModule_AddObject(m, "RAP_WPrintJobSetInfo", PyInt_FromLong(147));
	PyModule_AddObject(m, "RAP_PARAM_JOBCOMMENT", PyInt_FromLong(RAP_PARAM_JOBCOMMENT));
	PyModule_AddObject(m, "RAP_WUserModalsGet", PyInt_FromLong(110));
	PyModule_AddObject(m, "RAP_WMessageFileSend", PyInt_FromLong(36));
	PyModule_AddObject(m, "RAP_WAccessSetInfo", PyInt_FromLong(44));
	PyModule_AddObject(m, "RAP_WMessageNameEnum", PyInt_FromLong(29));
	PyModule_AddObject(m, "RAP_WGroupEnum", PyInt_FromLong(47));
	PyModule_AddObject(m, "RAP_I_ShareAdd", PyInt_FromLong(281));
	PyModule_AddObject(m, "RAP_WShareEnum_REQ", PyString_FromString("WrLeh"));
	PyModule_AddObject(m, "RAP_NetUserValidate2_REQ", PyString_FromString("Wb62WWrLhWW"));
	PyModule_AddObject(m, "PRQ_ACTIVE", PyInt_FromLong(PRQ_ACTIVE));
	PyModule_AddObject(m, "RAP_W16AppParmDel", PyInt_FromLong(297));
	PyModule_AddObject(m, "RAP_WWkstaUserLogoff", PyInt_FromLong(133));
	PyModule_AddObject(m, "RAP_SMB_PRINT_JOB_L1", PyString_FromString("WB21BB16B10zWWzDDz"));
	PyModule_AddObject(m, "RAP_NetGroupDelUser_REQ", PyString_FromString("zz"));
	PyModule_AddObject(m, "RAP_WshareSetInfo", PyInt_FromLong(2));
	PyModule_AddObject(m, "RAP_SHARENAME_LEN", PyInt_FromLong(13));
	PyModule_AddObject(m, "RAP_W16RIPLMachClassLPEnum", PyInt_FromLong(310));
	PyModule_AddObject(m, "RAP_NetSessionEntrySetInfo", PyInt_FromLong(175));
	PyModule_AddObject(m, "RAP_WServiceControl", PyInt_FromLong(41));
	PyModule_AddObject(m, "RAP_WUseAdd", PyInt_FromLong(66));
	PyModule_AddObject(m, "RAP_SHARE_INFO_L1", PyString_FromString("B13BWz"));
	PyModule_AddObject(m, "RAP_NetHandleGetInfo", PyInt_FromLong(120));
	PyModule_AddObject(m, "RAP_WAccessGetUserPerms", PyInt_FromLong(105));
	PyModule_AddObject(m, "RAP_W16RIPLMachClassEnum", PyInt_FromLong(306));
	PyModule_AddObject(m, "RAP_GROUPNAME_LEN", PyInt_FromLong(21));
	PyModule_AddObject(m, "PRJ_QS_ERROR", PyInt_FromLong(PRJ_QS_ERROR));
	PyModule_AddObject(m, "RAP_WUserSetInfo2", PyInt_FromLong(114));
	PyModule_AddObject(m, "RAP_WserverNameDel", PyInt_FromLong(314));
	PyModule_AddObject(m, "RAP_NetAuditOpen", PyInt_FromLong(17));
	PyModule_AddObject(m, "RAP_WKSTA_INFO_L1", PyString_FromString("WDzzzzBBDWDWWWWWWWWWWWWWWWWWWWzzWzzW"));
	PyModule_AddObject(m, "RAP_NetAlertRaise", PyInt_FromLong(164));
	PyModule_AddObject(m, "RAP_wI_NetRplProfileGetInfo", PyInt_FromLong(192));
	PyModule_AddObject(m, "RAP_WMessageBufferSend", PyInt_FromLong(35));
	PyModule_AddObject(m, "RAP_WMessageLogFileSet", PyInt_FromLong(37));
	PyModule_AddObject(m, "RAP_WuserSetAppSel", PyInt_FromLong(260));
	PyModule_AddObject(m, "RAP_WuserSetLogonAsn", PyInt_FromLong(258));
	PyModule_AddObject(m, "RAP_wI_NetRplProfileEnum", PyInt_FromLong(191));
	PyModule_AddObject(m, "RAP_NetFileEntryGetInfo", PyInt_FromLong(183));
	PyModule_AddObject(m, "RAP_NetServerAdminCommand_REQ", PyString_FromString("zhrLeh"));
	PyModule_AddObject(m, "RAP_WserverNameAdd", PyInt_FromLong(313));
	PyModule_AddObject(m, "RAP_NetUserPasswordSet2_REQ", PyString_FromString("zb16b16WW"));
	PyModule_AddObject(m, "RAP_NetConnectionEntryClear", PyInt_FromLong(177));
	PyModule_AddObject(m, "RAP_WNetAccountUpdate", PyInt_FromLong(209));
	PyModule_AddObject(m, "RAP_wI_NetRplWkstaDel", PyInt_FromLong(190));
	PyModule_AddObject(m, "RAP_WGroupGetUsers", PyInt_FromLong(52));
	PyModule_AddObject(m, "RAP_PARAM_DATATYPE", PyInt_FromLong(RAP_PARAM_DATATYPE));
	PyModule_AddObject(m, "RAP_W16AppParmGet", PyInt_FromLong(298));
	PyModule_AddObject(m, "RAP_WPrintJobContinue", PyInt_FromLong(83));
	PyModule_AddObject(m, "RAP_NetGroupAdd_REQ", PyString_FromString("WsT"));
	PyModule_AddObject(m, "RAP_AliasEnum", PyInt_FromLong(282));
	PyModule_AddObject(m, "RAP_WsessionEnum", PyInt_FromLong(6));
	PyModule_AddObject(m, "RAP_WFileGetInfo2_REQ", PyString_FromString("DWrLh"));
	PyModule_AddObject(m, "RAP_WFileClose2_REQ", PyString_FromString("D"));
	PyModule_AddObject(m, "RAP_USER_INFO_L1", PyString_FromString("B21BB16DWzzWz"));
	PyModule_AddObject(m, "RAP_WshareAdd", PyInt_FromLong(3));
	PyModule_AddObject(m, "RAP_WUseGetInfo", PyInt_FromLong(68));
	PyModule_AddObject(m, "RAP_WPrintDestGetInfo", PyInt_FromLong(85));
	PyModule_AddObject(m, "RAP_NetServiceStatus", PyInt_FromLong(169));
	PyModule_AddObject(m, "RAP_WConfigGetAll2", PyInt_FromLong(118));
	PyModule_AddObject(m, "RAP_DATATYPE_LEN", PyInt_FromLong(10));
	PyModule_AddObject(m, "RAP_WRemoteTODSet", PyInt_FromLong(294));
	PyModule_AddObject(m, "RAP_NetAlertStop", PyInt_FromLong(166));
	PyModule_AddObject(m, "RAP_WDeleteRIPLMachine", PyInt_FromLong(277));
	PyModule_AddObject(m, "RAP_WServiceEnum", PyInt_FromLong(39));
	PyModule_AddObject(m, "RAP_SAMOEMChgPasswordUser2_REQ", PyString_FromString("B516B16"));
	PyModule_AddObject(m, "RAP_NetAccessCheck", PyInt_FromLong(163));
	PyModule_AddObject(m, "RAP_TI_FTVerifyMirror", PyInt_FromLong(150));
	PyModule_AddObject(m, "RAP_WserverSetInfo", PyInt_FromLong(14));
	PyModule_AddObject(m, "RAP_NetGroupGetUsers_REQ", PyString_FromString("zWrLeh"));
	PyModule_AddObject(m, "RAP_FILE_INFO_L3", PyString_FromString("DWWzz"));
	PyModule_AddObject(m, "RAP_WPrt16Query", PyInt_FromLong(284));
	PyModule_AddObject(m, "RAP_NetWkstaUserLogoff_REQ", PyString_FromString("zzWb38WrLh"));
	PyModule_AddObject(m, "RAP_SHARE_INFO_L2", PyString_FromString("B13BWzWWWzB9B"));
	PyModule_AddObject(m, "RAP_wI_NetRplProfileSetInfo", PyInt_FromLong(193));
	PyModule_AddObject(m, "RAP_TI_FTSetInfo", PyInt_FromLong(153));
	PyModule_AddObject(m, "RAP_wI_NetRplProfileAdd", PyInt_FromLong(194));
	PyModule_AddObject(m, "RAP_WserverNameEnum", PyInt_FromLong(315));
	PyModule_AddObject(m, "RAP_W16RIPLMachineGetInfo", PyInt_FromLong(301));
	PyModule_AddObject(m, "RAP_WStatisticsGet", PyInt_FromLong(89));
	PyModule_AddObject(m, "RAP_SERVER_INFO_L3", PyString_FromString("B16BBDzDDDWWzWWWWWWWB21BzWWWWWWWWWWWWWWWWWWWWWWzDWz"));
	PyModule_AddObject(m, "RAP_WuserGetLogonAsn", PyInt_FromLong(257));
	PyModule_AddObject(m, "RAP_W16AppParmSet", PyInt_FromLong(299));
	PyModule_AddObject(m, "RAP_WUserRemoteLogonCheck2", PyInt_FromLong(287));
	PyModule_AddObject(m, "RAP_NetCharDevQEnum", PyInt_FromLong(24));
	PyModule_AddObject(m, "RAP_NetCharDevGetInfo", PyInt_FromLong(22));
	PyModule_AddObject(m, "RAP_WGroupGetInfo", PyInt_FromLong(106));
	PyModule_AddObject(m, "RAP_WauditClear", PyInt_FromLong(18));
	PyModule_AddObject(m, "RAP_wI_NetRplProfileDel", PyInt_FromLong(195));
	PyModule_AddObject(m, "RAP_WsessionDel", PyInt_FromLong(8));
	PyModule_AddObject(m, "RAP_NetWkstatGetInfo", PyString_FromString("WrLh"));
	PyModule_AddObject(m, "RAP_GROUP_USERS_INFO_1", PyString_FromString("B21BN"));
	PyModule_AddObject(m, "RAP_WConfigSet", PyInt_FromLong(211));
	PyModule_AddObject(m, "RAP_WPrintQEnum", PyInt_FromLong(69));
	PyModule_AddObject(m, "RAP_WGroupSetInfo", PyInt_FromLong(107));
	PyModule_AddObject(m, "RAP_WCharDevQPurge", PyInt_FromLong(27));
	PyModule_AddObject(m, "RAP_I_WDASDEnum", PyInt_FromLong(316));
	PyModule_AddObject(m, "RAP_WCharDevControl", PyInt_FromLong(23));
	PyModule_AddObject(m, "RAP_WappEnum", PyInt_FromLong(265));
	PyModule_AddObject(m, "RAP_WUserDCDBInit", PyInt_FromLong(266));
	PyModule_AddObject(m, "RAP_WUserEnum2", PyInt_FromLong(131));
	PyModule_AddObject(m, "RAP_WWkstaSetUID", PyInt_FromLong(62));
	PyModule_AddObject(m, "RAP_WUserGetInfo", PyInt_FromLong(56));
	PyModule_AddObject(m, "RAP_WProfileLoad", PyInt_FromLong(88));
	PyModule_AddObject(m, "RAP_TI_FTAbortVerify", PyInt_FromLong(151));
	PyModule_AddObject(m, "RAP_NetUserSetGroups_REQ", PyString_FromString("zWsTW"));
	PyModule_AddObject(m, "RAP_WServiceGetInfo", PyInt_FromLong(96));
	PyModule_AddObject(m, "RAP_WKSTA_INFO_L10", PyString_FromString("zzzBBzz"));
	PyModule_AddObject(m, "RAP_wI_NetRplBaseProfileEnum", PyInt_FromLong(197));
	PyModule_AddObject(m, "RAP_WappDel", PyInt_FromLong(262));
	PyModule_AddObject(m, "RAP_SRVCNAME_LEN", PyInt_FromLong(16));
	PyModule_AddObject(m, "RAP_WStatisticsClear", PyInt_FromLong(90));
	PyModule_AddObject(m, "RAP_NetUserEnum_REQ", PyString_FromString("WrLeh"));
	PyModule_AddObject(m, "RAP_NetServerEnum2", PyInt_FromLong(104));
	PyModule_AddObject(m, "RAP_WPrintQGetInfo", PyInt_FromLong(70));
	PyModule_AddObject(m, "RAP_WNetServerAuthenticate", PyInt_FromLong(127));
	PyModule_AddObject(m, "RAP_NetConnectionEntryGetInfo", PyInt_FromLong(179));
	PyModule_AddObject(m, "RAP_NetFileEntryClear", PyInt_FromLong(181));
	PyModule_AddObject(m, "RAP_WprintJobMoveAll", PyInt_FromLong(295));
	PyModule_AddObject(m, "RAP_WDASDSetInfo2", PyInt_FromLong(318));
	PyModule_AddObject(m, "RAP_W16RIPLMachClassSetInfo", PyInt_FromLong(308));
	PyModule_AddObject(m, "RAP_UPASSWD_LEN", PyInt_FromLong(16));
	PyModule_AddObject(m, "RAP_NetAlertStart", PyInt_FromLong(165));
	PyModule_AddObject(m, "RAP_SHARE_INFO_L0", PyString_FromString("B13"));
	PyModule_AddObject(m, "RAP_WUserModalsSet", PyInt_FromLong(111));
	PyModule_AddObject(m, "RAP_WWkstaGetInfo_REQ", PyString_FromString("WrLh"));
	PyModule_AddObject(m, "RAP_WPrintJobSetInfo_OLD", PyInt_FromLong(78));
	PyModule_AddObject(m, "RAP_NetServerEnum2_REQ", PyString_FromString("WrLehDz"));
	PyModule_AddObject(m, "RAP_WPrintDriverEnum", PyInt_FromLong(205));
	PyModule_AddObject(m, "RAP_WPrintDestControl", PyInt_FromLong(86));
	PyModule_AddObject(m, "RAP_WDASDSetInfo", PyInt_FromLong(270));
	PyModule_AddObject(m, "USER_PRIV_GUEST", PyInt_FromLong(USER_PRIV_GUEST));
	PyModule_AddObject(m, "RAP_USER_INFO_L0", PyString_FromString("B21"));
	PyModule_AddObject(m, "RAP_WEnumRIPLMachine", PyInt_FromLong(280));
	PyModule_AddObject(m, "RAP_TI_NetServerDiskGetInfo", PyInt_FromLong(149));
	PyModule_AddObject(m, "RAP_NetServerEnum", PyInt_FromLong(94));
	PyModule_AddObject(m, "RAP_PARAM_TIMESUBMITTED", PyInt_FromLong(RAP_PARAM_TIMESUBMITTED));
	PyModule_AddObject(m, "RAP_WNetWriteUpdateLog", PyInt_FromLong(208));
	PyModule_AddObject(m, "RAP_WappGetInfo", PyInt_FromLong(263));
	PyModule_AddObject(m, "RAP_NetCharDevQGetInfo", PyInt_FromLong(25));
	PyModule_AddObject(m, "AF_OP_COMM", PyInt_FromLong(AF_OP_COMM));
	PyModule_AddObject(m, "RAP_PARAM_JOBNUM", PyInt_FromLong(RAP_PARAM_JOBNUM));
	PyModule_AddObject(m, "RAP_SERVICE_INFO_L0", PyString_FromString("B16"));
	PyModule_AddObject(m, "RAP_NetIRemoteAPI", PyInt_FromLong(168));
	PyModule_AddObject(m, "RAP_WFileEnum2", PyInt_FromLong(112));
	PyModule_AddObject(m, "RAP_WPrintDestSetInfo", PyInt_FromLong(144));
	PyModule_AddObject(m, "RAP_NetSessionEnum_REQ", PyString_FromString("WrLeh"));
	PyModule_AddObject(m, "RAP_NetNameCanonicalize", PyInt_FromLong(140));
	PyModule_AddObject(m, "RAP_WserverAdminCommand", PyInt_FromLong(16));
	PyModule_AddObject(m, "RAP_WFileClose2", PyInt_FromLong(125));
	PyModule_AddObject(m, "RAP_TI_NetServerDiskEnum", PyInt_FromLong(148));
	PyModule_AddObject(m, "RAP_WWkstaGetInfo", PyInt_FromLong(63));
	PyModule_AddObject(m, "RAP_WGroupDelUser", PyInt_FromLong(51));
	PyModule_AddObject(m, "RAP_WPrintJobPause", PyInt_FromLong(82));
	PyModule_AddObject(m, "RAP_wI_NetRplWkstaSetInfo", PyInt_FromLong(188));
	PyModule_AddObject(m, "RAP_WUserPasswordSet2", PyInt_FromLong(115));
	PyModule_AddObject(m, "RAP_PARAM_USERNAME", PyInt_FromLong(RAP_PARAM_USERNAME));
	PyModule_AddObject(m, "RAP_WSetRIPLMachineInfo", PyInt_FromLong(279));
	PyModule_AddObject(m, "RAP_WshareGetInfo", PyInt_FromLong(1));
	PyModule_AddObject(m, "RAP_NetAuditWrite", PyInt_FromLong(167));
	PyModule_AddObject(m, "RAP_WProfileSave", PyInt_FromLong(87));
	PyModule_AddObject(m, "PRQ_ERROR", PyInt_FromLong(PRQ_ERROR));
	PyModule_AddObject(m, "RAP_WconnectionEnum", PyInt_FromLong(9));
	PyModule_AddObject(m, "RAP_WDASDEnum", PyInt_FromLong(271));
	PyModule_AddObject(m, "RAP_WAccessEnum", PyInt_FromLong(42));
	PyModule_AddObject(m, "RAP_W16RIPLMachineDelete", PyInt_FromLong(311));
	PyModule_AddObject(m, "RAP_WNetAccountSync", PyInt_FromLong(130));
	PyModule_AddObject(m, "RAP_AltSrvMessageBufferSend", PyInt_FromLong(184));
	PyModule_AddObject(m, "RAP_WPrintDestAdd", PyInt_FromLong(143));
	PyModule_AddObject(m, "RAP_WCreateRIPLMachine", PyInt_FromLong(276));
	PyModule_AddObject(m, "RAP_WPrintQPause", PyInt_FromLong(74));
	PyModule_AddObject(m, "RAP_WserverGetInfo_REQ", PyString_FromString("WrLh"));
	PyModule_AddObject(m, "RAP_WNetAccountDeltas", PyInt_FromLong(129));
	PyModule_AddObject(m, "RAP_PARAM_PARAMETERS_STRING", PyInt_FromLong(RAP_PARAM_PARAMETERS_STRING));
	PyModule_AddObject(m, "RAP_NetUserAdd2_REQ", PyString_FromString("WsTWW"));
	PyModule_AddObject(m, "RAP_wI_NetRplProfileClone", PyInt_FromLong(196));
	PyModule_AddObject(m, "RAP_MACHNAME_LEN", PyInt_FromLong(16));
	PyModule_AddObject(m, "RAP_WPrintJobGetInfo", PyInt_FromLong(77));
	PyModule_AddObject(m, "RAP_WappSetInfo", PyInt_FromLong(264));
	PyModule_AddObject(m, "RAP_WMessageNameGetInfo", PyInt_FromLong(30));
	PyModule_AddObject(m, "RAP_W16RIPLMachClassGetInfo", PyInt_FromLong(305));
	PyModule_AddObject(m, "RAP_SRVCCMNT_LEN", PyInt_FromLong(64));
	PyModule_AddObject(m, "RAP_TI_FTAbortFix", PyInt_FromLong(156));
	PyModule_AddObject(m, "RAP_NetServiceGetInfo_REQ", PyString_FromString("zWrLh"));
	PyModule_AddObject(m, "RAP_W16RIPLMachineSetInfo", PyInt_FromLong(302));
	PyModule_AddObject(m, "RAP_WAuditRead", PyInt_FromLong(142));
	PyModule_AddObject(m, "RAP_WDASDAdd", PyInt_FromLong(267));
	PyModule_AddObject(m, "RAP_NetServiceEnum_REQ", PyString_FromString("WrLeh"));
	PyModule_AddObject(m, "RAP_WNetBiosEnum", PyInt_FromLong(92));
	PyModule_AddObject(m, "RAP_WUserDel", PyInt_FromLong(55));
	PyModule_AddObject(m, "RAP_wI_NetRplWkstaAdd", PyInt_FromLong(189));
	PyModule_AddObject(m, "RAP_USERNAME_LEN", PyInt_FromLong(21));
	PyModule_AddObject(m, "RAP_NetNameCompare", PyInt_FromLong(141));
	PyModule_AddObject(m, "RAP_WaliasDel", PyInt_FromLong(253));
	PyModule_AddObject(m, "RAP_WUserSetInfo", PyInt_FromLong(57));
	PyModule_AddObject(m, "RAP_WMessageNameUnFwd", PyInt_FromLong(34));
	PyModule_AddObject(m, "RAP_WShareAdd_REQ", PyString_FromString("WsT"));
	PyModule_AddObject(m, "RAP_NetNameValidate", PyInt_FromLong(139));
	PyModule_AddObject(m, "RAP_WAccessAdd", PyInt_FromLong(45));
	PyModule_AddObject(m, "RAP_WDASDDel", PyInt_FromLong(268));
	PyModule_AddObject(m, "RAP_NetServerEnum3", PyInt_FromLong(215));
	PyModule_AddObject(m, "RAP_WPrintQAdd", PyInt_FromLong(72));
	PyModule_AddObject(m, "MAX_API", PyInt_FromLong(318));
	PyModule_AddObject(m, "RAP_WGroupSetUsers", PyInt_FromLong(108));
	PyModule_AddObject(m, "RAP_NetSessionEntryMake", PyInt_FromLong(172));
	PyModule_AddObject(m, "RAP_NetHandleSetInfo", PyInt_FromLong(121));
	PyModule_AddObject(m, "RAP_NetRemoteTOD", PyInt_FromLong(91));
	PyModule_AddObject(m, "RAP_WCharDevQPurgeSelf", PyInt_FromLong(28));
	PyModule_AddObject(m, "RAP_WPrintDestDel", PyInt_FromLong(145));
	PyModule_AddObject(m, "RAP_WUseEnum", PyInt_FromLong(65));
	PyModule_AddObject(m, "RAP_WGroupAddUser", PyInt_FromLong(50));
	PyModule_AddObject(m, "RAP_WaccessApply", PyInt_FromLong(283));
	PyModule_AddObject(m, "RAP_NetConnectionEnum_REQ", PyString_FromString("zWrLeh"));
	PyModule_AddObject(m, "RAP_NetSessionEntryClear", PyInt_FromLong(173));
	PyModule_AddObject(m, "RAP_WUserEnum", PyInt_FromLong(53));
	PyModule_AddObject(m, "RAP_WshareDel", PyInt_FromLong(4));
	PyModule_AddObject(m, "RAP_AltSrvMessageFileSend", PyInt_FromLong(185));
	PyModule_AddObject(m, "RAP_NetUserEnum2_REQ", PyString_FromString("WrLDieh"));
	PyModule_AddObject(m, "RAP_WfileGetInfo", PyInt_FromLong(11));
	PyModule_AddObject(m, "RAP_WuserRemoteLogonCheck", PyInt_FromLong(274));
	PyModule_AddObject(m, "RAP_NetUserGetGroups_REQ", PyString_FromString("zWrLeh"));
	PyModule_AddObject(m, "RAP_WNetBiosGetInfo", PyInt_FromLong(93));
	PyModule_AddObject(m, "RAP_WPrintDestEnum", PyInt_FromLong(84));
	PyModule_AddObject(m, "RAP_WServiceInstall", PyInt_FromLong(40));
	PyModule_AddObject(m, "RAP_WshareEnum", PyInt_FromLong(0));
	PyModule_AddObject(m, "USER_PRIV_USER", PyInt_FromLong(USER_PRIV_USER));
	PyModule_AddObject(m, "RAP_GROUP_INFO_L0", PyString_FromString("B21"));
	PyModule_AddObject(m, "RAP_WPrt16Set", PyInt_FromLong(285));
	PyModule_AddObject(m, "RAP_FILE_INFO_L2", PyString_FromString("D"));
	PyModule_AddObject(m, "RAP_WUserSetGroups", PyInt_FromLong(109));
	PyModule_AddObject(m, "RAP_WAccessGetInfo", PyInt_FromLong(43));
	PyModule_AddObject(m, "RAP_W16RIPLMachClassDelete", PyInt_FromLong(309));
	PyModule_AddObject(m, "RAP_WAccountsReplicate", PyInt_FromLong(212));
	PyModule_AddObject(m, "RAP_WprintDriverSetInfo", PyInt_FromLong(251));
	PyModule_AddObject(m, "RAP_TI_FTFixError", PyInt_FromLong(155));
	PyModule_AddObject(m, "RAP_WNetServerPasswordSet", PyInt_FromLong(128));
	PyModule_AddObject(m, "RAP_WerrorLogClear", PyInt_FromLong(20));
	PyModule_AddObject(m, "PRJ_QS_QUEUED", PyInt_FromLong(PRJ_QS_QUEUED));
	PyModule_AddObject(m, "RAP_WPrintJobDel", PyInt_FromLong(81));
	PyModule_AddObject(m, "RAP_WStatisticsGet2", PyInt_FromLong(122));
	PyModule_AddObject(m, "RAP_WAccessDel", PyInt_FromLong(46));
	PyModule_AddObject(m, "PRJ_QS_PRINTING", PyInt_FromLong(PRJ_QS_PRINTING));
	PyModule_AddObject(m, "RAP_WserverDiskEnum", PyInt_FromLong(15));
	PyModule_AddObject(m, "PRJ_QS_PAUSED", PyInt_FromLong(PRJ_QS_PAUSED));
	PyModule_AddObject(m, "RAP_I_NetServerEnum", PyInt_FromLong(95));
	PyModule_AddObject(m, "RAP_wI_NetRplWkstaGetInfo", PyInt_FromLong(187));
	PyModule_AddObject(m, "RAP_USER_LOGOFF_INFO_L1", PyString_FromString("WDW"));
	PyModule_AddObject(m, "RAP_WGroupDel", PyInt_FromLong(49));
	PyModule_AddObject(m, "RAP_NetConnectionEntrySetInfo", PyInt_FromLong(178));
	PyModule_AddObject(m, "RAP_SERVER_INFO_L2", PyString_FromString("B16BBDzDDDWWzWWWWWWWB21BzWWWWWWWWWWWWWWWWWWWWWWz"));
	PyModule_AddObject(m, "RAP_WUserAdd", PyInt_FromLong(54));
	PyModule_AddObject(m, "RAP_WfileClose", PyInt_FromLong(12));
	PyModule_AddObject(m, "AF_OP_SERVER", PyInt_FromLong(AF_OP_SERVER));
	PyModule_AddObject(m, "RAP_WFileGetInfo2", PyInt_FromLong(124));
	PyModule_AddObject(m, "RAP_WPrintQPurge", PyInt_FromLong(103));
	PyModule_AddObject(m, "RAP_NetCharDevEnum", PyInt_FromLong(21));
	PyModule_AddObject(m, "RAP_SPASSWD_LEN", PyInt_FromLong(9));
	PyModule_AddObject(m, "RAP_GROUP_USERS_INFO_0", PyString_FromString("B21"));
	PyModule_AddObject(m, "RAP_NetServiceInstall_REQ", PyString_FromString("zF88sg88T"));
	PyModule_AddObject(m, "RAP_NetGroupEnum_REQ", PyString_FromString("WrLeh"));
	PyModule_AddObject(m, "RAP_NetFileEntryMake", PyInt_FromLong(180));
	PyModule_AddObject(m, "RAP_WPrintQProcessorEnum", PyInt_FromLong(206));
	PyModule_AddObject(m, "RAP_WPrintQDel", PyInt_FromLong(73));
	PyModule_AddObject(m, "RAP_WWkstaUserLogon", PyInt_FromLong(132));
	PyModule_AddObject(m, "PRQ_PAUSE", PyInt_FromLong(PRQ_PAUSE));
	PyModule_AddObject(m, "NERR_Success", PyInt_FromLong(NERR_Success));
	PyModule_AddObject(m, "RAP_NetPathType", PyInt_FromLong(136));
	PyModule_AddObject(m, "RAP_W16RIPLMachClassCreate", PyInt_FromLong(307));
	PyModule_AddObject(m, "RAP_WUserDel100", PyInt_FromLong(286));
	PyModule_AddObject(m, "RAP_TI_FTDiagnoseError", PyInt_FromLong(157));
	PyModule_AddObject(m, "RAP_I_NetServerEnum2", PyInt_FromLong(116));
	PyModule_AddObject(m, "RAP_NetServiceControl_REQ", PyString_FromString("zWWrL"));
	PyModule_AddObject(m, "RAP_WUserPasswordSet", PyInt_FromLong(58));
	PyModule_AddObject(m, "RAP_WUserGetGroups", PyInt_FromLong(59));
	PyModule_AddObject(m, "RAP_WUserPasswordSet3", PyInt_FromLong(275));
	PyModule_AddObject(m, "RAP_WShareDel_REQ", PyString_FromString("zW"));
	PyModule_AddObject(m, "RAP_WMessageNameDel", PyInt_FromLong(32));
	PyModule_AddObject(m, "RAP_WfileEnum", PyInt_FromLong(10));
	PyModule_AddObject(m, "RAP_NetPathCompare", PyInt_FromLong(138));
	PyModule_AddObject(m, "RAP_WErrorLogRead", PyInt_FromLong(135));
	PyModule_AddObject(m, "RAP_PARAM_JOBSTATUSSTR", PyInt_FromLong(RAP_PARAM_JOBSTATUSSTR));
	PyModule_AddObject(m, "RAP_WMessageNameAdd", PyInt_FromLong(31));
	PyModule_AddObject(m, "RAP_GROUP_INFO_L1", PyString_FromString("B21Bz"));
	Py_INCREF((PyObject *)(void *)&rap_group_info_1_Type);
	PyModule_AddObject(m, "group_info_1", (PyObject *)(void *)&rap_group_info_1_Type);
	Py_INCREF((PyObject *)(void *)&rap_user_info_1_Type);
	PyModule_AddObject(m, "user_info_1", (PyObject *)(void *)&rap_user_info_1_Type);
	Py_INCREF((PyObject *)(void *)&rap_service_info_2_Type);
	PyModule_AddObject(m, "service_info_2", (PyObject *)(void *)&rap_service_info_2_Type);
	Py_INCREF((PyObject *)(void *)&rap_share_info_0_Type);
	PyModule_AddObject(m, "share_info_0", (PyObject *)(void *)&rap_share_info_0_Type);
	Py_INCREF((PyObject *)(void *)&rap_share_info_1_Type);
	PyModule_AddObject(m, "share_info_1", (PyObject *)(void *)&rap_share_info_1_Type);
	Py_INCREF((PyObject *)(void *)&rap_share_info_2_Type);
	PyModule_AddObject(m, "share_info_2", (PyObject *)(void *)&rap_share_info_2_Type);
	Py_INCREF((PyObject *)(void *)&rap_server_info_0_Type);
	PyModule_AddObject(m, "server_info_0", (PyObject *)(void *)&rap_server_info_0_Type);
	Py_INCREF((PyObject *)(void *)&rap_server_info_1_Type);
	PyModule_AddObject(m, "server_info_1", (PyObject *)(void *)&rap_server_info_1_Type);
	Py_INCREF((PyObject *)(void *)&rap_PrintJobInfo0_Type);
	PyModule_AddObject(m, "PrintJobInfo0", (PyObject *)(void *)&rap_PrintJobInfo0_Type);
	Py_INCREF((PyObject *)(void *)&rap_PrintJobInfo1_Type);
	PyModule_AddObject(m, "PrintJobInfo1", (PyObject *)(void *)&rap_PrintJobInfo1_Type);
	Py_INCREF((PyObject *)(void *)&rap_PrintJobInfo2_Type);
	PyModule_AddObject(m, "PrintJobInfo2", (PyObject *)(void *)&rap_PrintJobInfo2_Type);
	Py_INCREF((PyObject *)(void *)&rap_PrintJobInfo3_Type);
	PyModule_AddObject(m, "PrintJobInfo3", (PyObject *)(void *)&rap_PrintJobInfo3_Type);
	Py_INCREF((PyObject *)(void *)&rap_PrintQueue0_Type);
	PyModule_AddObject(m, "PrintQueue0", (PyObject *)(void *)&rap_PrintQueue0_Type);
	Py_INCREF((PyObject *)(void *)&rap_PrintQueue1_Type);
	PyModule_AddObject(m, "PrintQueue1", (PyObject *)(void *)&rap_PrintQueue1_Type);
	Py_INCREF((PyObject *)(void *)&rap_PrintQueue2_Type);
	PyModule_AddObject(m, "PrintQueue2", (PyObject *)(void *)&rap_PrintQueue2_Type);
	Py_INCREF((PyObject *)(void *)&rap_PrintQueue3_Type);
	PyModule_AddObject(m, "PrintQueue3", (PyObject *)(void *)&rap_PrintQueue3_Type);
	Py_INCREF((PyObject *)(void *)&rap_PrintQueue4_Type);
	PyModule_AddObject(m, "PrintQueue4", (PyObject *)(void *)&rap_PrintQueue4_Type);
	Py_INCREF((PyObject *)(void *)&rap_PrintQueue5_Type);
	PyModule_AddObject(m, "PrintQueue5", (PyObject *)(void *)&rap_PrintQueue5_Type);
	Py_INCREF((PyObject *)(void *)&rap_PrintDest0_Type);
	PyModule_AddObject(m, "PrintDest0", (PyObject *)(void *)&rap_PrintDest0_Type);
	Py_INCREF((PyObject *)(void *)&rap_PrintDest1_Type);
	PyModule_AddObject(m, "PrintDest1", (PyObject *)(void *)&rap_PrintDest1_Type);
	Py_INCREF((PyObject *)(void *)&rap_PrintDest2_Type);
	PyModule_AddObject(m, "PrintDest2", (PyObject *)(void *)&rap_PrintDest2_Type);
	Py_INCREF((PyObject *)(void *)&rap_PrintDest3_Type);
	PyModule_AddObject(m, "PrintDest3", (PyObject *)(void *)&rap_PrintDest3_Type);
	Py_INCREF((PyObject *)(void *)&rap_NetUserInfo0_Type);
	PyModule_AddObject(m, "NetUserInfo0", (PyObject *)(void *)&rap_NetUserInfo0_Type);
	Py_INCREF((PyObject *)(void *)&rap_NetUserInfo1_Type);
	PyModule_AddObject(m, "NetUserInfo1", (PyObject *)(void *)&rap_NetUserInfo1_Type);
	Py_INCREF((PyObject *)(void *)&rap_LogonHours_Type);
	PyModule_AddObject(m, "LogonHours", (PyObject *)(void *)&rap_LogonHours_Type);
	Py_INCREF((PyObject *)(void *)&rap_NetUserInfo2_Type);
	PyModule_AddObject(m, "NetUserInfo2", (PyObject *)(void *)&rap_NetUserInfo2_Type);
	Py_INCREF((PyObject *)(void *)&rap_NetUserInfo10_Type);
	PyModule_AddObject(m, "NetUserInfo10", (PyObject *)(void *)&rap_NetUserInfo10_Type);
	Py_INCREF((PyObject *)(void *)&rap_NetUserInfo11_Type);
	PyModule_AddObject(m, "NetUserInfo11", (PyObject *)(void *)&rap_NetUserInfo11_Type);
	Py_INCREF((PyObject *)(void *)&rap_session_info_2_Type);
	PyModule_AddObject(m, "session_info_2", (PyObject *)(void *)&rap_session_info_2_Type);
	Py_INCREF((PyObject *)(void *)&rap_TimeOfDayInfo_Type);
	PyModule_AddObject(m, "TimeOfDayInfo", (PyObject *)(void *)&rap_TimeOfDayInfo_Type);
#ifdef PY_MOD_RAP_PATCH
	PY_MOD_RAP_PATCH(m);
#endif

}
