summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--librpc/gen_ndr/ndr_spoolss.c55
-rw-r--r--librpc/gen_ndr/ndr_spoolss.h1
-rw-r--r--librpc/gen_ndr/spoolss.h30
3 files changed, 83 insertions, 3 deletions
diff --git a/librpc/gen_ndr/ndr_spoolss.c b/librpc/gen_ndr/ndr_spoolss.c
index c696e53539b..f9d42160c2e 100644
--- a/librpc/gen_ndr/ndr_spoolss.c
+++ b/librpc/gen_ndr/ndr_spoolss.c
@@ -265,6 +265,55 @@ _PUBLIC_ void ndr_print_spoolss_PrinterInfo0(struct ndr_print *ndr, const char *
ndr->depth--;
}
+static enum ndr_err_code ndr_push_spoolss_DeviceModeFields(struct ndr_push *ndr, int ndr_flags, uint32_t r)
+{
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
+ return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_spoolss_DeviceModeFields(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
+{
+ uint32_t v;
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
+ *r = v;
+ return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_spoolss_DeviceModeFields(struct ndr_print *ndr, const char *name, uint32_t r)
+{
+ ndr_print_uint32(ndr, name, r);
+ ndr->depth++;
+ ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_ORIENTATION", DEVMODE_ORIENTATION, r);
+ ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PAPERSIZE", DEVMODE_PAPERSIZE, r);
+ ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PAPERLENGTH", DEVMODE_PAPERLENGTH, r);
+ ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PAPERWIDTH", DEVMODE_PAPERWIDTH, r);
+ ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_SCALE", DEVMODE_SCALE, r);
+ ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_POSITION", DEVMODE_POSITION, r);
+ ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_NUP", DEVMODE_NUP, r);
+ ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_COPIES", DEVMODE_COPIES, r);
+ ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_DEFAULTSOURCE", DEVMODE_DEFAULTSOURCE, r);
+ ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PRINTQUALITY", DEVMODE_PRINTQUALITY, r);
+ ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_COLOR", DEVMODE_COLOR, r);
+ ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_DUPLEX", DEVMODE_DUPLEX, r);
+ ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_YRESOLUTION", DEVMODE_YRESOLUTION, r);
+ ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_TTOPTION", DEVMODE_TTOPTION, r);
+ ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_COLLATE", DEVMODE_COLLATE, r);
+ ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_FORMNAME", DEVMODE_FORMNAME, r);
+ ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_LOGPIXELS", DEVMODE_LOGPIXELS, r);
+ ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_BITSPERPEL", DEVMODE_BITSPERPEL, r);
+ ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PELSWIDTH", DEVMODE_PELSWIDTH, r);
+ ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PELSHEIGHT", DEVMODE_PELSHEIGHT, r);
+ ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_DISPLAYFLAGS", DEVMODE_DISPLAYFLAGS, r);
+ ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_DISPLAYFREQUENCY", DEVMODE_DISPLAYFREQUENCY, r);
+ ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_ICMMETHOD", DEVMODE_ICMMETHOD, r);
+ ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_ICMINTENT", DEVMODE_ICMINTENT, r);
+ ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_MEDIATYPE", DEVMODE_MEDIATYPE, r);
+ ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_DITHERTYPE", DEVMODE_DITHERTYPE, r);
+ ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PANNINGWIDTH", DEVMODE_PANNINGWIDTH, r);
+ ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DEVMODE_PANNINGHEIGHT", DEVMODE_PANNINGHEIGHT, r);
+ ndr->depth--;
+}
+
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DeviceMode(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DeviceMode *r)
{
if (ndr_flags & NDR_SCALARS) {
@@ -274,7 +323,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DeviceMode(struct ndr_push *ndr, int
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->driverversion));
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->size));
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->driverextra_data.length));
- NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->fields));
+ NDR_CHECK(ndr_push_spoolss_DeviceModeFields(ndr, NDR_SCALARS, r->fields));
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->orientation));
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->papersize));
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->paperlength));
@@ -329,7 +378,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DeviceMode(struct ndr_pull *ndr, int
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->driverversion));
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->__driverextra_length));
- NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->fields));
+ NDR_CHECK(ndr_pull_spoolss_DeviceModeFields(ndr, NDR_SCALARS, &r->fields));
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->orientation));
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->papersize));
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->paperlength));
@@ -384,7 +433,7 @@ _PUBLIC_ void ndr_print_spoolss_DeviceMode(struct ndr_print *ndr, const char *na
ndr_print_uint16(ndr, "driverversion", r->driverversion);
ndr_print_uint16(ndr, "size", r->size);
ndr_print_uint16(ndr, "__driverextra_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->driverextra_data.length:r->__driverextra_length);
- ndr_print_uint32(ndr, "fields", r->fields);
+ ndr_print_spoolss_DeviceModeFields(ndr, "fields", r->fields);
ndr_print_uint16(ndr, "orientation", r->orientation);
ndr_print_uint16(ndr, "papersize", r->papersize);
ndr_print_uint16(ndr, "paperlength", r->paperlength);
diff --git a/librpc/gen_ndr/ndr_spoolss.h b/librpc/gen_ndr/ndr_spoolss.h
index 41ff65278b5..65a4ca7180d 100644
--- a/librpc/gen_ndr/ndr_spoolss.h
+++ b/librpc/gen_ndr/ndr_spoolss.h
@@ -207,6 +207,7 @@ extern const struct ndr_interface_table ndr_table_spoolss;
#define NDR_SPOOLSS_CALL_COUNT (96)
void ndr_print_spoolss_Time(struct ndr_print *ndr, const char *name, const struct spoolss_Time *r);
void ndr_print_spoolss_PrinterInfo0(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo0 *r);
+void ndr_print_spoolss_DeviceModeFields(struct ndr_print *ndr, const char *name, uint32_t r);
enum ndr_err_code ndr_push_spoolss_DeviceMode(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DeviceMode *r);
enum ndr_err_code ndr_pull_spoolss_DeviceMode(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DeviceMode *r);
void ndr_print_spoolss_DeviceMode(struct ndr_print *ndr, const char *name, const struct spoolss_DeviceMode *r);
diff --git a/librpc/gen_ndr/spoolss.h b/librpc/gen_ndr/spoolss.h
index b503f665c9f..fc58481c668 100644
--- a/librpc/gen_ndr/spoolss.h
+++ b/librpc/gen_ndr/spoolss.h
@@ -75,6 +75,36 @@ struct spoolss_PrinterInfo0 {
uint32_t unknown29;
};
+/* bitmap spoolss_DeviceModeFields */
+#define DEVMODE_ORIENTATION ( 0x00000001 )
+#define DEVMODE_PAPERSIZE ( 0x00000002 )
+#define DEVMODE_PAPERLENGTH ( 0x00000004 )
+#define DEVMODE_PAPERWIDTH ( 0x00000008 )
+#define DEVMODE_SCALE ( 0x00000010 )
+#define DEVMODE_POSITION ( 0x00000020 )
+#define DEVMODE_NUP ( 0x00000040 )
+#define DEVMODE_COPIES ( 0x00000100 )
+#define DEVMODE_DEFAULTSOURCE ( 0x00000200 )
+#define DEVMODE_PRINTQUALITY ( 0x00000400 )
+#define DEVMODE_COLOR ( 0x00000800 )
+#define DEVMODE_DUPLEX ( 0x00001000 )
+#define DEVMODE_YRESOLUTION ( 0x00002000 )
+#define DEVMODE_TTOPTION ( 0x00004000 )
+#define DEVMODE_COLLATE ( 0x00008000 )
+#define DEVMODE_FORMNAME ( 0x00010000 )
+#define DEVMODE_LOGPIXELS ( 0x00020000 )
+#define DEVMODE_BITSPERPEL ( 0x00040000 )
+#define DEVMODE_PELSWIDTH ( 0x00080000 )
+#define DEVMODE_PELSHEIGHT ( 0x00100000 )
+#define DEVMODE_DISPLAYFLAGS ( 0x00200000 )
+#define DEVMODE_DISPLAYFREQUENCY ( 0x00400000 )
+#define DEVMODE_ICMMETHOD ( 0x00800000 )
+#define DEVMODE_ICMINTENT ( 0x01000000 )
+#define DEVMODE_MEDIATYPE ( 0x02000000 )
+#define DEVMODE_DITHERTYPE ( 0x04000000 )
+#define DEVMODE_PANNINGWIDTH ( 0x08000000 )
+#define DEVMODE_PANNINGHEIGHT ( 0x10000000 )
+
struct spoolss_DeviceMode {
const char *devicename;/* [charset(UTF16)] */
uint16_t specversion;