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