home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / bpos2i.zip / MONCALLS.PAS < prev    next >
Pascal/Delphi Source File  |  1994-05-31  |  4KB  |  91 lines

  1. (* ====================================================== *)
  2. (*                         MONCALLS.PAS                   *)
  3. (*     Implementation of the functions of MONCALLS.DLL    *)
  4. (*           Translation to Pascal by jb/toolbox mag      *)
  5. (* ====================================================== *)
  6. {$IFNDef OS2}
  7.   Error: Wrong target/Compiler not patched
  8. {$EndIF}
  9.  
  10. UNIT MonCalls;
  11.  
  12. INTERFACE
  13.  
  14. USES
  15.   Os2Def;
  16.  
  17. (* Terminate device monitoring                            *)
  18. FUNCTION DosMonClose(  Handle: WORD) : WORD;
  19.                     (* ^^^ handle from DosMonOpen *)
  20. FUNCTION Dos16MonClose(Handle: WORD) : WORD;
  21.  
  22. (* Open a device monitor                                  *)
  23. FUNCTION DosMonOpen(    DevName: pChar;        (* ASCIIZ: the device name *)
  24.                     VAR Handle : WORD          (* returned monitor handle *)
  25.                              ) : WORD;
  26. FUNCTION Dos16MonOpen(    DevName : pChar;     (* ASCIIZ: the device name *)
  27.                       VAR Handle  : WORD       (* returned monitor handle *)
  28.                                 ) : WORD;
  29.  
  30. (* Read from device monitor stream                        *)
  31. FUNCTION DosMonRead(    BufferI    : Pointer;  (* address of input buffer *)
  32.                         WaitFlag   : WORD;     (* 0 => wait, 1 => nowait  *)
  33.                         DataBuffer : Pointer;  (* buffer to read into     *)
  34.                     VAR ByteCnt    : WORD      (* In out byte count       *)
  35.                                  ) : WORD;
  36. FUNCTION Dos16MonRead(   BufferI   : Pointer;  (* address of input buffer *)
  37.                          WaitFlag  : WORD;     (* 0 => wait, 1 => nowait  *)
  38.                          DataBuffer: Pointer;  (* buffer to read into     *)
  39.                       VAR ByteCnt  : WORD      (* In out byte count       *)
  40.                                  ) : WORD;
  41.  
  42.  
  43. (* Register device monitor buffers.  First word in each   *)
  44. (* buffer must be the total length of buffer 128 bytes    *)
  45. (* recommended                                            *)
  46. FUNCTION DosMonReg(  Handle  : WORD;    (* handle from DosMonOpen           *)
  47.                      BufferI : Pointer; (* input buffer to register         *)
  48.                      BufferO : Pointer; (* output buffer to register        *)
  49.                      PosFlag : WORD;    (* 0=>don't care, 1=>first, 2=>last *)
  50.                      usIndex : WORD
  51.                            ) : WORD;
  52. FUNCTION Dos16MonReg(Handle  : WORD;    (* handle from DosMonOpen           *)
  53.                      BufferI : Pointer; (* input buffer to register         *)
  54.                      BufferO : Pointer; (* output buffer to register        *)
  55.                      PosFlag : WORD;    (* 0=>don't care, 1=>first, 2=>last *)
  56.                      usIndex : WORD
  57.                            ) : WORD;
  58.  
  59.  
  60. (* Write to device monitor stream                         *)
  61. FUNCTION DosMonWrite(  BufferO   : Pointer; (* address of monitor output buffer *)
  62.                        DataBuffer: Pointer; (* address of data to write     *)
  63.                        ByteCnt   : WORD     (* length of data to write      *)
  64.                                ) : WORD;
  65. FUNCTION Dos16MonWrite(BufferO   : Pointer; (* address of monitor output buffer *)
  66.                        DataBuffer: Pointer; (* address of data to write     *)
  67.                        ByteCnt   : WORD     (* length of data to write      *)
  68.                                ) : WORD;
  69.  
  70.  
  71. IMPLEMENTATION
  72.  
  73.   FUNCTION DosMonWrite;   EXTERNAL 'MonCalls' INDEX   1;
  74.   FUNCTION Dos16MonWrite; EXTERNAL 'MonCalls' INDEX   1;
  75.  
  76.   FUNCTION DosMonRead;    EXTERNAL 'MonCalls' INDEX   2;
  77.   FUNCTION Dos16MonRead;  EXTERNAL 'MonCalls' INDEX   2;
  78.  
  79.   FUNCTION DosMonClose;   EXTERNAL 'MonCalls' INDEX   3;
  80.   FUNCTION Dos16MonClose; EXTERNAL 'MonCalls' INDEX   3;
  81.  
  82.   FUNCTION DosMonOpen;    EXTERNAL 'MonCalls' INDEX   4;
  83.   FUNCTION Dos16MonOpen;  EXTERNAL 'MonCalls' INDEX   4;
  84.  
  85.   FUNCTION DosMonReg;     EXTERNAL 'MonCalls' INDEX   5;
  86.   FUNCTION Dos16MonReg;   EXTERNAL 'MonCalls' INDEX   5;
  87.  
  88. END.
  89.  
  90. (* ====================================================== *)
  91.