*info=inf;
}
+/**********************************************************************
+**********************************************************************/
+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,
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;
}
}
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,
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;