spoolss: add custom ndr_print_spoolss_Field.
authorGünther Deschner <gd@samba.org>
Wed, 18 Mar 2009 15:06:40 +0000 (16:06 +0100)
committerGünther Deschner <gd@samba.org>
Wed, 18 Mar 2009 15:46:14 +0000 (16:46 +0100)
Guenther

librpc/ndr/ndr_spoolss_buf.c
librpc/ndr/ndr_spoolss_buf.h

index f30c17b5697a67cb1b03db8fcbf2a3cd4e8ebab5..06f9b6f6f57b2b419256340c422195880a2736ac 100644 (file)
@@ -1185,3 +1185,25 @@ _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo101(struct ndr_pull *ndr,
        }
        return NDR_ERR_SUCCESS;
 }
+
+void ndr_print_spoolss_Field(struct ndr_print *ndr, const char *name, const union spoolss_Field *r)
+{
+       int level;
+       level = ndr_print_get_switch_value(ndr, r);
+       ndr_print_union(ndr, name, level, "spoolss_Field");
+       switch (level) {
+               case PRINTER_NOTIFY_TYPE:
+                       ndr_print_spoolss_PrintNotifyField(ndr, "field", r->field);
+               break;
+
+               case JOB_NOTIFY_TYPE:
+                       ndr_print_spoolss_JobNotifyField(ndr, "field", r->field);
+               break;
+
+               default:
+                       ndr_print_uint16(ndr, "field", r->field);
+               break;
+
+       }
+}
+
index 842d8c4d095950336fd2eba2078f1ad882b7b900..aa6e277c5f380524290238f60ece58fa68eefcd2 100644 (file)
@@ -49,6 +49,7 @@ uint32_t _ndr_size_spoolss_DeviceMode(struct spoolss_DeviceMode *devmode, struct
 size_t ndr_size_spoolss_StringArray(const struct spoolss_StringArray *r, struct smb_iconv_convenience *ic, int flags);
 _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo101(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo101 *r);
 _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo101(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo101 *r);
+void ndr_print_spoolss_Field(struct ndr_print *ndr, const char *name, const union spoolss_Field *r);
 
 #undef _PRINTF_ATTRIBUTE
 #define _PRINTF_ATTRIBUTE(a1, a2)