diff options
author | Günther Deschner <gd@samba.org> | 2009-03-20 15:53:17 +0100 |
---|---|---|
committer | Günther Deschner <gd@samba.org> | 2009-03-20 17:20:33 +0100 |
commit | d2de9b068c19a8eaac64f9cf4ea4aae153cffcd4 (patch) | |
tree | 68f5d71cfec1ecad8770d725dc6477fa42a5dc2e | |
parent | aa6dbcfc11b74c1e80728bc295d9612ba4eb1e64 (diff) | |
download | samba-d2de9b068c19a8eaac64f9cf4ea4aae153cffcd4.tar.gz samba-d2de9b068c19a8eaac64f9cf4ea4aae153cffcd4.tar.bz2 samba-d2de9b068c19a8eaac64f9cf4ea4aae153cffcd4.zip |
s3-spoolss: implement enumprinters_level4.
Guenther
-rw-r--r-- | source3/rpc_server/srv_spoolss_nt.c | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c index ebb5ec4671..0d649e8cbf 100644 --- a/source3/rpc_server/srv_spoolss_nt.c +++ b/source3/rpc_server/srv_spoolss_nt.c @@ -4253,6 +4253,10 @@ static WERROR enum_all_printers_info_level(TALLOC_CTX *mem_ctx, result = construct_printer_info2(info, ntprinter, &info[count].info2, snum); break; + case 4: + result = construct_printer_info4(info, ntprinter, + &info[count].info4, snum); + break; case 5: result = construct_printer_info5(info, ntprinter, &info[count].info5, snum); @@ -4440,6 +4444,22 @@ static WERROR enumprinters_level2(TALLOC_CTX *mem_ctx, } /******************************************************************** + * handle enumeration of printers at level 4 + ********************************************************************/ + +static WERROR enumprinters_level4(TALLOC_CTX *mem_ctx, + uint32_t flags, + const char *servername, + union spoolss_PrinterInfo **info, + uint32_t *count) +{ + DEBUG(4,("enum_all_printers_info_4\n")); + + return enum_all_printers_info_level(mem_ctx, 4, flags, info, count); +} + + +/******************************************************************** * handle enumeration of printers at level 5 ********************************************************************/ @@ -4501,12 +4521,15 @@ WERROR _spoolss_EnumPrinters(pipes_struct *p, result = enumprinters_level2(p->mem_ctx, r->in.flags, name, r->out.info, r->out.count); break; + case 4: + result = enumprinters_level4(p->mem_ctx, r->in.flags, name, + r->out.info, r->out.count); + break; case 5: result = enumprinters_level5(p->mem_ctx, r->in.flags, name, r->out.info, r->out.count); break; case 3: - case 4: result = WERR_OK; /* ??? */ break; default: |