diff options
author | Tim Potter <tpot@samba.org> | 2002-05-14 06:09:59 +0000 |
---|---|---|
committer | Tim Potter <tpot@samba.org> | 2002-05-14 06:09:59 +0000 |
commit | 307788d0b823f228c718b2a186fc66144fd55717 (patch) | |
tree | e1c64662d5450060198f383eed0203780d6a0c38 /source/python/py_spoolss_jobs.c | |
parent | 89633a1d87d2a437dc1ceab9439f415ee1ec606d (diff) | |
download | samba-307788d0b823f228c718b2a186fc66144fd55717.tar.gz samba-307788d0b823f228c718b2a186fc66144fd55717.tar.xz samba-307788d0b823f228c718b2a186fc66144fd55717.zip |
Added writeprinter command.
Diffstat (limited to 'source/python/py_spoolss_jobs.c')
-rw-r--r-- | source/python/py_spoolss_jobs.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/source/python/py_spoolss_jobs.c b/source/python/py_spoolss_jobs.c index 3d2295b88e8..6951ebab9a8 100644 --- a/source/python/py_spoolss_jobs.c +++ b/source/python/py_spoolss_jobs.c @@ -349,3 +349,34 @@ PyObject *spoolss_enddocprinter(PyObject *self, PyObject *args, PyObject *kw) Py_INCREF(Py_None); return Py_None; } + +/* Write data to a printer */ + +PyObject *spoolss_writeprinter(PyObject *self, PyObject *args, PyObject *kw) +{ + spoolss_policy_hnd_object *hnd = (spoolss_policy_hnd_object *)self; + WERROR werror; + static char *kwlist[] = { "data", NULL }; + PyObject *data; + uint32 num_written; + + /* Parse parameters */ + + if (!PyArg_ParseTupleAndKeywords(args, kw, "O!", kwlist, + &PyString_Type, &data)) + return NULL; + + /* Call rpc function */ + + werror = cli_spoolss_writeprinter( + hnd->cli, hnd->mem_ctx, &hnd->pol, PyString_Size(data), + PyString_AsString(data), &num_written); + + if (!W_ERROR_IS_OK(werror)) { + PyErr_SetObject(spoolss_werror, py_werror_tuple(werror)); + return NULL; + } + + Py_INCREF(Py_None); + return Py_None; +} |