svn commit: samba r2073 - branches/SAMBA_3_0/source/include branches/SAMBA_3_0/source/rpc_client branches/SAMBA_3_0/source/rpcclient trunk/source/include trunk/source/rpc_client trunk/source/rpcclient

gd at samba.org gd at samba.org
Wed Aug 25 21:26:38 GMT 2004


Author: gd
Date: 2004-08-25 21:26:37 +0000 (Wed, 25 Aug 2004)
New Revision: 2073

WebSVN: http://websvn.samba.org/websvn/changeset.php?rep=samba&path=/&rev=2073&nolog=1

Log:
Adding getprinter level 7 to rpcclient.

Is there any other rpc-call to get the guid of a published printer?

Guenther

Modified:
   branches/SAMBA_3_0/source/include/rpc_spoolss.h
   branches/SAMBA_3_0/source/rpc_client/cli_spoolss.c
   branches/SAMBA_3_0/source/rpcclient/cmd_spoolss.c
   trunk/source/include/rpc_spoolss.h
   trunk/source/rpc_client/cli_spoolss.c
   trunk/source/rpcclient/cmd_spoolss.c


Changeset:
Modified: branches/SAMBA_3_0/source/include/rpc_spoolss.h
===================================================================
--- branches/SAMBA_3_0/source/include/rpc_spoolss.h	2004-08-25 16:15:35 UTC (rev 2072)
+++ branches/SAMBA_3_0/source/include/rpc_spoolss.h	2004-08-25 21:26:37 UTC (rev 2073)
@@ -1025,6 +1025,7 @@
 	PRINTER_INFO_3 *printers_3;
 	PRINTER_INFO_4 *printers_4;
 	PRINTER_INFO_5 *printers_5;
+	PRINTER_INFO_7 *printers_7;
 }
 PRINTER_INFO_CTR;
 

Modified: branches/SAMBA_3_0/source/rpc_client/cli_spoolss.c
===================================================================
--- branches/SAMBA_3_0/source/rpc_client/cli_spoolss.c	2004-08-25 16:15:35 UTC (rev 2072)
+++ branches/SAMBA_3_0/source/rpc_client/cli_spoolss.c	2004-08-25 21:26:37 UTC (rev 2073)
@@ -132,6 +132,27 @@
 
 /**********************************************************************
 **********************************************************************/
+static void decode_printer_info_7(TALLOC_CTX *mem_ctx, NEW_BUFFER *buffer,
+				uint32 returned, PRINTER_INFO_7 **info)
+{
+	uint32 i;
+	PRINTER_INFO_7  *inf;
+
+	inf=(PRINTER_INFO_7 *)talloc(mem_ctx, returned*sizeof(PRINTER_INFO_7));
+	memset(inf, 0, returned*sizeof(PRINTER_INFO_7));
+
+	prs_set_offset(&buffer->prs,0);
+
+	for (i=0; i<returned; i++) {
+		smb_io_printer_info_7("", buffer, &inf[i], 0);
+	}
+
+	*info=inf;
+}
+
+
+/**********************************************************************
+**********************************************************************/
 static void decode_port_info_1(TALLOC_CTX *mem_ctx, NEW_BUFFER *buffer, 
 			uint32 returned, PORT_INFO_1 **info)
 {
@@ -626,6 +647,9 @@
 		case 3:
 			decode_printer_info_3(mem_ctx, r.buffer, 1, &ctr->printers_3);
 			break;
+		case 7:
+			decode_printer_info_7(mem_ctx, r.buffer, 1, &ctr->printers_7);
+			break;
 		}			
 	}
 	

Modified: branches/SAMBA_3_0/source/rpcclient/cmd_spoolss.c
===================================================================
--- branches/SAMBA_3_0/source/rpcclient/cmd_spoolss.c	2004-08-25 16:15:35 UTC (rev 2072)
+++ branches/SAMBA_3_0/source/rpcclient/cmd_spoolss.c	2004-08-25 21:26:37 UTC (rev 2073)
@@ -297,6 +297,18 @@
 	printf("\n");
 }
 
+/****************************************************************************
+printer info level 7 display function
+****************************************************************************/
+static void display_print_info_7(PRINTER_INFO_7 *i7)
+{
+	fstring guid = "";
+	rpcstr_pull(guid, i7->guid.buffer,sizeof(guid), -1, STR_TERMINATE);
+	printf("\tguid:[%s]\n", guid);
+	printf("\taction:[0x%x]\n", i7->action);
+}
+
+
 /* Enumerate printers */
 
 static WERROR cmd_spoolss_enum_printers(struct cli_state *cli, 
@@ -687,6 +699,9 @@
 	case 3:
 		display_print_info_3(ctr.printers_3);
 		break;
+	case 7:
+		display_print_info_7(ctr.printers_7);
+		break;
 	default:
 		printf("unknown info level %d\n", info_level);
 		break;

Modified: trunk/source/include/rpc_spoolss.h
===================================================================
--- trunk/source/include/rpc_spoolss.h	2004-08-25 16:15:35 UTC (rev 2072)
+++ trunk/source/include/rpc_spoolss.h	2004-08-25 21:26:37 UTC (rev 2073)
@@ -1025,6 +1025,7 @@
 	PRINTER_INFO_3 *printers_3;
 	PRINTER_INFO_4 *printers_4;
 	PRINTER_INFO_5 *printers_5;
+	PRINTER_INFO_7 *printers_7;
 }
 PRINTER_INFO_CTR;
 

Modified: trunk/source/rpc_client/cli_spoolss.c
===================================================================
--- trunk/source/rpc_client/cli_spoolss.c	2004-08-25 16:15:35 UTC (rev 2072)
+++ trunk/source/rpc_client/cli_spoolss.c	2004-08-25 21:26:37 UTC (rev 2073)
@@ -132,6 +132,27 @@
 
 /**********************************************************************
 **********************************************************************/
+static void decode_printer_info_7(TALLOC_CTX *mem_ctx, NEW_BUFFER *buffer,
+				uint32 returned, PRINTER_INFO_7 **info)
+{
+	uint32 i;
+	PRINTER_INFO_7  *inf;
+
+	inf=(PRINTER_INFO_7 *)talloc(mem_ctx, returned*sizeof(PRINTER_INFO_7));
+	memset(inf, 0, returned*sizeof(PRINTER_INFO_7));
+
+	prs_set_offset(&buffer->prs,0);
+
+	for (i=0; i<returned; i++) {
+		smb_io_printer_info_7("", buffer, &inf[i], 0);
+	}
+
+	*info=inf;
+}
+
+
+/**********************************************************************
+**********************************************************************/
 static void decode_port_info_1(TALLOC_CTX *mem_ctx, NEW_BUFFER *buffer, 
 			uint32 returned, PORT_INFO_1 **info)
 {
@@ -626,6 +647,9 @@
 		case 3:
 			decode_printer_info_3(mem_ctx, r.buffer, 1, &ctr->printers_3);
 			break;
+		case 7:
+			decode_printer_info_7(mem_ctx, r.buffer, 1, &ctr->printers_7);
+			break;
 		}			
 	}
 	

Modified: trunk/source/rpcclient/cmd_spoolss.c
===================================================================
--- trunk/source/rpcclient/cmd_spoolss.c	2004-08-25 16:15:35 UTC (rev 2072)
+++ trunk/source/rpcclient/cmd_spoolss.c	2004-08-25 21:26:37 UTC (rev 2073)
@@ -297,6 +297,18 @@
 	printf("\n");
 }
 
+/****************************************************************************
+printer info level 7 display function
+****************************************************************************/
+static void display_print_info_7(PRINTER_INFO_7 *i7)
+{
+	fstring guid = "";
+	rpcstr_pull(guid, i7->guid.buffer,sizeof(guid), -1, STR_TERMINATE);
+	printf("\tguid:[%s]\n", guid);
+	printf("\taction:[0x%x]\n", i7->action);
+}
+
+
 /* Enumerate printers */
 
 static WERROR cmd_spoolss_enum_printers(struct cli_state *cli, 
@@ -687,6 +699,9 @@
 	case 3:
 		display_print_info_3(ctr.printers_3);
 		break;
+	case 7:
+		display_print_info_7(ctr.printers_7);
+		break;
 	default:
 		printf("unknown info level %d\n", info_level);
 		break;



More information about the samba-cvs mailing list