79 lines
4.4 KiB
Perl
79 lines
4.4 KiB
Perl
package winspool_drv;
|
|
|
|
use strict;
|
|
|
|
require Exporter;
|
|
|
|
use wine;
|
|
use vars qw(@ISA @EXPORT @EXPORT_OK);
|
|
|
|
@ISA = qw(Exporter);
|
|
@EXPORT = qw();
|
|
@EXPORT_OK = qw();
|
|
|
|
my $module_declarations = {
|
|
"AddFormA" => ["long", ["long", "long", "ptr"]],
|
|
"AddFormW" => ["long", ["long", "long", "ptr"]],
|
|
"AddJobA" => ["long", ["long", "long", "ptr", "long", "ptr"]],
|
|
"AddJobW" => ["long", ["long", "long", "ptr", "long", "ptr"]],
|
|
"AddMonitorA" => ["long", ["str", "long", "ptr"]],
|
|
"AddPrinterA" => ["long", ["str", "long", "ptr"]],
|
|
"AddPrinterDriverA" => ["long", ["str", "long", "ptr"]],
|
|
"AddPrinterDriverW" => ["long", ["wstr", "long", "ptr"]],
|
|
"AddPrinterW" => ["long", ["wstr", "long", "ptr"]],
|
|
"ClosePrinter" => ["long", ["long"]],
|
|
"DeleteFormA" => ["long", ["long", "str"]],
|
|
"DeleteFormW" => ["long", ["long", "wstr"]],
|
|
"DeleteMonitorA" => ["long", ["str", "str", "str"]],
|
|
"DeletePortA" => ["long", ["str", "long", "str"]],
|
|
"DeletePrinter" => ["long", ["long"]],
|
|
"DeletePrinterDriverA" => ["long", ["str", "str", "str"]],
|
|
"DeviceCapabilities" => ["long", ["str", "str", "long", "str", "ptr"]],
|
|
"DeviceCapabilitiesA" => ["long", ["str", "str", "long", "str", "ptr"]],
|
|
"DeviceCapabilitiesW" => ["long", ["wstr", "wstr", "long", "wstr", "ptr"]],
|
|
"DocumentPropertiesA" => ["long", ["long", "long", "str", "ptr", "ptr", "long"]],
|
|
"DocumentPropertiesW" => ["long", ["long", "long", "wstr", "ptr", "ptr", "long"]],
|
|
"EnumJobsA" => ["long", ["long", "long", "long", "long", "ptr", "long", "ptr", "ptr"]],
|
|
"EnumJobsW" => ["long", ["long", "long", "long", "long", "ptr", "long", "ptr", "ptr"]],
|
|
"EnumPortsA" => ["long", ["str", "long", "ptr", "long", "ptr", "ptr"]],
|
|
"EnumPrinterDataExA" => ["long", ["long", "str", "ptr", "long", "ptr", "ptr"]],
|
|
"EnumPrinterDataExW" => ["long", ["long", "wstr", "ptr", "long", "ptr", "ptr"]],
|
|
"EnumPrinterDriversA" => ["long", ["str", "str", "long", "ptr", "long", "ptr", "ptr"]],
|
|
"EnumPrinterDriversW" => ["long", ["wstr", "wstr", "long", "ptr", "long", "ptr", "ptr"]],
|
|
"EnumPrintersA" => ["long", ["long", "str", "long", "ptr", "long", "ptr", "ptr"]],
|
|
"EnumPrintersW" => ["long", ["long", "wstr", "long", "ptr", "long", "ptr", "ptr"]],
|
|
"GetFormA" => ["long", ["long", "str", "long", "ptr", "long", "ptr"]],
|
|
"GetFormW" => ["long", ["long", "wstr", "long", "ptr", "long", "ptr"]],
|
|
"GetPrinterA" => ["long", ["long", "long", "ptr", "long", "ptr"]],
|
|
"GetPrinterDataA" => ["long", ["long", "str", "ptr", "ptr", "long", "ptr"]],
|
|
"GetPrinterDataExA" => ["long", ["long", "str", "str", "ptr", "ptr", "long", "ptr"]],
|
|
"GetPrinterDataExW" => ["long", ["long", "wstr", "wstr", "ptr", "ptr", "long", "ptr"]],
|
|
"GetPrinterDataW" => ["long", ["long", "wstr", "ptr", "ptr", "long", "ptr"]],
|
|
"GetPrinterDriverA" => ["long", ["long", "str", "long", "ptr", "long", "ptr"]],
|
|
"GetPrinterDriverDirectoryA" => ["long", ["str", "str", "long", "ptr", "long", "ptr"]],
|
|
"GetPrinterDriverDirectoryW" => ["long", ["wstr", "wstr", "long", "ptr", "long", "ptr"]],
|
|
"GetPrinterDriverW" => ["long", ["long", "wstr", "long", "ptr", "long", "ptr"]],
|
|
"GetPrinterW" => ["long", ["long", "long", "ptr", "long", "ptr"]],
|
|
"OpenPrinterA" => ["long", ["str", "ptr", "ptr"]],
|
|
"OpenPrinterW" => ["long", ["wstr", "ptr", "ptr"]],
|
|
"PrinterProperties" => ["long", ["long", "long"]],
|
|
"ReadPrinter" => ["long", ["long", "ptr", "long", "ptr"]],
|
|
"ResetPrinterA" => ["long", ["long", "ptr"]],
|
|
"ResetPrinterW" => ["long", ["long", "ptr"]],
|
|
"SetFormA" => ["long", ["long", "str", "long", "ptr"]],
|
|
"SetFormW" => ["long", ["long", "wstr", "long", "ptr"]],
|
|
"SetJobA" => ["long", ["long", "long", "long", "ptr", "long"]],
|
|
"SetJobW" => ["long", ["long", "long", "long", "ptr", "long"]],
|
|
"SetPrinterA" => ["long", ["long", "long", "ptr", "long"]],
|
|
"SetPrinterDataA" => ["long", ["long", "str", "long", "ptr", "long"]],
|
|
"SetPrinterDataExA" => ["long", ["long", "str", "str", "long", "ptr", "long"]],
|
|
"SetPrinterDataExW" => ["long", ["long", "wstr", "wstr", "long", "ptr", "long"]],
|
|
"SetPrinterDataW" => ["long", ["long", "wstr", "long", "ptr", "long"]],
|
|
"SetPrinterW" => ["long", ["long", "long", "ptr", "long"]],
|
|
"WritePrinter" => ["long", ["long", "ptr", "long", "ptr"]]
|
|
};
|
|
|
|
&wine::declare("winspool.drv",%$module_declarations);
|
|
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
|
|
1;
|