From Martin Regner: fix dissection of non-standard parameters.
[obnox/wireshark/wip.git] / packet-dcerpc-spoolss.h
index 35cbb0f54e5694f250262db5cde8ba5bacf23d10..4e7ab9ccfd2f89658f2cfe65cf49f02eff6df792 100644 (file)
@@ -2,22 +2,22 @@
  * Routines for SMB \PIPE\spoolss packet disassembly
  * Copyright 2001, Tim Potter <tpot@samba.org>
  *
- * $Id: packet-dcerpc-spoolss.h,v 1.9 2002/06/17 06:45:42 tpot Exp $
+ * $Id: packet-dcerpc-spoolss.h,v 1.18 2003/02/14 06:21:30 tpot Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@ethereal.com>
  * Copyright 1998 Gerald Combs
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
  * as published by the Free Software Foundation; either version 2
  * of the License, or (at your option) any later version.
- * 
+ *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
@@ -26,7 +26,7 @@
 #ifndef __PACKET_DCERPC_SPOOLSS_H
 #define __PACKET_DCERPC_SPOOLSS_H
 
-/* Functions available on the SPOOLSS pipe.  From Samba, 
+/* Functions available on the SPOOLSS pipe.  From Samba,
    include/rpc_spoolss.h */
 
 #define SPOOLSS_ENUMPRINTERS                           0x00
 
 /* Form types */
 
-#define FORM_USER    0
-#define FORM_BUILTIN 1
-#define FORM_PRINTER 2
+#define SPOOLSS_FORM_USER    0
+#define SPOOLSS_FORM_BUILTIN 1
+#define SPOOLSS_FORM_PRINTER 2
 
 /* Printer change notification flags */
 
-#define PRINTER_CHANGE_ADD_PRINTER                     0x00000001
-#define PRINTER_CHANGE_SET_PRINTER                     0x00000002
-#define PRINTER_CHANGE_DELETE_PRINTER                  0x00000004
-#define PRINTER_CHANGE_FAILED_CONNECTION_PRINTER       0x00000008
-#define PRINTER_CHANGE_PRINTER (PRINTER_CHANGE_ADD_PRINTER | \
-                                PRINTER_CHANGE_SET_PRINTER | \
-                                PRINTER_CHANGE_DELETE_PRINTER | \
-                                PRINTER_CHANGE_FAILED_CONNECTION_PRINTER )
-#define PRINTER_CHANGE_ADD_JOB                         0x00000100
-#define PRINTER_CHANGE_SET_JOB                         0x00000200
-#define PRINTER_CHANGE_DELETE_JOB                      0x00000400
-#define PRINTER_CHANGE_WRITE_JOB                       0x00000800
-#define PRINTER_CHANGE_JOB     (PRINTER_CHANGE_ADD_JOB | \
-                                PRINTER_CHANGE_SET_JOB | \
-                                PRINTER_CHANGE_DELETE_JOB | \
-                                PRINTER_CHANGE_WRITE_JOB )
-#define PRINTER_CHANGE_ADD_FORM                                0x00010000
-#define PRINTER_CHANGE_SET_FORM                                0x00020000
-#define PRINTER_CHANGE_DELETE_FORM                     0x00040000
-#define PRINTER_CHANGE_FORM    (PRINTER_CHANGE_ADD_FORM | \
-                                PRINTER_CHANGE_SET_FORM | \
-                                PRINTER_CHANGE_DELETE_FORM )
-
-#define PRINTER_CHANGE_ADD_PORT                                0x00100000
-#define PRINTER_CHANGE_CONFIGURE_PORT                  0x00200000
-#define PRINTER_CHANGE_DELETE_PORT                     0x00400000
-#define PRINTER_CHANGE_PORT    (PRINTER_CHANGE_ADD_PORT | \
-                                PRINTER_CHANGE_CONFIGURE_PORT | \
-                                PRINTER_CHANGE_DELETE_PORT )
-
-#define PRINTER_CHANGE_ADD_PRINT_PROCESSOR             0x01000000
-#define PRINTER_CHANGE_DELETE_PRINT_PROCESSOR          0x04000000
-#define PRINTER_CHANGE_PRINT_PROCESSOR (PRINTER_CHANGE_ADD_PRINT_PROCESSOR | \
-                                        PRINTER_CHANGE_DELETE_PRINT_PROCESSOR )
-
-#define PRINTER_CHANGE_ADD_PRINTER_DRIVER              0x10000000
-#define PRINTER_CHANGE_SET_PRINTER_DRIVER              0x20000000
-#define PRINTER_CHANGE_DELETE_PRINTER_DRIVER           0x40000000
-#define PRINTER_CHANGE_PRINTER_DRIVER  (PRINTER_CHANGE_ADD_PRINTER_DRIVER | \
-                                        PRINTER_CHANGE_SET_PRINTER_DRIVER | \
-                                        PRINTER_CHANGE_DELETE_PRINTER_DRIVER )
-
-#define PRINTER_CHANGE_TIMEOUT                         0x80000000
-#define PRINTER_CHANGE_ALL     (PRINTER_CHANGE_JOB | \
-                                PRINTER_CHANGE_FORM | \
-                                PRINTER_CHANGE_PORT | \
-                                PRINTER_CHANGE_PRINT_PROCESSOR | \
-                                PRINTER_CHANGE_PRINTER_DRIVER )
+#define SPOOLSS_PRINTER_CHANGE_ADD_PRINTER                     0x00000001
+#define SPOOLSS_PRINTER_CHANGE_SET_PRINTER                     0x00000002
+#define SPOOLSS_PRINTER_CHANGE_DELETE_PRINTER                  0x00000004
+#define SPOOLSS_PRINTER_CHANGE_FAILED_CONNECTION_PRINTER       0x00000008
+#define SPOOLSS_PRINTER_CHANGE_PRINTER (SPOOLSS_PRINTER_CHANGE_ADD_PRINTER | \
+                                SPOOLSS_PRINTER_CHANGE_SET_PRINTER | \
+                                SPOOLSS_PRINTER_CHANGE_DELETE_PRINTER | \
+                                SPOOLSS_PRINTER_CHANGE_FAILED_CONNECTION_PRINTER )
+#define SPOOLSS_PRINTER_CHANGE_ADD_JOB                         0x00000100
+#define SPOOLSS_PRINTER_CHANGE_SET_JOB                         0x00000200
+#define SPOOLSS_PRINTER_CHANGE_DELETE_JOB                      0x00000400
+#define SPOOLSS_PRINTER_CHANGE_WRITE_JOB                       0x00000800
+#define SPOOLSS_PRINTER_CHANGE_JOB     (SPOOLSS_PRINTER_CHANGE_ADD_JOB | \
+                                SPOOLSS_PRINTER_CHANGE_SET_JOB | \
+                                SPOOLSS_PRINTER_CHANGE_DELETE_JOB | \
+                                SPOOLSS_PRINTER_CHANGE_WRITE_JOB )
+#define SPOOLSS_PRINTER_CHANGE_ADD_FORM                                0x00010000
+#define SPOOLSS_PRINTER_CHANGE_SET_FORM                                0x00020000
+#define SPOOLSS_PRINTER_CHANGE_DELETE_FORM                     0x00040000
+#define SPOOLSS_PRINTER_CHANGE_FORM    (SPOOLSS_PRINTER_CHANGE_ADD_FORM | \
+                                SPOOLSS_PRINTER_CHANGE_SET_FORM | \
+                                SPOOLSS_PRINTER_CHANGE_DELETE_FORM )
+
+#define SPOOLSS_PRINTER_CHANGE_ADD_PORT                                0x00100000
+#define SPOOLSS_PRINTER_CHANGE_CONFIGURE_PORT                  0x00200000
+#define SPOOLSS_PRINTER_CHANGE_DELETE_PORT                     0x00400000
+#define SPOOLSS_PRINTER_CHANGE_PORT    (SPOOLSS_PRINTER_CHANGE_ADD_PORT | \
+                                SPOOLSS_PRINTER_CHANGE_CONFIGURE_PORT | \
+                                SPOOLSS_PRINTER_CHANGE_DELETE_PORT )
+
+#define SPOOLSS_PRINTER_CHANGE_ADD_PRINT_PROCESSOR             0x01000000
+#define SPOOLSS_PRINTER_CHANGE_DELETE_PRINT_PROCESSOR          0x04000000
+#define SPOOLSS_PRINTER_CHANGE_PRINT_PROCESSOR (SPOOLSS_PRINTER_CHANGE_ADD_PRINT_PROCESSOR | \
+                                        SPOOLSS_PRINTER_CHANGE_DELETE_PRINT_PROCESSOR )
+
+#define SPOOLSS_PRINTER_CHANGE_ADD_PRINTER_DRIVER              0x10000000
+#define SPOOLSS_PRINTER_CHANGE_SET_PRINTER_DRIVER              0x20000000
+#define SPOOLSS_PRINTER_CHANGE_DELETE_PRINTER_DRIVER           0x40000000
+#define SPOOLSS_PRINTER_CHANGE_PRINTER_DRIVER  (SPOOLSS_PRINTER_CHANGE_ADD_PRINTER_DRIVER | \
+                                        SPOOLSS_PRINTER_CHANGE_SET_PRINTER_DRIVER | \
+                                        SPOOLSS_PRINTER_CHANGE_DELETE_PRINTER_DRIVER )
+
+#define SPOOLSS_PRINTER_CHANGE_TIMEOUT                         0x80000000
+#define SPOOLSS_PRINTER_CHANGE_ALL     (SPOOLSS_PRINTER_CHANGE_JOB | \
+                                SPOOLSS_PRINTER_CHANGE_FORM | \
+                                SPOOLSS_PRINTER_CHANGE_PORT | \
+                                SPOOLSS_PRINTER_CHANGE_PRINT_PROCESSOR | \
+                                SPOOLSS_PRINTER_CHANGE_PRINTER_DRIVER )
 
 /* Printer notify option types */
 
 #define PRINTER_ATTRIBUTE_RAW_ONLY             0x00001000
 #define PRINTER_ATTRIBUTE_PUBLISHED             0x00002000
 
+/* Setprinter control commands */
+
+#define SPOOLSS_PRINTER_CONTROL_UNPAUSE                0x00000000
+#define SPOOLSS_PRINTER_CONTROL_PAUSE          0x00000001
+#define SPOOLSS_PRINTER_CONTROL_RESUME         0x00000002
+#define SPOOLSS_PRINTER_CONTROL_PURGE          0x00000003
+#define SPOOLSS_PRINTER_CONTROL_SET_STATUS     0x00000004
+
+/* Specific access rights */
+
+#define SERVER_ACCESS_ADMINISTER       0x00000001
+#define SERVER_ACCESS_ENUMERATE                0x00000002
+#define PRINTER_ACCESS_ADMINISTER      0x00000004
+#define PRINTER_ACCESS_USE             0x00000008
+#define JOB_ACCESS_ADMINISTER          0x00000010
+
+/* Enumprinters flags */
+
+#define PRINTER_ENUM_DEFAULT           0x00000001
+#define PRINTER_ENUM_LOCAL             0x00000002
+#define PRINTER_ENUM_CONNECTIONS       0x00000004
+#define PRINTER_ENUM_FAVORITE          0x00000004
+#define PRINTER_ENUM_NAME              0x00000008
+#define PRINTER_ENUM_REMOTE            0x00000010
+#define PRINTER_ENUM_SHARED            0x00000020
+#define PRINTER_ENUM_NETWORK           0x00000040
+
+/* Devicemode field flags */
+
+#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
+
+/* Devicemode paper orientation */
+
+#define DEVMODE_ORIENTATION_PORTRAIT    1
+#define DEVMODE_ORIENTATION_LANDSCAPE   2
+
+/* Devicemode paper size */
+
+#define DEVMODE_PAPERSIZE_LETTER                1
+#define DEVMODE_PAPERSIZE_LETTERSMALL           2
+#define DEVMODE_PAPERSIZE_TABLOID               3
+#define DEVMODE_PAPERSIZE_LEDGER               4
+#define DEVMODE_PAPERSIZE_LEGAL                        5       
+#define DEVMODE_PAPERSIZE_STATEMENT            6       
+#define DEVMODE_PAPERSIZE_EXECUTIVE            7
+#define DEVMODE_PAPERSIZE_A3                   8
+#define DEVMODE_PAPERSIZE_A4                   9
+#define DEVMODE_PAPERSIZE_A4SMALL              10
+#define DEVMODE_PAPERSIZE_A5                   11
+#define DEVMODE_PAPERSIZE_B4                   12
+#define DEVMODE_PAPERSIZE_B5                   13
+#define DEVMODE_PAPERSIZE_FOLIO                        14
+#define DEVMODE_PAPERSIZE_QUARTO               15
+#define DEVMODE_PAPERSIZE_10X14                        16
+#define DEVMODE_PAPERSIZE_11X17                        17
+#define DEVMODE_PAPERSIZE_NOTE                 18
+#define DEVMODE_PAPERSIZE_ENV9                 19
+#define DEVMODE_PAPERSIZE_ENV10                        20
+#define DEVMODE_PAPERSIZE_ENV11                        21
+#define DEVMODE_PAPERSIZE_ENV12                        22
+#define DEVMODE_PAPERSIZE_ENV14                        23
+#define DEVMODE_PAPERSIZE_CSHEET               24
+#define DEVMODE_PAPERSIZE_DSHEET               25
+#define DEVMODE_PAPERSIZE_ESHEET               26
+#define DEVMODE_PAPERSIZE_ENVDL                        27
+#define DEVMODE_PAPERSIZE_ENVC5                        28
+#define DEVMODE_PAPERSIZE_ENVC3                        29
+#define DEVMODE_PAPERSIZE_ENVC4                        30
+#define DEVMODE_PAPERSIZE_ENVC6                        31
+#define DEVMODE_PAPERSIZE_ENVC65               32
+#define DEVMODE_PAPERSIZE_ENVB4                        33
+#define DEVMODE_PAPERSIZE_ENVB5                        34
+#define DEVMODE_PAPERSIZE_ENVB6                        35
+#define DEVMODE_PAPERSIZE_ENVITALY             36
+#define DEVMODE_PAPERSIZE_ENVMONARCH           37
+#define DEVMODE_PAPERSIZE_ENVPERSONAL          38
+#define DEVMODE_PAPERSIZE_FANFOLDUS            39
+#define DEVMODE_PAPERSIZE_FANFOLDSTDGERMAN     40
+#define DEVMODE_PAPERSIZE_FANFOLDLGLGERMAN     41
+#define DEVMODE_PAPERSIZE_ISOB4                        42
+#define DEVMODE_PAPERSIZE_JAPANESEPOSTCARD     43
+#define DEVMODE_PAPERSIZE_9X11                 44
+#define DEVMODE_PAPERSIZE_10X11                        45
+#define DEVMODE_PAPERSIZE_15X11                        46
+#define DEVMODE_PAPERSIZE_ENVINVITE            47
+#define DEVMODE_PAPERSIZE_RESERVED48           48
+#define DEVMODE_PAPERSIZE_RESERVED49           49
+#define DEVMODE_PAPERSIZE_LETTEREXTRA          50
+#define DEVMODE_PAPERSIZE_LEGALEXTRA           51
+#define DEVMODE_PAPERSIZE_TABLOIDEXTRA         52
+#define DEVMODE_PAPERSIZE_A4EXTRA              53
+#define DEVMODE_PAPERSIZE_LETTERTRANS          54
+#define DEVMODE_PAPERSIZE_A4TRANS              55
+#define DEVMODE_PAPERSIZE_LETTEREXTRATRANS     56
+#define DEVMODE_PAPERSIZE_APLUS                        57
+#define DEVMODE_PAPERSIZE_BPLUS                        58
+#define DEVMODE_PAPERSIZE_LETTERPLUS            59
+#define DEVMODE_PAPERSIZE_A4PLUS                60
+#define DEVMODE_PAPERSIZE_A5TRANS              61
+#define DEVMODE_PAPERSIZE_B5TRANS              62
+#define DEVMODE_PAPERSIZE_A3EXTRA              63
+#define DEVMODE_PAPERSIZE_A5EXTRA              64
+#define DEVMODE_PAPERSIZE_B5EXTRA              65
+#define DEVMODE_PAPERSIZE_A2                   66
+#define DEVMODE_PAPERSIZE_A3TRANS              67
+#define DEVMODE_PAPERSIZE_A3EXTRATRANS         68
+#define DEVMODE_PAPERSIZE_DBLJAPANESEPOSTCARD  69
+#define DEVMODE_PAPERSIZE_A6                   70
+#define DEVMODE_PAPERSIZE_JENVKAKU2            71
+#define DEVMODE_PAPERSIZE_JENVKAKU3            72
+#define DEVMODE_PAPERSIZE_JENVCHOU3            73
+#define DEVMODE_PAPERSIZE_JENVCHOU4            74
+#define DEVMODE_PAPERSIZE_LETTERROT            75
+#define DEVMODE_PAPERSIZE_A3ROT                        76
+#define DEVMODE_PAPERSIZE_A4ROT                        77
+#define DEVMODE_PAPERSIZE_A5ROT                        78
+#define DEVMODE_PAPERSIZE_B4JISROT             79
+#define DEVMODE_PAPERSIZE_B5JISROT             80
+#define DEVMODE_PAPERSIZE_JAPANESEPOSTCARDROT  81
+#define DEVMODE_PAPERSIZE_DBLJAPANESEPOSTCARDROT82 82
+#define DEVMODE_PAPERSIZE_A6ROT                        83
+#define DEVMODE_PAPERSIZE_JENVKAKU2ROT         84
+#define DEVMODE_PAPERSIZE_JENVKAKU3ROT         85
+#define DEVMODE_PAPERSIZE_JENVCHOU3ROT         86
+#define DEVMODE_PAPERSIZE_JENVCHOU4ROT         87
+#define DEVMODE_PAPERSIZE_B6JIS                        88
+#define DEVMODE_PAPERSIZE_B6JISROT             89
+#define DEVMODE_PAPERSIZE_12X11                        90
+#define DEVMODE_PAPERSIZE_JENVYOU4             91
+#define DEVMODE_PAPERSIZE_JENVYOU4ROT          92
+#define DEVMODE_PAPERSIZE_P16K                 93
+#define DEVMODE_PAPERSIZE_P32K                 94
+#define DEVMODE_PAPERSIZE_P32KBIG              95
+#define DEVMODE_PAPERSIZE_PENV1                        96
+#define DEVMODE_PAPERSIZE_PENV2                        97
+#define DEVMODE_PAPERSIZE_PENV3                        98
+#define DEVMODE_PAPERSIZE_PENV4                        99
+#define DEVMODE_PAPERSIZE_PENV5                        100
+#define DEVMODE_PAPERSIZE_PENV6                        101
+#define DEVMODE_PAPERSIZE_PENV7                        102
+#define DEVMODE_PAPERSIZE_PENV8                        103
+#define DEVMODE_PAPERSIZE_PENV9                        104
+#define DEVMODE_PAPERSIZE_PENV10               105
+#define DEVMODE_PAPERSIZE_P16KROT              106
+#define DEVMODE_PAPERSIZE_P32KROT              107
+#define DEVMODE_PAPERSIZE_P32KBIGROT           108
+#define DEVMODE_PAPERSIZE_PENV1ROT             109
+#define DEVMODE_PAPERSIZE_PENV2ROT             110
+#define DEVMODE_PAPERSIZE_PENV3ROT             111
+#define DEVMODE_PAPERSIZE_PENV4ROT             112
+#define DEVMODE_PAPERSIZE_PENV5ROT             113
+#define DEVMODE_PAPERSIZE_PENV6ROT             114
+#define DEVMODE_PAPERSIZE_PENV7ROT             115
+#define DEVMODE_PAPERSIZE_PENV8ROT             116
+#define DEVMODE_PAPERSIZE_PENV9ROT             117
+#define DEVMODE_PAPERSIZE_PENV10ROT            118
+
+/* Devicemode paper source */
+
+#define DEVMODE_PAPERSOURCE_UPPER               1
+#define DEVMODE_PAPERSOURCE_LOWER               2
+#define DEVMODE_PAPERSOURCE_MIDDLE              3
+#define DEVMODE_PAPERSOURCE_MANUAL              4
+#define DEVMODE_PAPERSOURCE_ENV                 5
+#define DEVMODE_PAPERSOURCE_ENVMANUAL           6
+#define DEVMODE_PAPERSOURCE_AUTO                7
+#define DEVMODE_PAPERSOURCE_TRACTOR             8
+#define DEVMODE_PAPERSOURCE_SMALLFMT            9
+#define DEVMODE_PAPERSOURCE_LARGEFMAT           10
+#define DEVMODE_PAPERSOURCE_LARGECAP            11
+#define DEVMODE_PAPERSOURCE_CASSETTE            12
+#define DEVMODE_PAPERSOURCE_FORMSRC             13
+
+/* Devicemode print quality */
+
+#define DEVMODE_PRINTQUALITY_HIGH               -1
+#define DEVMODE_PRINTQUALITY_MEDIUM             -2
+#define DEVMODE_PRINTQUALITY_LOW                -3
+#define DEVMODE_PRINTQUALITY_DRAFT              -4
+
+/* Colour settings */
+
+#define DEVMODE_COLOUR_MONO   1
+#define DEVMODE_COLOUR_COLOUR 2
+
+/* TrueType options */
+
+#define DEVMODE_TTOPTION_BITMAP              1
+#define DEVMODE_TTOPTION_DOWNLOAD            2
+#define DEVMODE_TTOPTION_SUBDEV              3
+#define DEVMODE_TTOPTION_DOWNLOAD_OUTLINE    4
+
+/* Collate info */
+
+#define DEVMODE_COLLATE_FALSE 0
+#define DEVMODE_COLLATE_TRUE  1
+
+/* Duplex info */
+
+#define DEVMODE_DUPLEX_SIMPLEX   1
+#define DEVMODE_DUPLEX_VERT      2
+#define DEVMODE_DUPLEX_HORIZ     3
+
+/* Displayflags */
+
+#define DEVMODE_DISPLAYFLAGS_GRAYSCALE    1
+#define DEVMODE_DISPLAYFLAGS_INTERLACED   2
+
+/* ICM method */
+
+#define DEVMODE_ICMMETHOD_NONE      1
+#define DEVMODE_ICMMETHOD_SYSTEM    2
+#define DEVMODE_ICMMETHOD_DRIVER    3
+#define DEVMODE_ICMMETHOD_DEVICE    4
+
+/* ICM intent */
+
+#define DEVMODE_ICMINTENT_SATURATE         1
+#define DEVMODE_ICMINTENT_CONTRAST         2
+#define DEVMODE_ICMINTENT_COLORIMETRIC     3
+#define DEVMODE_ICMINTENT_ABS_COLORIMETRIC 4
+
+/* Media type */
+
+#define DEVMODE_MEDIATYPE_STANDARD     1
+#define DEVMODE_MEDIATYPE_TRANSPARENCY 2
+#define DEVMODE_MEDIATYPE_GLOSSY       3
+
+/* Dither type */
+
+#define DEVMODE_DITHERTYPE_NONE           1
+#define DEVMODE_DITHERTYPE_COARSE         2
+#define DEVMODE_DITHERTYPE_LINE           3
+#define DEVMODE_DITHERTYPE_LINEART        4
+#define DEVMODE_DITHERTYPE_ERRORDIFFUSION 5
+#define DEVMODE_DITHERTYPE_RESERVED6      6
+#define DEVMODE_DITHERTYPE_RESERVED7      7
+#define DEVMODE_DITHERTYPE_GRAYSCALE      10
+
+/* Printer info level 7 */
+
+#define DS_PUBLISH   1
+#define DS_UPDATE    2
+#define DS_UNPUBLISH 3
+
+/* SetJob command values */
+
+#define JOB_CONTROL_PAUSE              1
+#define JOB_CONTROL_RESUME             2
+#define JOB_CONTROL_CANCEL             3
+#define JOB_CONTROL_RESTART            4
+#define JOB_CONTROL_DELETE             5
 
 #endif /* packet-dcerpc-spoolss.h */