summaryrefslogtreecommitdiff
path: root/source3/printing/nt_printing.c
diff options
context:
space:
mode:
authorJean-François Micouleau <jfm@samba.org>2000-03-10 17:12:24 +0000
committerJean-François Micouleau <jfm@samba.org>2000-03-10 17:12:24 +0000
commite0ebb76a7453c07c16e8f736233226a774ab58e8 (patch)
tree4fd3de938678780c5c443e68ebb0e258b1ca9447 /source3/printing/nt_printing.c
parent115d98e639b94fdd0773bfb9516af14d857c59d2 (diff)
downloadsamba-e0ebb76a7453c07c16e8f736233226a774ab58e8.tar.gz
samba-e0ebb76a7453c07c16e8f736233226a774ab58e8.tar.bz2
samba-e0ebb76a7453c07c16e8f736233226a774ab58e8.zip
getprinter level 0: was to short, found most of the fields, undocumented,
undecoded, nothing in MSDN, but now it works :-) cleanup of error codes. fixed some dfs declarations function. J.F. (This used to be commit 87da4404aba29a2ebd999886e4c06958c96d3e05)
Diffstat (limited to 'source3/printing/nt_printing.c')
-rw-r--r--source3/printing/nt_printing.c90
1 files changed, 57 insertions, 33 deletions
diff --git a/source3/printing/nt_printing.c b/source3/printing/nt_printing.c
index 061b41e123..a3320beccb 100644
--- a/source3/printing/nt_printing.c
+++ b/source3/printing/nt_printing.c
@@ -1,3 +1,25 @@
+/*
+ * Unix SMB/Netbios implementation.
+ * Version 1.9.
+ * RPC Pipe client / server routines
+ * Copyright (C) Andrew Tridgell 1992-2000,
+ * Copyright (C) Jean François Micouleau 1998-2000.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
#include "includes.h"
#include "nterr.h"
@@ -397,7 +419,7 @@ static uint32 get_a_printer_driver_3(NT_PRINTER_DRIVER_INFO_LEVEL_3 **info_ptr,
v=strncpyn(p, line, sizeof(p), ':');
if (v==NULL)
{
- DEBUG(1, ("malformed printer entry (no :)\n"));
+ DEBUG(1, ("malformed printer driver entry (no :)\n"));
continue;
}
@@ -444,7 +466,6 @@ static uint32 get_a_printer_driver_3(NT_PRINTER_DRIVER_INFO_LEVEL_3 **info_ptr,
StrnCpy(dependentfiles[i], v, strlen(v) );
i++;
}
-
}
free(line);
@@ -478,12 +499,8 @@ static uint32 dump_a_printer_driver(NT_PRINTER_DRIVER_INFO_LEVEL driver, uint32
case 3:
{
if (driver.info_3 == NULL)
- {
- DEBUGADD(103,("NULL pointer, memory not alloced ?\n"));
success=5;
- }
- else
- {
+ else {
info3=driver.info_3;
DEBUGADD(106,("version:[%d]\n", info3->cversion));
@@ -619,6 +636,9 @@ static uint32 add_a_printer_2(NT_PRINTER_INFO_LEVEL_2 *info)
fprintf(f, "status: %d\n", info->status);
fprintf(f, "cjobs: %d\n", info->cjobs);
fprintf(f, "averageppm: %d\n", info->averageppm);
+ fprintf(f, "changeid: %d\n", info->changeid);
+ fprintf(f, "c_setprinter: %d\n", info->c_setprinter);
+ fprintf(f, "setuptime: %d\n", (int)info->setuptime);
/*
* in addprinter: no servername and the printer is the name
@@ -641,7 +661,6 @@ static uint32 add_a_printer_2(NT_PRINTER_INFO_LEVEL_2 *info)
fprintf(f, "sharename: %s\n", info->sharename);
fprintf(f, "portname: %s\n", info->portname);
fprintf(f, "drivername: %s\n", info->drivername);
- fprintf(f, "comment: %s\n", info->comment);
fprintf(f, "location: %s\n", info->location);
fprintf(f, "sepfile: %s\n", info->sepfile);
fprintf(f, "printprocessor: %s\n", info->printprocessor);
@@ -865,6 +884,15 @@ static uint32 get_a_printer_2(NT_PRINTER_INFO_LEVEL_2 **info_ptr, fstring sharen
if (!strncmp(p, "averageppm", strlen("averageppm")))
info->averageppm=atoi(v);
+ if (!strncmp(p, "changeid", strlen("changeid")))
+ info->changeid=atoi(v);
+
+ if (!strncmp(p, "c_setprinter", strlen("c_setprinter")))
+ info->c_setprinter=atoi(v);
+
+ if (!strncmp(p, "setuptime", strlen("setuptime")))
+ info->setuptime=atoi(v);
+
if (!strncmp(p, "servername", strlen("servername")))
StrnCpy(info->servername, v, strlen(v));
@@ -880,9 +908,6 @@ static uint32 get_a_printer_2(NT_PRINTER_INFO_LEVEL_2 **info_ptr, fstring sharen
if (!strncmp(p, "drivername", strlen("drivername")))
StrnCpy(info->drivername, v, strlen(v));
- if (!strncmp(p, "comment", strlen("comment")))
- StrnCpy(info->comment, v, strlen(v));
-
if (!strncmp(p, "location", strlen("location")))
StrnCpy(info->location, v, strlen(v));
@@ -1015,34 +1040,33 @@ static uint32 dump_a_printer(NT_PRINTER_INFO_LEVEL printer, uint32 level)
case 2:
{
if (printer.info_2 == NULL)
- {
- DEBUGADD(3,("NULL pointer, memory not alloced ?\n"));
success=5;
- }
else
{
info2=printer.info_2;
- DEBUGADD(106,("attributes:[%d]\n", info2->attributes));
- DEBUGADD(106,("priority:[%d]\n", info2->priority));
+ DEBUGADD(106,("attributes:[%d]\n", info2->attributes));
+ DEBUGADD(106,("priority:[%d]\n", info2->priority));
DEBUGADD(106,("default_priority:[%d]\n", info2->default_priority));
- DEBUGADD(106,("starttime:[%d]\n", info2->starttime));
- DEBUGADD(106,("untiltime:[%d]\n", info2->untiltime));
- DEBUGADD(106,("status:[%d]\n", info2->status));
- DEBUGADD(106,("cjobs:[%d]\n", info2->cjobs));
- DEBUGADD(106,("averageppm:[%d]\n", info2->averageppm));
-
- DEBUGADD(106,("servername:[%s]\n", info2->servername));
- DEBUGADD(106,("printername:[%s]\n", info2->printername));
- DEBUGADD(106,("sharename:[%s]\n", info2->sharename));
- DEBUGADD(106,("portname:[%s]\n", info2->portname));
- DEBUGADD(106,("drivername:[%s]\n", info2->drivername));
- DEBUGADD(106,("comment:[%s]\n", info2->comment));
- DEBUGADD(106,("location:[%s]\n", info2->location));
- DEBUGADD(106,("sepfile:[%s]\n", info2->sepfile));
- DEBUGADD(106,("printprocessor:[%s]\n", info2->printprocessor));
- DEBUGADD(106,("datatype:[%s]\n", info2->datatype));
- DEBUGADD(106,("parameters:[%s]\n", info2->parameters));
+ DEBUGADD(106,("starttime:[%d]\n", info2->starttime));
+ DEBUGADD(106,("untiltime:[%d]\n", info2->untiltime));
+ DEBUGADD(106,("status:[%d]\n", info2->status));
+ DEBUGADD(106,("cjobs:[%d]\n", info2->cjobs));
+ DEBUGADD(106,("averageppm:[%d]\n", info2->averageppm));
+ DEBUGADD(106,("changeid:[%d]\n", info2->changeid));
+ DEBUGADD(106,("c_setprinter:[%d]\n", info2->c_setprinter));
+ DEBUGADD(106,("setuptime:[%d]\n", (int)info2->setuptime));
+
+ DEBUGADD(106,("servername:[%s]\n", info2->servername));
+ DEBUGADD(106,("printername:[%s]\n", info2->printername));
+ DEBUGADD(106,("sharename:[%s]\n", info2->sharename));
+ DEBUGADD(106,("portname:[%s]\n", info2->portname));
+ DEBUGADD(106,("drivername:[%s]\n", info2->drivername));
+ DEBUGADD(106,("location:[%s]\n", info2->location));
+ DEBUGADD(106,("sepfile:[%s]\n", info2->sepfile));
+ DEBUGADD(106,("printprocessor:[%s]\n", info2->printprocessor));
+ DEBUGADD(106,("datatype:[%s]\n", info2->datatype));
+ DEBUGADD(106,("parameters:[%s]\n", info2->parameters));
success=0;
}
break;