00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef _PY_SPOOLSS_H
00022 #define _PY_SPOOLSS_H
00023
00024 #include "python/py_common.h"
00025
00026
00027
00028 typedef struct {
00029 PyObject_HEAD
00030 struct rpc_pipe_client *cli;
00031 TALLOC_CTX *mem_ctx;
00032 POLICY_HND pol;
00033 } spoolss_policy_hnd_object;
00034
00035
00036
00037 extern PyTypeObject spoolss_policy_hnd_type;
00038
00039 extern PyObject *spoolss_error, *spoolss_werror;
00040
00041
00042
00043 PyObject *new_spoolss_policy_hnd_object(struct cli_state *cli,
00044 TALLOC_CTX *mem_ctx, POLICY_HND *pol);
00045
00046
00047
00048 PyObject *spoolss_enumprinterdrivers(PyObject *self, PyObject *args,
00049 PyObject *kw);
00050 PyObject *spoolss_hnd_getprinterdriver(PyObject *self, PyObject *args,
00051 PyObject *kw);
00052 PyObject *spoolss_getprinterdriverdir(PyObject *self, PyObject *args,
00053 PyObject *kw);
00054 PyObject *spoolss_addprinterdriver(PyObject *self, PyObject *args,
00055 PyObject *kw);
00056 PyObject *spoolss_addprinterdriverex(PyObject *self, PyObject *args,
00057 PyObject *kw);
00058 PyObject *spoolss_deleteprinterdriver(PyObject *self, PyObject *args,
00059 PyObject *kw);
00060 PyObject *spoolss_deleteprinterdriverex(PyObject *self, PyObject *args,
00061 PyObject *kw);
00062
00063
00064
00065 BOOL py_from_DRIVER_INFO_1(PyObject **dict, DRIVER_INFO_1 *info);
00066 BOOL py_to_DRIVER_INFO_1(DRIVER_INFO_1 *info, PyObject *dict);
00067 BOOL py_from_DRIVER_INFO_2(PyObject **dict, DRIVER_INFO_2 *info);
00068 BOOL py_to_DRIVER_INFO_2(DRIVER_INFO_2 *info, PyObject *dict);
00069 BOOL py_from_DRIVER_INFO_3(PyObject **dict, DRIVER_INFO_3 *info);
00070 BOOL py_to_DRIVER_INFO_3(DRIVER_INFO_3 *info, PyObject *dict,
00071 TALLOC_CTX *mem_ctx);
00072 BOOL py_from_DRIVER_INFO_6(PyObject **dict, DRIVER_INFO_6 *info);
00073 BOOL py_to_DRIVER_INFO_6(DRIVER_INFO_6 *info, PyObject *dict);
00074 BOOL py_from_DRIVER_DIRECTORY_1(PyObject **dict, DRIVER_DIRECTORY_1 *info);
00075 BOOL py_to_DRIVER_DIRECTORY_1(DRIVER_DIRECTORY_1 *info, PyObject *dict);
00076
00077
00078
00079 PyObject *spoolss_hnd_addform(PyObject *self, PyObject *args, PyObject *kw);
00080 PyObject *spoolss_hnd_getform(PyObject *self, PyObject *args, PyObject *kw);
00081 PyObject *spoolss_hnd_setform(PyObject *self, PyObject *args, PyObject *kw);
00082 PyObject *spoolss_hnd_deleteform(PyObject *self, PyObject *args, PyObject *kw);
00083 PyObject *spoolss_hnd_enumforms(PyObject *self, PyObject *args, PyObject *kw);
00084
00085
00086
00087 BOOL py_from_FORM_1(PyObject **dict, FORM_1 *form);
00088 BOOL py_to_FORM(FORM *form, PyObject *dict);
00089
00090
00091
00092 PyObject *spoolss_hnd_enumjobs(PyObject *self, PyObject *args, PyObject *kw);
00093 PyObject *spoolss_hnd_setjob(PyObject *self, PyObject *args, PyObject *kw);
00094 PyObject *spoolss_hnd_getjob(PyObject *self, PyObject *args, PyObject *kw);
00095 PyObject *spoolss_hnd_startpageprinter(PyObject *self, PyObject *args, PyObject *kw);
00096 PyObject *spoolss_hnd_endpageprinter(PyObject *self, PyObject *args, PyObject *kw);
00097 PyObject *spoolss_hnd_startdocprinter(PyObject *self, PyObject *args, PyObject *kw);
00098 PyObject *spoolss_hnd_enddocprinter(PyObject *self, PyObject *args, PyObject *kw);
00099 PyObject *spoolss_hnd_writeprinter(PyObject *self, PyObject *args, PyObject *kw);
00100 PyObject *spoolss_hnd_addjob(PyObject *self, PyObject *args, PyObject *kw);
00101
00102
00103
00104 BOOL py_from_JOB_INFO_1(PyObject **dict, JOB_INFO_1 *info);
00105 BOOL py_to_JOB_INFO_1(JOB_INFO_1 *info, PyObject *dict);
00106 BOOL py_from_JOB_INFO_2(PyObject **dict, JOB_INFO_2 *info);
00107 BOOL py_to_JOB_INFO_2(JOB_INFO_2 *info, PyObject *dict);
00108 BOOL py_from_DOC_INFO_1(PyObject **dict, DOC_INFO_1 *info);
00109 BOOL py_to_DOC_INFO_1(DOC_INFO_1 *info, PyObject *dict);
00110
00111
00112
00113 PyObject *spoolss_enumports(PyObject *self, PyObject *args, PyObject *kw);
00114
00115
00116
00117 BOOL py_from_PORT_INFO_1(PyObject **dict, PORT_INFO_1 *info);
00118 BOOL py_to_PORT_INFO_1(PORT_INFO_1 *info, PyObject *dict);
00119 BOOL py_from_PORT_INFO_2(PyObject **dict, PORT_INFO_2 *info);
00120 BOOL py_to_PORT_INFO_2(PORT_INFO_2 *info, PyObject *dict);
00121
00122
00123
00124 PyObject *spoolss_hnd_getprinterdata(PyObject *self, PyObject *args, PyObject *kw);
00125 PyObject *spoolss_hnd_setprinterdata(PyObject *self, PyObject *args, PyObject *kw);
00126 PyObject *spoolss_hnd_enumprinterdata(PyObject *self, PyObject *args, PyObject *kw);
00127 PyObject *spoolss_hnd_deleteprinterdata(PyObject *self, PyObject *args, PyObject *kw);
00128 PyObject *spoolss_hnd_getprinterdataex(PyObject *self, PyObject *args, PyObject *kw);
00129 PyObject *spoolss_hnd_setprinterdataex(PyObject *self, PyObject *args, PyObject *kw);
00130 PyObject *spoolss_hnd_enumprinterdataex(PyObject *self, PyObject *args, PyObject *kw);
00131 PyObject *spoolss_hnd_deleteprinterdataex(PyObject *self, PyObject *args, PyObject *kw);
00132 PyObject *spoolss_hnd_enumprinterkey(PyObject *self, PyObject *args,
00133 PyObject *kw);
00134 PyObject *spoolss_hnd_deleteprinterkey(PyObject *self, PyObject *args,
00135 PyObject *kw);
00136
00137
00138
00139 PyObject *spoolss_openprinter(PyObject *self, PyObject *args, PyObject *kw);
00140 PyObject *spoolss_closeprinter(PyObject *self, PyObject *args);
00141 PyObject *spoolss_hnd_getprinter(PyObject *self, PyObject *args, PyObject *kw);
00142 PyObject *spoolss_hnd_setprinter(PyObject *self, PyObject *args, PyObject *kw);
00143 PyObject *spoolss_enumprinters(PyObject *self, PyObject *args, PyObject *kw);
00144 PyObject *spoolss_addprinterex(PyObject *self, PyObject *args, PyObject *kw);
00145
00146
00147
00148 BOOL py_from_DEVICEMODE(PyObject **dict, DEVICEMODE *devmode);
00149 BOOL py_to_DEVICEMODE(DEVICEMODE *devmode, PyObject *dict);
00150 BOOL py_from_PRINTER_INFO_0(PyObject **dict, PRINTER_INFO_0 *info);
00151 BOOL py_to_PRINTER_INFO_0(PRINTER_INFO_0 *info, PyObject *dict);
00152 BOOL py_from_PRINTER_INFO_1(PyObject **dict, PRINTER_INFO_1 *info);
00153 BOOL py_to_PRINTER_INFO_1(PRINTER_INFO_1 *info, PyObject *dict);
00154 BOOL py_from_PRINTER_INFO_2(PyObject **dict, PRINTER_INFO_2 *info);
00155 BOOL py_to_PRINTER_INFO_2(PRINTER_INFO_2 *info, PyObject *dict,
00156 TALLOC_CTX *mem_ctx);
00157 BOOL py_from_PRINTER_INFO_3(PyObject **dict, PRINTER_INFO_3 *info);
00158 BOOL py_to_PRINTER_INFO_3(PRINTER_INFO_3 *info, PyObject *dict,
00159 TALLOC_CTX *mem_ctx);
00160
00161 #endif