Message_PrintInterrogate

Tom Hughes tom at compton.nu
Sat Oct 13 15:05:01 BST 2001


The definition of Message_PrintInterrogate seems to be wrong. Comparing
it to the documentation on RISC OS Ltd's web site the 'options word' field
seems to be missing. The attached patch fixes this.

Tom

-- 
Tom Hughes (tom at compton.nu)
http://www.compton.nu/
-------------- next part --------------
Index: PDriver
===================================================================
RCS file: /home/cvs/riscos/oslib/Source/User/PDriver,v
retrieving revision 1.1.1.4
diff -u -r1.1.1.4 PDriver
--- PDriver	2000/04/14 22:59:24	1.1.1.4
+++ PDriver	2001/10/13 13:49:47
@@ -114,7 +114,7 @@
 TYPE
    PDriver_ConfigureReason = .Int,
    PDriver_InterrogateReason = .Int;
-   
+
 CONST
    PDriver_ConfigurePaperSizes = PDriver_ConfigureReason: 0;
 
@@ -123,50 +123,51 @@
 
 TYPE
    PDriver_MessagePrintError =
-      .Struct 
+      .Struct
       (
-      	 .Int: errnum, 
+      	 .Int: errnum,
       	 [232] .Char: errmess
       ),
-      
-   PDriver_MessagePrintTypeOdd = 
-      .Struct 
+
+   PDriver_MessagePrintTypeOdd =
+      .Struct
       (
-      	 [20] .Byte: pad, 
+      	 [20] .Byte: pad,
       	 .Bits: file_type,
          [212] .Char: file_name
       ),
-      
+
    PDriver_MessagePrintConfigure =
       .Struct
-      (  
+      (
       	 PDriver_ConfigureReason: reason,
       	 .Union
-      	 (  
+      	 (
       	    .Ref .Char: filename
       	 ): data
       ),
-      
+
    PDriver_MessagePrintInterrogate =
       .Struct
-      (  
+      (
       	 PDriver_InterrogateReason: reason,
          .Union
-         (  
+         (
             .Struct
             (  .Int: printer_id,
                .Int: palette_number,
+               .Int: options,
                OS_Coord: resolution,
                .Bits: flags,
                [208] .Char: mode_name
             ): settings
          ): data
       ),
-      
-   PDriver_MessagePSPrinterQuery = 
-      .Struct 
+
+   PDriver_MessagePSPrinterQuery =
+      .Struct
       (
-      	 .Ref .Data: buffer, 
+      	 .Ref .Data: buffer,
       	 .Int: size
       );
 
@@ -176,48 +177,49 @@
    PDriver_FullMessagePrintError =
       .Struct: Wimp_MessageHeader
       (
-      	 .Int: errnum, 
+      	 .Int: errnum,
       	 [232] .Char: errmess
       ),
-      
-   PDriver_FullMessagePrintTypeOdd = 
+
+   PDriver_FullMessagePrintTypeOdd =
       .Struct: Wimp_MessageHeader
       (
-      	 [20] .Byte: pad, 
+      	 [20] .Byte: pad,
       	 .Bits: file_type,
          [212] .Char: file_name
       ),
-      
+
    PDriver_FullMessagePrintConfigure =
       .Struct: Wimp_MessageHeader
-      (  
+      (
       	 PDriver_ConfigureReason: reason,
       	 .Union
-      	 (  
+      	 (
       	    .Ref .Char: filename
       	 ): data
       ),
-      
+
    PDriver_FullMessagePrintInterrogate =
       .Struct: Wimp_MessageHeader
-      (  
+      (
       	 PDriver_InterrogateReason: reason,
          .Union
-         (  
+         (
             .Struct
             (  .Int: printer_id,
                .Int: palette_number,
+               .int: options,
                OS_Coord: resolution,
                .Bits: flags,
                [208] .Char: mode_name
             ): settings
          ): data
       ),
-      
-   PDriver_FullMessagePSPrinterQuery = 
+
+   PDriver_FullMessagePSPrinterQuery =
       .Struct: Wimp_MessageHeader
       (
-      	 .Ref .Data: buffer, 
+      	 .Ref .Data: buffer,
       	 .Int: buffer_size
       );
 
@@ -287,33 +289,33 @@
    )  );
 
 SWI PDriver_SelectJob =
-   (  NUMBER 0x80145 "Makes a given print job the current one. 
+   (  NUMBER 0x80145 "Makes a given print job the current one.
       	       	     	Prefer PDriver_SelectJobW",
       ENTRY (R0 = OS_F: job, R1 -> .String: title),
       EXIT (R0! = OS_F: old_job, R7?) //it's a bug!
    );
 
 SWI PDriver_SelectJobW =
-   (  NUMBER 0x80145 "Makes a given print job the current one. 
+   (  NUMBER 0x80145 "Makes a given print job the current one.
       	       	     	Uses 32-bit file handles.",
-      ENTRY 
-      (	 R0 = OS_FW: job, 
+      ENTRY
+      (	 R0 = OS_FW: job,
       	 R1 -> .String: title
       ),
-      EXIT 
-      (	 R0! = OS_FW: old_job, 
+      EXIT
+      (	 R0! = OS_FW: old_job,
       	 R7?
       ) //R7 corrupted in RO3.1 and earlier - it's a bug!
    );
 
 SWI PDriver_CurrentJob =
-   (  NUMBER 0x80146 "Gets the file handle of the current job. 
+   (  NUMBER 0x80146 "Gets the file handle of the current job.
       	       	     	Prefer PDriver_CurrentJobW",
       EXIT (R0! = OS_F: job)
    );
 
 SWI PDriver_CurrentJobW =
-   (  NUMBER 0x80146 "Gets the file handle of the current job. 
+   (  NUMBER 0x80146 "Gets the file handle of the current job.
       	       	     	Uses 32-bit file handle.",
       EXIT (R0! = OS_FW: job)
    );
@@ -334,13 +336,13 @@
    );
 
 SWI PDriver_AbortJob =
-   (  NUMBER 0x80149 "Ends a print job without any further output. 
+   (  NUMBER 0x80149 "Ends a print job without any further output.
       	       	     	Prefer PDriver_AbortJobW",
       ENTRY (R0 = OS_F: job)
    );
 
 SWI PDriver_AbortJobW =
-   (  NUMBER 0x80149 "Ends a print job without any further output. 
+   (  NUMBER 0x80149 "Ends a print job without any further output.
       	       	     	Uses 32-bit file handle.",
       ENTRY (R0 = OS_FW: job)
    );
@@ -386,25 +388,25 @@
    )  );
 
 SWI PDriver_CancelJob =
-   (  NUMBER 0x8014E "Stops a print job from printing. 
+   (  NUMBER 0x8014E "Stops a print job from printing.
       	       	     	Prefer PDriver_CancelJobW",
       ENTRY (R0 = OS_F: job)
    );
 
 SWI PDriver_CancelJobW =
-   (  NUMBER 0x8014E "Stops a print job from printing. 
+   (  NUMBER 0x8014E "Stops a print job from printing.
       	       	     	Uses 32-bit file handle.",
       ENTRY (R0 = OS_FW: job)
    );
 
 SWI PDriver_ScreenDump =
-   (  NUMBER 0x8014F "Outputs a screen dump to the printer. 
+   (  NUMBER 0x8014F "Outputs a screen dump to the printer.
       	       	     	Prefer PDriver_ScreenDumpW",
       ENTRY (R0 = OS_F: job)
    );
 
 SWI PDriver_ScreenDumpW =
-   (  NUMBER 0x8014F "Outputs a screen dump to the printer. 
+   (  NUMBER 0x8014F "Outputs a screen dump to the printer.
       	       	     	Uses 32-bit file handle.",
       ENTRY (R0 = OS_FW: job)
    );
@@ -429,8 +431,8 @@
 SWI PDriver_CancelJobWithErrorW = //generally not RISC O S 2
    (  NUMBER 0x80152 "Cancels a print job - future attempts to output to it
             are errors. Uses 32-bit file handle.",
-      ENTRY 
-      (	 R0 = OS_FW: job, 
+      ENTRY
+      (	 R0 = OS_FW: job,
       	 R1 -> OS_Error: error
       )
    );
@@ -698,20 +700,20 @@
          R6 -> PDriver_ConfigurationInfo: configuration_info
      )  );
 
-SWI 
-   PDriver_JPEGSWI = 
+SWI
+   PDriver_JPEGSWI =
    (  NUMBER 0x8015D "Passes JPEG SWIs to the printer
-      	       	     driver - for internal use only", 
+      	       	     driver - for internal use only",
       ABSENT
    );
 
 SWI
-   PDriverJPEGSWI_Info = 
-   (  NUMBER 0x8015D, 
-      ENTRY 
+   PDriverJPEGSWI_Info =
+   (  NUMBER 0x8015D,
+      ENTRY
       (	 R8 # 0x49980 "Returns information about a JPEG image in memory - see
                	     individual reason codes"
-      ), 
+      ),
       ABSENT
    ),
    PDriverJPEGSWIInfo_Dimensions =
@@ -730,13 +732,13 @@
          R5 = .Int: ydpi,
          R6 = .Int: workspace_size
    )  ),
-   PDriverJPEGSWI_FileInfo = 
-   (  NUMBER 0x8015D, 
-      ENTRY 
+   PDriverJPEGSWI_FileInfo =
+   (  NUMBER 0x8015D,
+      ENTRY
       (	 R8 # 0x49981
             "Returns information about a JPEG image in a file - see
             individual reason codes"
-      ), 
+      ),
       ABSENT
    ),
    PDriverJPEGSWIFileInfo_Dimensions =


More information about the oslib-team mailing list