s3: re-run make samba3-idl.
authorGünther Deschner <gd@samba.org>
Mon, 10 Aug 2009 09:25:09 +0000 (11:25 +0200)
committerGünther Deschner <gd@samba.org>
Mon, 10 Aug 2009 09:32:26 +0000 (11:32 +0200)
Guenther

librpc/gen_ndr/ndr_spoolss.c
librpc/gen_ndr/ndr_spoolss.h
librpc/gen_ndr/spoolss.h

index fedebb2d56149aeda1fbc3f419f1a44e9956d59c..514d4028dd3f97a8f077eafb1c37a5324cbd1f8e 100644 (file)
@@ -566,40 +566,509 @@ _PUBLIC_ void ndr_print_spoolss_DeviceModeFields(struct ndr_print *ndr, const ch
        ndr->depth--;
 }
 
+static enum ndr_err_code ndr_push_spoolss_DeviceModeSpecVersion(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeSpecVersion r)
+{
+       NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_spoolss_DeviceModeSpecVersion(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeSpecVersion *r)
+{
+       uint16_t v;
+       NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
+       *r = v;
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_spoolss_DeviceModeSpecVersion(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeSpecVersion r)
+{
+       const char *val = NULL;
+
+       switch (r) {
+               case DMSPEC_NT3: val = "DMSPEC_NT3"; break;
+               case DMSPEC_WIN95_98_ME: val = "DMSPEC_WIN95_98_ME"; break;
+               case DMSPEC_NT4_AND_ABOVE: val = "DMSPEC_NT4_AND_ABOVE"; break;
+       }
+       ndr_print_enum(ndr, name, "ENUM", val, r);
+}
+
+static enum ndr_err_code ndr_push_spoolss_DeviceModeOrientation(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeOrientation r)
+{
+       NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_spoolss_DeviceModeOrientation(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeOrientation *r)
+{
+       uint16_t v;
+       NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
+       *r = v;
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_spoolss_DeviceModeOrientation(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeOrientation r)
+{
+       const char *val = NULL;
+
+       switch (r) {
+               case DMORIENT_PORTRAIT: val = "DMORIENT_PORTRAIT"; break;
+               case DMORIENT_LANDSCAPE: val = "DMORIENT_LANDSCAPE"; break;
+       }
+       ndr_print_enum(ndr, name, "ENUM", val, r);
+}
+
+static enum ndr_err_code ndr_push_spoolss_DeviceModePaperSize(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModePaperSize r)
+{
+       NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_spoolss_DeviceModePaperSize(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModePaperSize *r)
+{
+       uint16_t v;
+       NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
+       *r = v;
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_spoolss_DeviceModePaperSize(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModePaperSize r)
+{
+       const char *val = NULL;
+
+       switch (r) {
+               case DMPAPER_LETTER: val = "DMPAPER_LETTER"; break;
+               case DMPAPER_LETTERSMALL: val = "DMPAPER_LETTERSMALL"; break;
+               case DMPAPER_TABLOID: val = "DMPAPER_TABLOID"; break;
+               case DMPAPER_LEDGER: val = "DMPAPER_LEDGER"; break;
+               case DMPAPER_LEGAL: val = "DMPAPER_LEGAL"; break;
+               case DMPAPER_STATEMENT: val = "DMPAPER_STATEMENT"; break;
+               case DMPAPER_EXECUTIVE: val = "DMPAPER_EXECUTIVE"; break;
+               case DMPAPER_A3: val = "DMPAPER_A3"; break;
+               case DMPAPER_A4: val = "DMPAPER_A4"; break;
+               case DMPAPER_A4SMALL: val = "DMPAPER_A4SMALL"; break;
+               case DMPAPER_A5: val = "DMPAPER_A5"; break;
+               case DMPAPER_B4: val = "DMPAPER_B4"; break;
+               case DMPAPER_B5: val = "DMPAPER_B5"; break;
+               case DMPAPER_FOLIO: val = "DMPAPER_FOLIO"; break;
+               case DMPAPER_QUARTO: val = "DMPAPER_QUARTO"; break;
+               case DMPAPER_10X14: val = "DMPAPER_10X14"; break;
+               case DMPAPER_11X17: val = "DMPAPER_11X17"; break;
+               case DMPAPER_NOTE: val = "DMPAPER_NOTE"; break;
+               case DMPAPER_ENV_9: val = "DMPAPER_ENV_9"; break;
+               case DMPAPER_ENV_10: val = "DMPAPER_ENV_10"; break;
+               case DMPAPER_ENV_11: val = "DMPAPER_ENV_11"; break;
+               case DMPAPER_ENV_12: val = "DMPAPER_ENV_12"; break;
+               case DMPAPER_ENV_14: val = "DMPAPER_ENV_14"; break;
+               case DMPAPER_CSHEET: val = "DMPAPER_CSHEET"; break;
+               case DMPAPER_DSHEET: val = "DMPAPER_DSHEET"; break;
+               case DMPAPER_ESHEET: val = "DMPAPER_ESHEET"; break;
+               case DMPAPER_ENV_DL: val = "DMPAPER_ENV_DL"; break;
+               case DMPAPER_ENV_C5: val = "DMPAPER_ENV_C5"; break;
+               case DMPAPER_ENV_C3: val = "DMPAPER_ENV_C3"; break;
+               case DMPAPER_ENV_C4: val = "DMPAPER_ENV_C4"; break;
+               case DMPAPER_ENV_C6: val = "DMPAPER_ENV_C6"; break;
+               case DMPAPER_ENV_C65: val = "DMPAPER_ENV_C65"; break;
+               case DMPAPER_ENV_B4: val = "DMPAPER_ENV_B4"; break;
+               case DMPAPER_ENV_B5: val = "DMPAPER_ENV_B5"; break;
+               case DMPAPER_ENV_B6: val = "DMPAPER_ENV_B6"; break;
+               case DMPAPER_ENV_ITALY: val = "DMPAPER_ENV_ITALY"; break;
+               case DMPAPER_ENV_MONARCH: val = "DMPAPER_ENV_MONARCH"; break;
+               case DMPAPER_ENV_PERSONAL: val = "DMPAPER_ENV_PERSONAL"; break;
+               case DMPAPER_FANFOLD_US: val = "DMPAPER_FANFOLD_US"; break;
+               case DMPAPER_FANFOLD_STD_GERMAN: val = "DMPAPER_FANFOLD_STD_GERMAN"; break;
+               case DMPAPER_FANFOLD_LGL_GERMAN: val = "DMPAPER_FANFOLD_LGL_GERMAN"; break;
+               case DMPAPER_DBL_JAPANESE_POSTCARD: val = "DMPAPER_DBL_JAPANESE_POSTCARD"; break;
+               case DMPAPER_A6: val = "DMPAPER_A6"; break;
+               case DMPAPER_JENV_KAKU2: val = "DMPAPER_JENV_KAKU2"; break;
+               case DMPAPER_JENV_KAKU3: val = "DMPAPER_JENV_KAKU3"; break;
+               case DMPAPER_JENV_CHOU3: val = "DMPAPER_JENV_CHOU3"; break;
+               case DMPAPER_JENV_CHOU4: val = "DMPAPER_JENV_CHOU4"; break;
+               case DMPAPER_LETTER_ROTATED: val = "DMPAPER_LETTER_ROTATED"; break;
+               case DMPAPER_A3_ROTATED: val = "DMPAPER_A3_ROTATED"; break;
+               case DMPAPER_A4_ROTATED: val = "DMPAPER_A4_ROTATED"; break;
+               case DMPAPER_A5_ROTATED: val = "DMPAPER_A5_ROTATED"; break;
+               case DMPAPER_B4_JIS_ROTATED: val = "DMPAPER_B4_JIS_ROTATED"; break;
+               case DMPAPER_B5_JIS_ROTATED: val = "DMPAPER_B5_JIS_ROTATED"; break;
+               case DMPAPER_JAPANESE_POSTCARD_ROTATED: val = "DMPAPER_JAPANESE_POSTCARD_ROTATED"; break;
+               case DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED: val = "DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED"; break;
+               case DMPAPER_A6_ROTATED: val = "DMPAPER_A6_ROTATED"; break;
+               case DMPAPER_JENV_KAKU2_ROTATED: val = "DMPAPER_JENV_KAKU2_ROTATED"; break;
+               case DMPAPER_JENV_KAKU3_ROTATED: val = "DMPAPER_JENV_KAKU3_ROTATED"; break;
+               case DMPAPER_JENV_CHOU3_ROTATED: val = "DMPAPER_JENV_CHOU3_ROTATED"; break;
+               case DMPAPER_JENV_CHOU4_ROTATED: val = "DMPAPER_JENV_CHOU4_ROTATED"; break;
+               case DMPAPER_B6_JIS: val = "DMPAPER_B6_JIS"; break;
+               case DMPAPER_B6_JIS_ROTATED: val = "DMPAPER_B6_JIS_ROTATED"; break;
+               case DMPAPER_12X11: val = "DMPAPER_12X11"; break;
+               case DMPAPER_JENV_YOU4: val = "DMPAPER_JENV_YOU4"; break;
+               case DMPAPER_JENV_YOU4_ROTATED: val = "DMPAPER_JENV_YOU4_ROTATED"; break;
+               case DMPAPER_P16K: val = "DMPAPER_P16K"; break;
+               case DMPAPER_P32K: val = "DMPAPER_P32K"; break;
+               case DMPAPER_P32KBIG: val = "DMPAPER_P32KBIG"; break;
+               case DMPAPER_PENV_1: val = "DMPAPER_PENV_1"; break;
+               case DMPAPER_PENV_2: val = "DMPAPER_PENV_2"; break;
+               case DMPAPER_PENV_3: val = "DMPAPER_PENV_3"; break;
+               case DMPAPER_PENV_4: val = "DMPAPER_PENV_4"; break;
+               case DMPAPER_PENV_5: val = "DMPAPER_PENV_5"; break;
+               case DMPAPER_PENV_6: val = "DMPAPER_PENV_6"; break;
+               case DMPAPER_PENV_7: val = "DMPAPER_PENV_7"; break;
+               case DMPAPER_PENV_8: val = "DMPAPER_PENV_8"; break;
+               case DMPAPER_PENV_9: val = "DMPAPER_PENV_9"; break;
+               case DMPAPER_PENV_10: val = "DMPAPER_PENV_10"; break;
+               case DMPAPER_P16K_ROTATED: val = "DMPAPER_P16K_ROTATED"; break;
+               case DMPAPER_P32K_ROTATED: val = "DMPAPER_P32K_ROTATED"; break;
+               case DMPAPER_P32KBIG_ROTATED: val = "DMPAPER_P32KBIG_ROTATED"; break;
+               case DMPAPER_PENV_1_ROTATED: val = "DMPAPER_PENV_1_ROTATED"; break;
+               case DMPAPER_PENV_2_ROTATED: val = "DMPAPER_PENV_2_ROTATED"; break;
+               case DMPAPER_PENV_3_ROTATED: val = "DMPAPER_PENV_3_ROTATED"; break;
+               case DMPAPER_PENV_4_ROTATED: val = "DMPAPER_PENV_4_ROTATED"; break;
+               case DMPAPER_PENV_5_ROTATED: val = "DMPAPER_PENV_5_ROTATED"; break;
+               case DMPAPER_PENV_6_ROTATED: val = "DMPAPER_PENV_6_ROTATED"; break;
+               case DMPAPER_PENV_7_ROTATED: val = "DMPAPER_PENV_7_ROTATED"; break;
+               case DMPAPER_PENV_8_ROTATED: val = "DMPAPER_PENV_8_ROTATED"; break;
+               case DMPAPER_PENV_9_ROTATED: val = "DMPAPER_PENV_9_ROTATED"; break;
+               case DMPAPER_PENV_10_ROTATED: val = "DMPAPER_PENV_10_ROTATED"; break;
+       }
+       ndr_print_enum(ndr, name, "ENUM", val, r);
+}
+
+static enum ndr_err_code ndr_push_spoolss_DeviceModeDefaultSource(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeDefaultSource r)
+{
+       NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_spoolss_DeviceModeDefaultSource(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeDefaultSource *r)
+{
+       uint16_t v;
+       NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
+       *r = v;
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_spoolss_DeviceModeDefaultSource(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeDefaultSource r)
+{
+       const char *val = NULL;
+
+       switch (r) {
+               case DMBIN_UPPER: val = "DMBIN_UPPER"; break;
+               case DMBIN_LOWER: val = "DMBIN_LOWER"; break;
+               case DMBIN_MIDDLE: val = "DMBIN_MIDDLE"; break;
+               case DMBIN_MANUAL: val = "DMBIN_MANUAL"; break;
+               case DMBIN_ENVELOPE: val = "DMBIN_ENVELOPE"; break;
+               case DMBIN_ENVMANUAL: val = "DMBIN_ENVMANUAL"; break;
+               case DMBIN_AUTO: val = "DMBIN_AUTO"; break;
+               case DMBIN_TRACTOR: val = "DMBIN_TRACTOR"; break;
+               case DMBIN_SMALLFMT: val = "DMBIN_SMALLFMT"; break;
+               case DMBIN_LARGEFMT: val = "DMBIN_LARGEFMT"; break;
+               case DMBIN_LARGECAPACITY: val = "DMBIN_LARGECAPACITY"; break;
+               case DMBIN_CASSETTE: val = "DMBIN_CASSETTE"; break;
+               case DMBIN_FORMSOURCE: val = "DMBIN_FORMSOURCE"; break;
+       }
+       ndr_print_enum(ndr, name, "ENUM", val, r);
+}
+
+static enum ndr_err_code ndr_push_spoolss_DeviceModePrintQuality(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModePrintQuality r)
+{
+       NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_spoolss_DeviceModePrintQuality(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModePrintQuality *r)
+{
+       uint16_t v;
+       NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
+       *r = v;
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_spoolss_DeviceModePrintQuality(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModePrintQuality r)
+{
+       const char *val = NULL;
+
+       switch (r) {
+               case DMRES_HIGH: val = "DMRES_HIGH"; break;
+               case DMRES_MEDIUM: val = "DMRES_MEDIUM"; break;
+               case DMRES_LOW: val = "DMRES_LOW"; break;
+               case DMRES_DRAFT: val = "DMRES_DRAFT"; break;
+       }
+       ndr_print_enum(ndr, name, "ENUM", val, r);
+}
+
+static enum ndr_err_code ndr_push_spoolss_DeviceModeColor(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeColor r)
+{
+       NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_spoolss_DeviceModeColor(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeColor *r)
+{
+       uint16_t v;
+       NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
+       *r = v;
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_spoolss_DeviceModeColor(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeColor r)
+{
+       const char *val = NULL;
+
+       switch (r) {
+               case DMRES_MONOCHROME: val = "DMRES_MONOCHROME"; break;
+               case DMRES_COLOR: val = "DMRES_COLOR"; break;
+       }
+       ndr_print_enum(ndr, name, "ENUM", val, r);
+}
+
+static enum ndr_err_code ndr_push_spoolss_DeviceModeDuplex(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeDuplex r)
+{
+       NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_spoolss_DeviceModeDuplex(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeDuplex *r)
+{
+       uint16_t v;
+       NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
+       *r = v;
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_spoolss_DeviceModeDuplex(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeDuplex r)
+{
+       const char *val = NULL;
+
+       switch (r) {
+               case DMDUP_SIMPLEX: val = "DMDUP_SIMPLEX"; break;
+               case DMDUP_VERTICAL: val = "DMDUP_VERTICAL"; break;
+               case DMDUP_HORIZONTAL: val = "DMDUP_HORIZONTAL"; break;
+       }
+       ndr_print_enum(ndr, name, "ENUM", val, r);
+}
+
+static enum ndr_err_code ndr_push_spoolss_DeviceModeTTOption(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeTTOption r)
+{
+       NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_spoolss_DeviceModeTTOption(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeTTOption *r)
+{
+       uint16_t v;
+       NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
+       *r = v;
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_spoolss_DeviceModeTTOption(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeTTOption r)
+{
+       const char *val = NULL;
+
+       switch (r) {
+               case DMTT_BITMAP: val = "DMTT_BITMAP"; break;
+               case DMTT_DOWNLOAD: val = "DMTT_DOWNLOAD"; break;
+               case DMTT_SUBDEV: val = "DMTT_SUBDEV"; break;
+               case DMTT_DOWNLOAD_OUTLINE: val = "DMTT_DOWNLOAD_OUTLINE"; break;
+       }
+       ndr_print_enum(ndr, name, "ENUM", val, r);
+}
+
+static enum ndr_err_code ndr_push_spoolss_DeviceModeCollate(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeCollate r)
+{
+       NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_spoolss_DeviceModeCollate(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeCollate *r)
+{
+       uint16_t v;
+       NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
+       *r = v;
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_spoolss_DeviceModeCollate(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeCollate r)
+{
+       const char *val = NULL;
+
+       switch (r) {
+               case DMCOLLATE_FALSE: val = "DMCOLLATE_FALSE"; break;
+               case DMCOLLATE_TRUE: val = "DMCOLLATE_TRUE"; break;
+       }
+       ndr_print_enum(ndr, name, "ENUM", val, r);
+}
+
+static enum ndr_err_code ndr_push_spoolss_DeviceModeNUp(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeNUp r)
+{
+       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_spoolss_DeviceModeNUp(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeNUp *r)
+{
+       uint32_t v;
+       NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
+       *r = v;
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_spoolss_DeviceModeNUp(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeNUp r)
+{
+       const char *val = NULL;
+
+       switch (r) {
+               case DMNUP_SYSTEM: val = "DMNUP_SYSTEM"; break;
+               case DMNUP_ONEUP: val = "DMNUP_ONEUP"; break;
+       }
+       ndr_print_enum(ndr, name, "ENUM", val, r);
+}
+
+static enum ndr_err_code ndr_push_spoolss_DeviceModeICMMethod(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeICMMethod r)
+{
+       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_spoolss_DeviceModeICMMethod(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeICMMethod *r)
+{
+       uint32_t v;
+       NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
+       *r = v;
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_spoolss_DeviceModeICMMethod(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeICMMethod r)
+{
+       const char *val = NULL;
+
+       switch (r) {
+               case DMICMMETHOD_NONE: val = "DMICMMETHOD_NONE"; break;
+               case DMICMMETHOD_SYSTEM: val = "DMICMMETHOD_SYSTEM"; break;
+               case DMICMMETHOD_DRIVER: val = "DMICMMETHOD_DRIVER"; break;
+               case DMICMMETHOD_DEVICE: val = "DMICMMETHOD_DEVICE"; break;
+       }
+       ndr_print_enum(ndr, name, "ENUM", val, r);
+}
+
+static enum ndr_err_code ndr_push_spoolss_DeviceModeICMIntent(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeICMIntent r)
+{
+       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_spoolss_DeviceModeICMIntent(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeICMIntent *r)
+{
+       uint32_t v;
+       NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
+       *r = v;
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_spoolss_DeviceModeICMIntent(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeICMIntent r)
+{
+       const char *val = NULL;
+
+       switch (r) {
+               case DMICM_SATURATE: val = "DMICM_SATURATE"; break;
+               case DMICM_CONTRAST: val = "DMICM_CONTRAST"; break;
+               case DMICM_COLORIMETRIC: val = "DMICM_COLORIMETRIC"; break;
+               case DMICM_ABS_COLORIMETRIC: val = "DMICM_ABS_COLORIMETRIC"; break;
+       }
+       ndr_print_enum(ndr, name, "ENUM", val, r);
+}
+
+static enum ndr_err_code ndr_push_spoolss_DeviceModeMediaType(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeMediaType r)
+{
+       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_spoolss_DeviceModeMediaType(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeMediaType *r)
+{
+       uint32_t v;
+       NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
+       *r = v;
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_spoolss_DeviceModeMediaType(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeMediaType r)
+{
+       const char *val = NULL;
+
+       switch (r) {
+               case DMMEDIA_STANDARD: val = "DMMEDIA_STANDARD"; break;
+               case DMMEDIA_TRANSPARENCY: val = "DMMEDIA_TRANSPARENCY"; break;
+               case DMMEDIA_GLOSSY: val = "DMMEDIA_GLOSSY"; break;
+       }
+       ndr_print_enum(ndr, name, "ENUM", val, r);
+}
+
+static enum ndr_err_code ndr_push_spoolss_DeviceModeDitherType(struct ndr_push *ndr, int ndr_flags, enum spoolss_DeviceModeDitherType r)
+{
+       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_spoolss_DeviceModeDitherType(struct ndr_pull *ndr, int ndr_flags, enum spoolss_DeviceModeDitherType *r)
+{
+       uint32_t v;
+       NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
+       *r = v;
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_spoolss_DeviceModeDitherType(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeDitherType r)
+{
+       const char *val = NULL;
+
+       switch (r) {
+               case DMDITHER_NONE: val = "DMDITHER_NONE"; break;
+               case DMDITHER_COARSE: val = "DMDITHER_COARSE"; break;
+               case DMDITHER_FINE: val = "DMDITHER_FINE"; break;
+               case DMDITHER_LINEART: val = "DMDITHER_LINEART"; break;
+               case DMDITHER_ERRORDIFFUSION: val = "DMDITHER_ERRORDIFFUSION"; break;
+               case DMDITHER_RESERVED6: val = "DMDITHER_RESERVED6"; break;
+               case DMDITHER_RESERVED7: val = "DMDITHER_RESERVED7"; break;
+               case DMDITHER_RESERVED8: val = "DMDITHER_RESERVED8"; break;
+               case DMDITHER_RESERVED9: val = "DMDITHER_RESERVED9"; break;
+               case DMDITHER_GRAYSCALE: val = "DMDITHER_GRAYSCALE"; break;
+       }
+       ndr_print_enum(ndr, name, "ENUM", val, r);
+}
+
 _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) {
                NDR_CHECK(ndr_push_align(ndr, 4));
                NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->devicename, 32, sizeof(uint16_t), CH_UTF16));
-               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->specversion));
+               NDR_CHECK(ndr_push_spoolss_DeviceModeSpecVersion(ndr, NDR_SCALARS, r->specversion));
                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_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_spoolss_DeviceModeOrientation(ndr, NDR_SCALARS, r->orientation));
+               NDR_CHECK(ndr_push_spoolss_DeviceModePaperSize(ndr, NDR_SCALARS, r->papersize));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->paperlength));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->paperwidth));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->scale));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->copies));
-               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->defaultsource));
-               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->printquality));
-               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->color));
-               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->duplex));
+               NDR_CHECK(ndr_push_spoolss_DeviceModeDefaultSource(ndr, NDR_SCALARS, r->defaultsource));
+               NDR_CHECK(ndr_push_spoolss_DeviceModePrintQuality(ndr, NDR_SCALARS, r->printquality));
+               NDR_CHECK(ndr_push_spoolss_DeviceModeColor(ndr, NDR_SCALARS, r->color));
+               NDR_CHECK(ndr_push_spoolss_DeviceModeDuplex(ndr, NDR_SCALARS, r->duplex));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->yresolution));
-               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ttoption));
-               NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->collate));
+               NDR_CHECK(ndr_push_spoolss_DeviceModeTTOption(ndr, NDR_SCALARS, r->ttoption));
+               NDR_CHECK(ndr_push_spoolss_DeviceModeCollate(ndr, NDR_SCALARS, r->collate));
                NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->formname, 32, sizeof(uint16_t), CH_UTF16));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logpixels));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bitsperpel));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pelswidth));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pelsheight));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->displayflags));
+               NDR_CHECK(ndr_push_spoolss_DeviceModeNUp(ndr, NDR_SCALARS, r->displayflags));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->displayfrequency));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->icmmethod));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->icmintent));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->mediatype));
-               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->dithertype));
+               NDR_CHECK(ndr_push_spoolss_DeviceModeICMMethod(ndr, NDR_SCALARS, r->icmmethod));
+               NDR_CHECK(ndr_push_spoolss_DeviceModeICMIntent(ndr, NDR_SCALARS, r->icmintent));
+               NDR_CHECK(ndr_push_spoolss_DeviceModeMediaType(ndr, NDR_SCALARS, r->mediatype));
+               NDR_CHECK(ndr_push_spoolss_DeviceModeDitherType(ndr, NDR_SCALARS, r->dithertype));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved1));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved2));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->panningwidth));
@@ -626,35 +1095,35 @@ _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DeviceMode(struct ndr_pull *ndr, int
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_align(ndr, 4));
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->devicename, 32, sizeof(uint16_t), CH_UTF16));
-               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->specversion));
+               NDR_CHECK(ndr_pull_spoolss_DeviceModeSpecVersion(ndr, NDR_SCALARS, &r->specversion));
                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_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_spoolss_DeviceModeOrientation(ndr, NDR_SCALARS, &r->orientation));
+               NDR_CHECK(ndr_pull_spoolss_DeviceModePaperSize(ndr, NDR_SCALARS, &r->papersize));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->paperlength));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->paperwidth));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->scale));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->copies));
-               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->defaultsource));
-               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->printquality));
-               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->color));
-               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->duplex));
+               NDR_CHECK(ndr_pull_spoolss_DeviceModeDefaultSource(ndr, NDR_SCALARS, &r->defaultsource));
+               NDR_CHECK(ndr_pull_spoolss_DeviceModePrintQuality(ndr, NDR_SCALARS, &r->printquality));
+               NDR_CHECK(ndr_pull_spoolss_DeviceModeColor(ndr, NDR_SCALARS, &r->color));
+               NDR_CHECK(ndr_pull_spoolss_DeviceModeDuplex(ndr, NDR_SCALARS, &r->duplex));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->yresolution));
-               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ttoption));
-               NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->collate));
+               NDR_CHECK(ndr_pull_spoolss_DeviceModeTTOption(ndr, NDR_SCALARS, &r->ttoption));
+               NDR_CHECK(ndr_pull_spoolss_DeviceModeCollate(ndr, NDR_SCALARS, &r->collate));
                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->formname, 32, sizeof(uint16_t), CH_UTF16));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logpixels));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bitsperpel));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pelswidth));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pelsheight));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->displayflags));
+               NDR_CHECK(ndr_pull_spoolss_DeviceModeNUp(ndr, NDR_SCALARS, &r->displayflags));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->displayfrequency));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->icmmethod));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->icmintent));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->mediatype));
-               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->dithertype));
+               NDR_CHECK(ndr_pull_spoolss_DeviceModeICMMethod(ndr, NDR_SCALARS, &r->icmmethod));
+               NDR_CHECK(ndr_pull_spoolss_DeviceModeICMIntent(ndr, NDR_SCALARS, &r->icmintent));
+               NDR_CHECK(ndr_pull_spoolss_DeviceModeMediaType(ndr, NDR_SCALARS, &r->mediatype));
+               NDR_CHECK(ndr_pull_spoolss_DeviceModeDitherType(ndr, NDR_SCALARS, &r->dithertype));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved1));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->panningwidth));
@@ -681,35 +1150,35 @@ _PUBLIC_ void ndr_print_spoolss_DeviceMode(struct ndr_print *ndr, const char *na
        ndr_print_struct(ndr, name, "spoolss_DeviceMode");
        ndr->depth++;
        ndr_print_string(ndr, "devicename", r->devicename);
-       ndr_print_uint16(ndr, "specversion", r->specversion);
+       ndr_print_spoolss_DeviceModeSpecVersion(ndr, "specversion", r->specversion);
        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_spoolss_DeviceModeFields(ndr, "fields", r->fields);
-       ndr_print_uint16(ndr, "orientation", r->orientation);
-       ndr_print_uint16(ndr, "papersize", r->papersize);
+       ndr_print_spoolss_DeviceModeOrientation(ndr, "orientation", r->orientation);
+       ndr_print_spoolss_DeviceModePaperSize(ndr, "papersize", r->papersize);
        ndr_print_uint16(ndr, "paperlength", r->paperlength);
        ndr_print_uint16(ndr, "paperwidth", r->paperwidth);
        ndr_print_uint16(ndr, "scale", r->scale);
        ndr_print_uint16(ndr, "copies", r->copies);
-       ndr_print_uint16(ndr, "defaultsource", r->defaultsource);
-       ndr_print_uint16(ndr, "printquality", r->printquality);
-       ndr_print_uint16(ndr, "color", r->color);
-       ndr_print_uint16(ndr, "duplex", r->duplex);
+       ndr_print_spoolss_DeviceModeDefaultSource(ndr, "defaultsource", r->defaultsource);
+       ndr_print_spoolss_DeviceModePrintQuality(ndr, "printquality", r->printquality);
+       ndr_print_spoolss_DeviceModeColor(ndr, "color", r->color);
+       ndr_print_spoolss_DeviceModeDuplex(ndr, "duplex", r->duplex);
        ndr_print_uint16(ndr, "yresolution", r->yresolution);
-       ndr_print_uint16(ndr, "ttoption", r->ttoption);
-       ndr_print_uint16(ndr, "collate", r->collate);
+       ndr_print_spoolss_DeviceModeTTOption(ndr, "ttoption", r->ttoption);
+       ndr_print_spoolss_DeviceModeCollate(ndr, "collate", r->collate);
        ndr_print_string(ndr, "formname", r->formname);
        ndr_print_uint16(ndr, "logpixels", r->logpixels);
        ndr_print_uint32(ndr, "bitsperpel", r->bitsperpel);
        ndr_print_uint32(ndr, "pelswidth", r->pelswidth);
        ndr_print_uint32(ndr, "pelsheight", r->pelsheight);
-       ndr_print_uint32(ndr, "displayflags", r->displayflags);
+       ndr_print_spoolss_DeviceModeNUp(ndr, "displayflags", r->displayflags);
        ndr_print_uint32(ndr, "displayfrequency", r->displayfrequency);
-       ndr_print_uint32(ndr, "icmmethod", r->icmmethod);
-       ndr_print_uint32(ndr, "icmintent", r->icmintent);
-       ndr_print_uint32(ndr, "mediatype", r->mediatype);
-       ndr_print_uint32(ndr, "dithertype", r->dithertype);
+       ndr_print_spoolss_DeviceModeICMMethod(ndr, "icmmethod", r->icmmethod);
+       ndr_print_spoolss_DeviceModeICMIntent(ndr, "icmintent", r->icmintent);
+       ndr_print_spoolss_DeviceModeMediaType(ndr, "mediatype", r->mediatype);
+       ndr_print_spoolss_DeviceModeDitherType(ndr, "dithertype", r->dithertype);
        ndr_print_uint32(ndr, "reserved1", r->reserved1);
        ndr_print_uint32(ndr, "reserved2", r->reserved2);
        ndr_print_uint32(ndr, "panningwidth", r->panningwidth);
index 1e6baa4ca6bb374233d8b5c36a7a0c58566dcf91..9a33852756882c66ad1374b53297bdfc8ba8ed6e 100644 (file)
@@ -218,6 +218,20 @@ enum ndr_err_code ndr_pull_spoolss_PrinterInfo0(struct ndr_pull *ndr, int ndr_fl
 void ndr_print_spoolss_PrinterInfo0(struct ndr_print *ndr, const char *name, const struct spoolss_PrinterInfo0 *r);
 size_t ndr_size_spoolss_PrinterInfo0(const struct spoolss_PrinterInfo0 *r, struct smb_iconv_convenience *ic, int flags);
 void ndr_print_spoolss_DeviceModeFields(struct ndr_print *ndr, const char *name, uint32_t r);
+void ndr_print_spoolss_DeviceModeSpecVersion(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeSpecVersion r);
+void ndr_print_spoolss_DeviceModeOrientation(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeOrientation r);
+void ndr_print_spoolss_DeviceModePaperSize(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModePaperSize r);
+void ndr_print_spoolss_DeviceModeDefaultSource(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeDefaultSource r);
+void ndr_print_spoolss_DeviceModePrintQuality(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModePrintQuality r);
+void ndr_print_spoolss_DeviceModeColor(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeColor r);
+void ndr_print_spoolss_DeviceModeDuplex(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeDuplex r);
+void ndr_print_spoolss_DeviceModeTTOption(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeTTOption r);
+void ndr_print_spoolss_DeviceModeCollate(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeCollate r);
+void ndr_print_spoolss_DeviceModeNUp(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeNUp r);
+void ndr_print_spoolss_DeviceModeICMMethod(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeICMMethod r);
+void ndr_print_spoolss_DeviceModeICMIntent(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeICMIntent r);
+void ndr_print_spoolss_DeviceModeMediaType(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeMediaType r);
+void ndr_print_spoolss_DeviceModeDitherType(struct ndr_print *ndr, const char *name, enum spoolss_DeviceModeDitherType 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);
index 1a9d393e093b635e980d8cae2d870b8d20fbd5bb..bd3318ef53d45ac60455ba55d0b585face5edc53 100644 (file)
@@ -237,37 +237,457 @@ struct spoolss_PrinterInfo0 {
 #define DEVMODE_PANNINGWIDTH ( 0x08000000 )
 #define DEVMODE_PANNINGHEIGHT ( 0x10000000 )
 
+enum spoolss_DeviceModeSpecVersion
+#ifndef USE_UINT_ENUMS
+ {
+       DMSPEC_NT3=0x320,
+       DMSPEC_WIN95_98_ME=0x400,
+       DMSPEC_NT4_AND_ABOVE=0x401
+}
+#else
+ { __donnot_use_enum_spoolss_DeviceModeSpecVersion=0x7FFFFFFF}
+#define DMSPEC_NT3 ( 0x320 )
+#define DMSPEC_WIN95_98_ME ( 0x400 )
+#define DMSPEC_NT4_AND_ABOVE ( 0x401 )
+#endif
+;
+
+enum spoolss_DeviceModeOrientation
+#ifndef USE_UINT_ENUMS
+ {
+       DMORIENT_PORTRAIT=0x0001,
+       DMORIENT_LANDSCAPE=0x0002
+}
+#else
+ { __donnot_use_enum_spoolss_DeviceModeOrientation=0x7FFFFFFF}
+#define DMORIENT_PORTRAIT ( 0x0001 )
+#define DMORIENT_LANDSCAPE ( 0x0002 )
+#endif
+;
+
+enum spoolss_DeviceModePaperSize
+#ifndef USE_UINT_ENUMS
+ {
+       DMPAPER_LETTER=0x0001,
+       DMPAPER_LETTERSMALL=0x0002,
+       DMPAPER_TABLOID=0x0003,
+       DMPAPER_LEDGER=0x0004,
+       DMPAPER_LEGAL=0x0005,
+       DMPAPER_STATEMENT=0x0006,
+       DMPAPER_EXECUTIVE=0x0007,
+       DMPAPER_A3=0x0008,
+       DMPAPER_A4=0x0009,
+       DMPAPER_A4SMALL=0x000A,
+       DMPAPER_A5=0x000B,
+       DMPAPER_B4=0x000C,
+       DMPAPER_B5=0x000D,
+       DMPAPER_FOLIO=0x000E,
+       DMPAPER_QUARTO=0x000F,
+       DMPAPER_10X14=0x0010,
+       DMPAPER_11X17=0x0011,
+       DMPAPER_NOTE=0x0012,
+       DMPAPER_ENV_9=0x0013,
+       DMPAPER_ENV_10=0x0014,
+       DMPAPER_ENV_11=0x0015,
+       DMPAPER_ENV_12=0x0016,
+       DMPAPER_ENV_14=0x0017,
+       DMPAPER_CSHEET=0x0018,
+       DMPAPER_DSHEET=0x0019,
+       DMPAPER_ESHEET=0x001A,
+       DMPAPER_ENV_DL=0x001B,
+       DMPAPER_ENV_C5=0x001C,
+       DMPAPER_ENV_C3=0x001D,
+       DMPAPER_ENV_C4=0x001E,
+       DMPAPER_ENV_C6=0x001F,
+       DMPAPER_ENV_C65=0x0020,
+       DMPAPER_ENV_B4=0x0021,
+       DMPAPER_ENV_B5=0x0022,
+       DMPAPER_ENV_B6=0x0023,
+       DMPAPER_ENV_ITALY=0x0024,
+       DMPAPER_ENV_MONARCH=0x0025,
+       DMPAPER_ENV_PERSONAL=0x0026,
+       DMPAPER_FANFOLD_US=0x0027,
+       DMPAPER_FANFOLD_STD_GERMAN=0x0028,
+       DMPAPER_FANFOLD_LGL_GERMAN=0x0029,
+       DMPAPER_DBL_JAPANESE_POSTCARD=0x0045,
+       DMPAPER_A6=0x0046,
+       DMPAPER_JENV_KAKU2=0x0047,
+       DMPAPER_JENV_KAKU3=0x0048,
+       DMPAPER_JENV_CHOU3=0x0049,
+       DMPAPER_JENV_CHOU4=0x004A,
+       DMPAPER_LETTER_ROTATED=0x004B,
+       DMPAPER_A3_ROTATED=0x004C,
+       DMPAPER_A4_ROTATED=0x004D,
+       DMPAPER_A5_ROTATED=0x004E,
+       DMPAPER_B4_JIS_ROTATED=0x004F,
+       DMPAPER_B5_JIS_ROTATED=0x0050,
+       DMPAPER_JAPANESE_POSTCARD_ROTATED=0x0051,
+       DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED=0x0052,
+       DMPAPER_A6_ROTATED=0x0053,
+       DMPAPER_JENV_KAKU2_ROTATED=0x0054,
+       DMPAPER_JENV_KAKU3_ROTATED=0x0055,
+       DMPAPER_JENV_CHOU3_ROTATED=0x0056,
+       DMPAPER_JENV_CHOU4_ROTATED=0x0057,
+       DMPAPER_B6_JIS=0x0058,
+       DMPAPER_B6_JIS_ROTATED=0x0059,
+       DMPAPER_12X11=0x005A,
+       DMPAPER_JENV_YOU4=0x005B,
+       DMPAPER_JENV_YOU4_ROTATED=0x005C,
+       DMPAPER_P16K=0x005D,
+       DMPAPER_P32K=0x005E,
+       DMPAPER_P32KBIG=0x005F,
+       DMPAPER_PENV_1=0x0060,
+       DMPAPER_PENV_2=0x0061,
+       DMPAPER_PENV_3=0x0062,
+       DMPAPER_PENV_4=0x0063,
+       DMPAPER_PENV_5=0x0064,
+       DMPAPER_PENV_6=0x0065,
+       DMPAPER_PENV_7=0x0066,
+       DMPAPER_PENV_8=0x0067,
+       DMPAPER_PENV_9=0x0068,
+       DMPAPER_PENV_10=0x0069,
+       DMPAPER_P16K_ROTATED=0x006A,
+       DMPAPER_P32K_ROTATED=0x006B,
+       DMPAPER_P32KBIG_ROTATED=0x006C,
+       DMPAPER_PENV_1_ROTATED=0x006D,
+       DMPAPER_PENV_2_ROTATED=0x006E,
+       DMPAPER_PENV_3_ROTATED=0x006F,
+       DMPAPER_PENV_4_ROTATED=0x0070,
+       DMPAPER_PENV_5_ROTATED=0x0071,
+       DMPAPER_PENV_6_ROTATED=0x0072,
+       DMPAPER_PENV_7_ROTATED=0x0073,
+       DMPAPER_PENV_8_ROTATED=0x0074,
+       DMPAPER_PENV_9_ROTATED=0x0075,
+       DMPAPER_PENV_10_ROTATED=0x0076
+}
+#else
+ { __donnot_use_enum_spoolss_DeviceModePaperSize=0x7FFFFFFF}
+#define DMPAPER_LETTER ( 0x0001 )
+#define DMPAPER_LETTERSMALL ( 0x0002 )
+#define DMPAPER_TABLOID ( 0x0003 )
+#define DMPAPER_LEDGER ( 0x0004 )
+#define DMPAPER_LEGAL ( 0x0005 )
+#define DMPAPER_STATEMENT ( 0x0006 )
+#define DMPAPER_EXECUTIVE ( 0x0007 )
+#define DMPAPER_A3 ( 0x0008 )
+#define DMPAPER_A4 ( 0x0009 )
+#define DMPAPER_A4SMALL ( 0x000A )
+#define DMPAPER_A5 ( 0x000B )
+#define DMPAPER_B4 ( 0x000C )
+#define DMPAPER_B5 ( 0x000D )
+#define DMPAPER_FOLIO ( 0x000E )
+#define DMPAPER_QUARTO ( 0x000F )
+#define DMPAPER_10X14 ( 0x0010 )
+#define DMPAPER_11X17 ( 0x0011 )
+#define DMPAPER_NOTE ( 0x0012 )
+#define DMPAPER_ENV_9 ( 0x0013 )
+#define DMPAPER_ENV_10 ( 0x0014 )
+#define DMPAPER_ENV_11 ( 0x0015 )
+#define DMPAPER_ENV_12 ( 0x0016 )
+#define DMPAPER_ENV_14 ( 0x0017 )
+#define DMPAPER_CSHEET ( 0x0018 )
+#define DMPAPER_DSHEET ( 0x0019 )
+#define DMPAPER_ESHEET ( 0x001A )
+#define DMPAPER_ENV_DL ( 0x001B )
+#define DMPAPER_ENV_C5 ( 0x001C )
+#define DMPAPER_ENV_C3 ( 0x001D )
+#define DMPAPER_ENV_C4 ( 0x001E )
+#define DMPAPER_ENV_C6 ( 0x001F )
+#define DMPAPER_ENV_C65 ( 0x0020 )
+#define DMPAPER_ENV_B4 ( 0x0021 )
+#define DMPAPER_ENV_B5 ( 0x0022 )
+#define DMPAPER_ENV_B6 ( 0x0023 )
+#define DMPAPER_ENV_ITALY ( 0x0024 )
+#define DMPAPER_ENV_MONARCH ( 0x0025 )
+#define DMPAPER_ENV_PERSONAL ( 0x0026 )
+#define DMPAPER_FANFOLD_US ( 0x0027 )
+#define DMPAPER_FANFOLD_STD_GERMAN ( 0x0028 )
+#define DMPAPER_FANFOLD_LGL_GERMAN ( 0x0029 )
+#define DMPAPER_DBL_JAPANESE_POSTCARD ( 0x0045 )
+#define DMPAPER_A6 ( 0x0046 )
+#define DMPAPER_JENV_KAKU2 ( 0x0047 )
+#define DMPAPER_JENV_KAKU3 ( 0x0048 )
+#define DMPAPER_JENV_CHOU3 ( 0x0049 )
+#define DMPAPER_JENV_CHOU4 ( 0x004A )
+#define DMPAPER_LETTER_ROTATED ( 0x004B )
+#define DMPAPER_A3_ROTATED ( 0x004C )
+#define DMPAPER_A4_ROTATED ( 0x004D )
+#define DMPAPER_A5_ROTATED ( 0x004E )
+#define DMPAPER_B4_JIS_ROTATED ( 0x004F )
+#define DMPAPER_B5_JIS_ROTATED ( 0x0050 )
+#define DMPAPER_JAPANESE_POSTCARD_ROTATED ( 0x0051 )
+#define DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED ( 0x0052 )
+#define DMPAPER_A6_ROTATED ( 0x0053 )
+#define DMPAPER_JENV_KAKU2_ROTATED ( 0x0054 )
+#define DMPAPER_JENV_KAKU3_ROTATED ( 0x0055 )
+#define DMPAPER_JENV_CHOU3_ROTATED ( 0x0056 )
+#define DMPAPER_JENV_CHOU4_ROTATED ( 0x0057 )
+#define DMPAPER_B6_JIS ( 0x0058 )
+#define DMPAPER_B6_JIS_ROTATED ( 0x0059 )
+#define DMPAPER_12X11 ( 0x005A )
+#define DMPAPER_JENV_YOU4 ( 0x005B )
+#define DMPAPER_JENV_YOU4_ROTATED ( 0x005C )
+#define DMPAPER_P16K ( 0x005D )
+#define DMPAPER_P32K ( 0x005E )
+#define DMPAPER_P32KBIG ( 0x005F )
+#define DMPAPER_PENV_1 ( 0x0060 )
+#define DMPAPER_PENV_2 ( 0x0061 )
+#define DMPAPER_PENV_3 ( 0x0062 )
+#define DMPAPER_PENV_4 ( 0x0063 )
+#define DMPAPER_PENV_5 ( 0x0064 )
+#define DMPAPER_PENV_6 ( 0x0065 )
+#define DMPAPER_PENV_7 ( 0x0066 )
+#define DMPAPER_PENV_8 ( 0x0067 )
+#define DMPAPER_PENV_9 ( 0x0068 )
+#define DMPAPER_PENV_10 ( 0x0069 )
+#define DMPAPER_P16K_ROTATED ( 0x006A )
+#define DMPAPER_P32K_ROTATED ( 0x006B )
+#define DMPAPER_P32KBIG_ROTATED ( 0x006C )
+#define DMPAPER_PENV_1_ROTATED ( 0x006D )
+#define DMPAPER_PENV_2_ROTATED ( 0x006E )
+#define DMPAPER_PENV_3_ROTATED ( 0x006F )
+#define DMPAPER_PENV_4_ROTATED ( 0x0070 )
+#define DMPAPER_PENV_5_ROTATED ( 0x0071 )
+#define DMPAPER_PENV_6_ROTATED ( 0x0072 )
+#define DMPAPER_PENV_7_ROTATED ( 0x0073 )
+#define DMPAPER_PENV_8_ROTATED ( 0x0074 )
+#define DMPAPER_PENV_9_ROTATED ( 0x0075 )
+#define DMPAPER_PENV_10_ROTATED ( 0x0076 )
+#endif
+;
+
+enum spoolss_DeviceModeDefaultSource
+#ifndef USE_UINT_ENUMS
+ {
+       DMBIN_UPPER=0x0001,
+       DMBIN_LOWER=0x0002,
+       DMBIN_MIDDLE=0x0003,
+       DMBIN_MANUAL=0x0004,
+       DMBIN_ENVELOPE=0x0005,
+       DMBIN_ENVMANUAL=0x0006,
+       DMBIN_AUTO=0x0007,
+       DMBIN_TRACTOR=0x0008,
+       DMBIN_SMALLFMT=0x0009,
+       DMBIN_LARGEFMT=0x000a,
+       DMBIN_LARGECAPACITY=0x000b,
+       DMBIN_CASSETTE=0x000e,
+       DMBIN_FORMSOURCE=0x000f
+}
+#else
+ { __donnot_use_enum_spoolss_DeviceModeDefaultSource=0x7FFFFFFF}
+#define DMBIN_UPPER ( 0x0001 )
+#define DMBIN_LOWER ( 0x0002 )
+#define DMBIN_MIDDLE ( 0x0003 )
+#define DMBIN_MANUAL ( 0x0004 )
+#define DMBIN_ENVELOPE ( 0x0005 )
+#define DMBIN_ENVMANUAL ( 0x0006 )
+#define DMBIN_AUTO ( 0x0007 )
+#define DMBIN_TRACTOR ( 0x0008 )
+#define DMBIN_SMALLFMT ( 0x0009 )
+#define DMBIN_LARGEFMT ( 0x000a )
+#define DMBIN_LARGECAPACITY ( 0x000b )
+#define DMBIN_CASSETTE ( 0x000e )
+#define DMBIN_FORMSOURCE ( 0x000f )
+#endif
+;
+
+enum spoolss_DeviceModePrintQuality
+#ifndef USE_UINT_ENUMS
+ {
+       DMRES_HIGH=0xfffc,
+       DMRES_MEDIUM=0xfffd,
+       DMRES_LOW=0xfffe,
+       DMRES_DRAFT=0xffff
+}
+#else
+ { __donnot_use_enum_spoolss_DeviceModePrintQuality=0x7FFFFFFF}
+#define DMRES_HIGH ( 0xfffc )
+#define DMRES_MEDIUM ( 0xfffd )
+#define DMRES_LOW ( 0xfffe )
+#define DMRES_DRAFT ( 0xffff )
+#endif
+;
+
+enum spoolss_DeviceModeColor
+#ifndef USE_UINT_ENUMS
+ {
+       DMRES_MONOCHROME=0x0001,
+       DMRES_COLOR=0x0002
+}
+#else
+ { __donnot_use_enum_spoolss_DeviceModeColor=0x7FFFFFFF}
+#define DMRES_MONOCHROME ( 0x0001 )
+#define DMRES_COLOR ( 0x0002 )
+#endif
+;
+
+enum spoolss_DeviceModeDuplex
+#ifndef USE_UINT_ENUMS
+ {
+       DMDUP_SIMPLEX=0x0001,
+       DMDUP_VERTICAL=0x0002,
+       DMDUP_HORIZONTAL=0x0003
+}
+#else
+ { __donnot_use_enum_spoolss_DeviceModeDuplex=0x7FFFFFFF}
+#define DMDUP_SIMPLEX ( 0x0001 )
+#define DMDUP_VERTICAL ( 0x0002 )
+#define DMDUP_HORIZONTAL ( 0x0003 )
+#endif
+;
+
+enum spoolss_DeviceModeTTOption
+#ifndef USE_UINT_ENUMS
+ {
+       DMTT_BITMAP=0x0001,
+       DMTT_DOWNLOAD=0x0002,
+       DMTT_SUBDEV=0x0003,
+       DMTT_DOWNLOAD_OUTLINE=0x0004
+}
+#else
+ { __donnot_use_enum_spoolss_DeviceModeTTOption=0x7FFFFFFF}
+#define DMTT_BITMAP ( 0x0001 )
+#define DMTT_DOWNLOAD ( 0x0002 )
+#define DMTT_SUBDEV ( 0x0003 )
+#define DMTT_DOWNLOAD_OUTLINE ( 0x0004 )
+#endif
+;
+
+enum spoolss_DeviceModeCollate
+#ifndef USE_UINT_ENUMS
+ {
+       DMCOLLATE_FALSE=0x0000,
+       DMCOLLATE_TRUE=0x0001
+}
+#else
+ { __donnot_use_enum_spoolss_DeviceModeCollate=0x7FFFFFFF}
+#define DMCOLLATE_FALSE ( 0x0000 )
+#define DMCOLLATE_TRUE ( 0x0001 )
+#endif
+;
+
+enum spoolss_DeviceModeNUp
+#ifndef USE_UINT_ENUMS
+ {
+       DMNUP_SYSTEM=0x00000001,
+       DMNUP_ONEUP=0x00000002
+}
+#else
+ { __donnot_use_enum_spoolss_DeviceModeNUp=0x7FFFFFFF}
+#define DMNUP_SYSTEM ( 0x00000001 )
+#define DMNUP_ONEUP ( 0x00000002 )
+#endif
+;
+
+enum spoolss_DeviceModeICMMethod
+#ifndef USE_UINT_ENUMS
+ {
+       DMICMMETHOD_NONE=0x00000001,
+       DMICMMETHOD_SYSTEM=0x00000002,
+       DMICMMETHOD_DRIVER=0x00000003,
+       DMICMMETHOD_DEVICE=0x00000004
+}
+#else
+ { __donnot_use_enum_spoolss_DeviceModeICMMethod=0x7FFFFFFF}
+#define DMICMMETHOD_NONE ( 0x00000001 )
+#define DMICMMETHOD_SYSTEM ( 0x00000002 )
+#define DMICMMETHOD_DRIVER ( 0x00000003 )
+#define DMICMMETHOD_DEVICE ( 0x00000004 )
+#endif
+;
+
+enum spoolss_DeviceModeICMIntent
+#ifndef USE_UINT_ENUMS
+ {
+       DMICM_SATURATE=0x00000001,
+       DMICM_CONTRAST=0x00000002,
+       DMICM_COLORIMETRIC=0x00000003,
+       DMICM_ABS_COLORIMETRIC=0x00000004
+}
+#else
+ { __donnot_use_enum_spoolss_DeviceModeICMIntent=0x7FFFFFFF}
+#define DMICM_SATURATE ( 0x00000001 )
+#define DMICM_CONTRAST ( 0x00000002 )
+#define DMICM_COLORIMETRIC ( 0x00000003 )
+#define DMICM_ABS_COLORIMETRIC ( 0x00000004 )
+#endif
+;
+
+enum spoolss_DeviceModeMediaType
+#ifndef USE_UINT_ENUMS
+ {
+       DMMEDIA_STANDARD=0x00000001,
+       DMMEDIA_TRANSPARENCY=0x00000002,
+       DMMEDIA_GLOSSY=0x00000003
+}
+#else
+ { __donnot_use_enum_spoolss_DeviceModeMediaType=0x7FFFFFFF}
+#define DMMEDIA_STANDARD ( 0x00000001 )
+#define DMMEDIA_TRANSPARENCY ( 0x00000002 )
+#define DMMEDIA_GLOSSY ( 0x00000003 )
+#endif
+;
+
+enum spoolss_DeviceModeDitherType
+#ifndef USE_UINT_ENUMS
+ {
+       DMDITHER_NONE=0x00000001,
+       DMDITHER_COARSE=0x00000002,
+       DMDITHER_FINE=0x00000003,
+       DMDITHER_LINEART=0x00000004,
+       DMDITHER_ERRORDIFFUSION=0x00000005,
+       DMDITHER_RESERVED6=0x00000006,
+       DMDITHER_RESERVED7=0x00000007,
+       DMDITHER_RESERVED8=0x00000008,
+       DMDITHER_RESERVED9=0x00000009,
+       DMDITHER_GRAYSCALE=0x0000000A
+}
+#else
+ { __donnot_use_enum_spoolss_DeviceModeDitherType=0x7FFFFFFF}
+#define DMDITHER_NONE ( 0x00000001 )
+#define DMDITHER_COARSE ( 0x00000002 )
+#define DMDITHER_FINE ( 0x00000003 )
+#define DMDITHER_LINEART ( 0x00000004 )
+#define DMDITHER_ERRORDIFFUSION ( 0x00000005 )
+#define DMDITHER_RESERVED6 ( 0x00000006 )
+#define DMDITHER_RESERVED7 ( 0x00000007 )
+#define DMDITHER_RESERVED8 ( 0x00000008 )
+#define DMDITHER_RESERVED9 ( 0x00000009 )
+#define DMDITHER_GRAYSCALE ( 0x0000000A )
+#endif
+;
+
 struct spoolss_DeviceMode {
        const char *devicename;/* [charset(UTF16)] */
-       uint16_t specversion;
+       enum spoolss_DeviceModeSpecVersion specversion;
        uint16_t driverversion;
        uint16_t size;
        uint16_t __driverextra_length;/* [value(r->driverextra_data.length)] */
        uint32_t fields;
-       uint16_t orientation;
-       uint16_t papersize;
+       enum spoolss_DeviceModeOrientation orientation;
+       enum spoolss_DeviceModePaperSize papersize;
        uint16_t paperlength;
        uint16_t paperwidth;
        uint16_t scale;
        uint16_t copies;
-       uint16_t defaultsource;
-       uint16_t printquality;
-       uint16_t color;
-       uint16_t duplex;
+       enum spoolss_DeviceModeDefaultSource defaultsource;
+       enum spoolss_DeviceModePrintQuality printquality;
+       enum spoolss_DeviceModeColor color;
+       enum spoolss_DeviceModeDuplex duplex;
        uint16_t yresolution;
-       uint16_t ttoption;
-       uint16_t collate;
+       enum spoolss_DeviceModeTTOption ttoption;
+       enum spoolss_DeviceModeCollate collate;
        const char *formname;/* [charset(UTF16)] */
        uint16_t logpixels;
        uint32_t bitsperpel;
        uint32_t pelswidth;
        uint32_t pelsheight;
-       uint32_t displayflags;
+       enum spoolss_DeviceModeNUp displayflags;
        uint32_t displayfrequency;
-       uint32_t icmmethod;
-       uint32_t icmintent;
-       uint32_t mediatype;
-       uint32_t dithertype;
+       enum spoolss_DeviceModeICMMethod icmmethod;
+       enum spoolss_DeviceModeICMIntent icmintent;
+       enum spoolss_DeviceModeMediaType mediatype;
+       enum spoolss_DeviceModeDitherType dithertype;
        uint32_t reserved1;
        uint32_t reserved2;
        uint32_t panningwidth;