Fixed open handle code in printers - 3 functions were always being done
[ira/wip.git] / source3 / include / nt_printing.h
index 22c837c7481b1bedef27fff097db88ed71f7ceaa..58a4dec3a0681a98a20fa3c2ffe513cf1b1ea793 100644 (file)
@@ -1,3 +1,28 @@
+/* 
+   Unix SMB/Netbios implementation.
+   Version 1.9.
+   SMB parameters and setup
+   Copyright (C) Andrew Tridgell              1992-2000,
+   Copyright (C) Jean Francois Micouleau      1998-2000.
+   
+   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., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+#ifndef NT_PRINTING_H_
+#define NT_PRINTING_H_
+
 #define ORIENTATION      0x00000001L
 #define PAPERSIZE        0x00000002L
 #define PAPERLENGTH      0x00000004L
@@ -120,13 +145,33 @@ typedef struct nt_printer_driver_info_level_3
        fstring helpfile;
        fstring monitorname;
        fstring defaultdatatype;
-       char    **dependentfiles;
-
+       fstring *dependentfiles;
 } NT_PRINTER_DRIVER_INFO_LEVEL_3;
 
+/* SPOOL_PRINTER_DRIVER_INFO_LEVEL_6 structure */
+typedef struct {
+       uint32  version;
+       fstring name;
+       fstring environment;
+       fstring driverpath;
+       fstring datafile;
+       fstring configfile;
+       fstring helpfile;
+       fstring monitorname;
+       fstring defaultdatatype;
+       fstring mfgname;
+       fstring oemurl;
+       fstring hardwareid;
+       fstring provider;
+       fstring *dependentfiles;
+       fstring *previousnames;
+} NT_PRINTER_DRIVER_INFO_LEVEL_6;
+
+
 typedef struct nt_printer_driver_info_level
 {
        NT_PRINTER_DRIVER_INFO_LEVEL_3 *info_3;
+       NT_PRINTER_DRIVER_INFO_LEVEL_6 *info_6;
 } NT_PRINTER_DRIVER_INFO_LEVEL;
 
 typedef struct nt_printer_param
@@ -141,11 +186,12 @@ typedef struct nt_printer_param
 typedef struct ntdevicemode
 {
        fstring devicename;
+       fstring formname;
+
        uint16  specversion;
        uint16  driverversion;
        uint16  size;
        uint16  driverextra;
-       uint32  fields;
        uint16  orientation;
        uint16  papersize;
        uint16  paperlength;
@@ -159,8 +205,9 @@ typedef struct ntdevicemode
        uint16  yresolution;
        uint16  ttoption;
        uint16  collate;
-       fstring formname;
        uint16  logpixels;
+
+       uint32  fields;
        uint32  bitsperpel;
        uint32  pelswidth;
        uint32  pelsheight;
@@ -200,8 +247,11 @@ typedef struct nt_printer_info_level_2
        fstring datatype;
        fstring parameters;
        NT_PRINTER_PARAM *specific;
-       /* SEC_DESC_BUF *secdesc; */
+       SEC_DESC_BUF *secdesc_buf;
        /* not used but ... and how ??? */
+       uint32 changeid;
+       uint32 c_setprinter;
+       uint32 setuptime;       
 } NT_PRINTER_INFO_LEVEL_2;
 
 typedef struct nt_printer_info_level
@@ -211,7 +261,7 @@ typedef struct nt_printer_info_level
 
 typedef struct
 {
-       char name[100];
+       fstring name;
        uint32 flag;
        uint32 width;
        uint32 length;
@@ -235,3 +285,4 @@ typedef struct _form
        UNISTR2 name;
 } FORM;
 */
+#endif /* NT_PRINTING_H_ */