SPL.DEF 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. (* Release 3.10 *)
  2. (*-------------------------------------------------------------------------*
  3. * *
  4. * SPL.DEF - Modula-2 OS/2 PM API Spooler interface *
  5. * *
  6. * COPYRIGHT (C) 1989..1992 Clarion Software Corporation. *
  7. * All Rights Reserved *
  8. * *
  9. *--------------------------------------------------------------------------*)
  10. (*# call(o_a_size => off,
  11. o_a_copy=>off,
  12. result_optional=>on,
  13. reg_saved => (si, di, ds, st1, st2),
  14. reg_param => (),
  15. seg_name => none,
  16. near_call => off,
  17. ds_eq_ss => off) *)
  18. (*# module(implementation=>off, init_code => off) *)
  19. (*# name(prefix => os2_lib) *)
  20. (*# data(near_ptr => off) *)
  21. DEFINITION MODULE Spl;
  22. FROM OS2DEF IMPORT LHANDLE,STR16,HWND,HDC,
  23. SEVERITY_NOERROR,SEVERITY_WARNING,SEVERITY_SEVERE,SEVERITY_ERROR;
  24. CONST
  25. SPL_ERROR = 0;
  26. SPL_OK = 1;
  27. _ADDRESS =0; DRIVER_NAME = 1; DRIVER_DATA = 2; DATA_TYPE = 3;
  28. _COMMENT = 4; PROC_NAME = 5; PROC_PARAMS = 6; SPL_PARAMS = 7;
  29. NETWORK_PARAMS = 8;
  30. TYPE
  31. HSPL = LHANDLE; (* Handle to a spool file *)
  32. HPROC = LHANDLE; (* Handle to a queue processor *)
  33. HSTD = LHANDLE;
  34. TYPE
  35. DEVOPENDATA = RECORD
  36. LogAddress : FarADDRESS;
  37. DriverName : FarADDRESS;
  38. Driv : POINTER TO DRIVDATA;
  39. DataType : FarADDRESS;
  40. Comment : FarADDRESS;
  41. QueueProcName : FarADDRESS;
  42. QueueProcParams : FarADDRESS;
  43. SpoolerParams : FarADDRESS;
  44. NetworkParams : FarADDRESS;
  45. END;
  46. (* Spooler Queue Manager Interface *)
  47. PROCEDURE QmOpen(t:ARRAY OF CHAR;c:CARDINAL;VAR d:DEVOPENDATA) : HSPL;
  48. PROCEDURE QmStartDoc(h:HSPL; n:ARRAY OF CHAR) : BOOLEAN;
  49. PROCEDURE QmWrite(h:HSPL; count:LONGCARD; b:ARRAY OF BYTE) : BOOLEAN;
  50. PROCEDURE QmEndDoc(h:HSPL) : CARDINAL;
  51. PROCEDURE QmClose(h:HSPL) : BOOLEAN;
  52. PROCEDURE QmAbort(h:HSPL) : BOOLEAN;
  53. PROCEDURE QmAbortDoc(h:HSPL) : BOOLEAN;
  54. CONST
  55. SPLC_ABORT = 1;
  56. SPLC_PAUSE = 2;
  57. SPLC_CONTINUE = 3;
  58. (* Spool Queue Processor Functions *)
  59. PROCEDURE QpOpen(t:ARRAY OF CHAR;VAR d:DEVOPENDATA) : HPROC;
  60. PROCEDURE QpPrint(h:HPROC; n:ARRAY OF CHAR) : BOOLEAN;
  61. PROCEDURE QpClose(h:HPROC) : BOOLEAN;
  62. PROCEDURE QpControl(h:HPROC; c:LONGINT) : BOOLEAN;
  63. PROCEDURE QpQueryDt(VAR c:LONGINT; VAR s : ARRAY OF STR16 );
  64. PROCEDURE QpInstall(h:HWND) : BOOLEAN;
  65. (* File System Emulation Functions
  66. * The parameters for all of these, except PrtAbort, are the
  67. ** same as the corresponding DOS function eg PrtWrite has the
  68. ** same parameters as DosWrite. The parameter to PrtAbort is
  69. ** the file handle returned from PrtOpen and causes any "stuck"
  70. ** spool job to be abandoned and deleted.
  71. *)
  72. (*# save *)
  73. (*# name(prefix => none) *)
  74. PROCEDURE PrtOpen(dev:ARRAY OF CHAR; VAR handle:CARDINAL; VAR action:CARDINAL; size:LONGCARD;
  75. attrib,flag,mode:CARDINAL; rsrvd:LONGCARD) : CARDINAL;
  76. PROCEDURE PrtClose(handle:CARDINAL) : CARDINAL;
  77. PROCEDURE PrtWrite(handle:CARDINAL;buffer:FarADDRESS; bufflng:CARDINAL; VAR write:CARDINAL) : CARDINAL;
  78. PROCEDURE PrtDevIOCtl(data:FarADDRESS; parms:FarADDRESS; functn,categry:CARDINAL; h:CARDINAL) : CARDINAL;
  79. PROCEDURE PrtAbort (h:CARDINAL);
  80. (*# restore *)
  81. (* Style for SplMessageBox *)
  82. (* Same as for WinMsgBox - see WIN.DEF for details *)
  83. (* Spooler message interface *)
  84. PROCEDURE MessageBox(VAR s1:ARRAY OF CHAR; a,b:CARDINAL;
  85. VAR s2,s3:ARRAY OF CHAR; c,d:CARDINAL ):CARDINAL;
  86. (* PM_Q_STD Datatype functions *)
  87. PROCEDURE StdOpen( h:HDC ): BOOLEAN;
  88. PROCEDURE StdClose( h:HDC ): BOOLEAN;
  89. PROCEDURE StdStart( h:HDC ): BOOLEAN;
  90. PROCEDURE StdStop ( h:HDC ) : HSTD;
  91. PROCEDURE StdDelete ( h:HSTD ): BOOLEAN;
  92. PROCEDURE StdGetBits ( h:HSTD; a,b: LONGINT; VAR c:ARRAY OF CHAR): BOOLEAN;
  93. PROCEDURE StdQueryLength ( h:HSTD):LONGINT;
  94. (* Error information for SplMessageBox *)
  95. CONST
  96. SPLINFO_QPERROR = 00001H;
  97. SPLINFO_DDERROR = 00002H;
  98. SPLINFO_SPLERROR = 00004H;
  99. SPLINFO_OTHERERROR = 00080H;
  100. SPLINFO_INFORMATION = 00100H;
  101. SPLINFO_WARNING = 00200H;
  102. SPLINFO_ERROR = 00400H;
  103. SPLINFO_SEVERE = 00800H;
  104. SPLINFO_USERINTREQD = 01000H;
  105. (* Error Data for SplMessageBox *)
  106. SPLDATA_PRINTERJAM = 1;
  107. SPLDATA_FORMCHGREQD = 2;
  108. SPLDATA_CARTCHGREQD = 4;
  109. SPLDATA_PENCHGREQD = 8;
  110. SPLDATA_DATAERROR = 16;
  111. SPLDATA_UNEXPECTERROR = 32;
  112. SPLDATA_OTHER = 32768;
  113. (* return code for SplStdQueryLength *)
  114. SSQL_ERROR = -1;
  115. END Spl.
  116.