summaryrefslogtreecommitdiff
path: root/source3/libsmb/clientgen.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>1998-10-04 10:14:21 +0000
committerAndrew Tridgell <tridge@samba.org>1998-10-04 10:14:21 +0000
commita1b002fcbe5daa91ce8bc94b73760e2428238315 (patch)
tree005af724097b775b4b277b20590446eb91af7c7d /source3/libsmb/clientgen.c
parent6760e69a68571e01ee57b959193a56278962a23c (diff)
downloadsamba-a1b002fcbe5daa91ce8bc94b73760e2428238315.tar.gz
samba-a1b002fcbe5daa91ce8bc94b73760e2428238315.tar.bz2
samba-a1b002fcbe5daa91ce8bc94b73760e2428238315.zip
add support for unlink() on printer shares in smbwrapper. unlink()
will remove the job from the pirnt queue. (This used to be commit 7bd738c30a09a211fd14a8544309efeec17c66f5)
Diffstat (limited to 'source3/libsmb/clientgen.c')
-rw-r--r--source3/libsmb/clientgen.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/source3/libsmb/clientgen.c b/source3/libsmb/clientgen.c
index 0e01370f5d..e4aa15c6eb 100644
--- a/source3/libsmb/clientgen.c
+++ b/source3/libsmb/clientgen.c
@@ -2495,6 +2495,43 @@ BOOL cli_establish_connection(struct cli_state *cli,
}
+/****************************************************************************
+ cancel a print job
+ ****************************************************************************/
+int cli_printjob_del(struct cli_state *cli, int job)
+{
+ char *rparam = NULL;
+ char *rdata = NULL;
+ char *p;
+ int rdrcnt,rprcnt, ret = -1;
+ pstring param;
+
+ bzero(param,sizeof(param));
+
+ p = param;
+ SSVAL(p,0,81); /* DosPrintJobDel() */
+ p += 2;
+ pstrcpy(p,"W");
+ p = skip_string(p,1);
+ pstrcpy(p,"");
+ p = skip_string(p,1);
+ SSVAL(p,0,job);
+ p += 2;
+
+ if (cli_api(cli,
+ param, PTR_DIFF(p,param), 1024, /* Param, length, maxlen */
+ NULL, 0, CLI_BUFFER_SIZE, /* data, length, maxlen */
+ &rparam, &rprcnt, /* return params, length */
+ &rdata, &rdrcnt)) { /* return data, length */
+ ret = SVAL(rparam,0);
+ }
+
+ if (rparam) free(rparam);
+ if (rdata) free(rdata);
+
+ return ret;
+}
+
/****************************************************************************
call fn() on each entry in a print queue