vidif.def 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. (* Copyright (C) 1988 Jensen & Partners International *)
  2. DEFINITION MODULE VidIf ;
  3. (* Program Interface into VID *)
  4. PROCEDURE InitDebugWindow ( Title : ARRAY OF CHAR ;
  5. Width,Depth : CARDINAL ) ;
  6. PROCEDURE OpenDebugWindow ;
  7. PROCEDURE Trace( OutputPat : ARRAY OF CHAR ;
  8. P1,P2,P3,P4 : ARRAY OF BYTE ) ;
  9. (*
  10. FormatString = { Alpha | FieldSpecifier | SwitchChar }
  11. Alpha = any ascii char except '%' and '\'
  12. FieldSpecifier = '%' '%'
  13. | '% ['-'] [WidthSpecifier] TypeSpecifier
  14. WidthSpecifier = DecimalNumber [ '.' DecimalNumber ]
  15. TypeSpecifier = 'u' (* Unsigned *)
  16. | 'i' (* Signed *)
  17. | 'r' (* Real *)
  18. | 'c' (* Character *)
  19. | 's' (* String *)
  20. | 'h' (* Hex (unsigned) *)
  21. | 'b' (* Boolean *)
  22. | 'p' (* Pointer / Address *)
  23. SwitchChar = '\' SwitchOptions
  24. SwitchOptions = '\' (* \ *)
  25. | '%' (* % *)
  26. | 'b' (* BS = CHR(8) *)
  27. | 'f' (* FF = CHR(12) *)
  28. | 'n' (* NL = CHR(13),CHR(10) *)
  29. | 't' (* Tab = CHR(9) *)
  30. | 'e' (* Esc = CHR(27) *)
  31. | CharCode
  32. CharCode = DecimalNumber
  33. DecimalNumber = Digit [ Digit [ Digit ] ]
  34. *)
  35. PROCEDURE GotoXY ( X,Y : CARDINAL ) ;
  36. PROCEDURE WhereXY ( VAR X,Y : CARDINAL ) ;
  37. TYPE
  38. Color = ( Black, Blue, Green, Cyan,
  39. Red, Magenta, Brown, LightGray,
  40. DarkGray, LightBlue, LightGreen, LightCyan,
  41. LightRed, LightMagenta, Yellow, White );
  42. PROCEDURE SetColor ( Fore,Back : Color ) ;
  43. PROCEDURE CloseDebugWindow ;
  44. PROCEDURE Pause() ; (* NB Should NOT be called fron a UserTrap procedure
  45. RETURN TRUE instead
  46. *)
  47. (*----- User Trap Procedure ----------------*)
  48. TYPE
  49. UserTrapProc = PROCEDURE ( (* modname : *) ARRAY OF CHAR,
  50. (* lineno : *) CARDINAL
  51. ) : BOOLEAN ; (* TRUE = pause VID *)
  52. PROCEDURE SetUserTrapProc ( P : UserTrapProc ) ;
  53. PROCEDURE ResetUserTrapProc ;
  54. PROCEDURE ClearUserTrap ; (* Removes the current user trap
  55. Should ONLY be called from user trap procedure
  56. *)
  57. END VidIf.
  58.