Console.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. //---------------------------------------------------------------------------
  2. #ifndef ConsoleH
  3. #define ConsoleH
  4. //---------------------------------------------------------------------------
  5. #define CONSOLE_MAPPING "WinSCPConsoleMapping"
  6. #define CONSOLE_EVENT_REQUEST "WinSCPConsoleEventRequest"
  7. #define CONSOLE_EVENT_RESPONSE "WinSCPConsoleEventResponse"
  8. #define CONSOLE_EVENT_CANCEL "WinSCPConsoleEventCancel"
  9. //---------------------------------------------------------------------------
  10. struct TConsoleCommStruct
  11. {
  12. enum TVersion
  13. {
  14. CurrentVersion = 0x0003,
  15. CurrentVersionConfirmed = 0x0103
  16. };
  17. struct TInitEvent
  18. {
  19. unsigned int InputType;
  20. unsigned int OutputType;
  21. };
  22. struct TPrintEvent
  23. {
  24. char Message[10240];
  25. bool FromBeginning;
  26. };
  27. struct TInputEvent
  28. {
  29. bool Echo;
  30. bool Result;
  31. char Str[10240];
  32. unsigned int Timer; // since Version2
  33. };
  34. struct TChoiceEvent
  35. {
  36. char Options[64];
  37. int Cancel;
  38. int Break;
  39. int Result;
  40. int Timeouted; // since Version2
  41. unsigned int Timer; // since Version2
  42. };
  43. struct TTitleEvent
  44. {
  45. char Title[10240];
  46. };
  47. size_t Size;
  48. int Version;
  49. enum { NONE, PRINT, INPUT, CHOICE, TITLE, INIT } Event;
  50. union
  51. {
  52. TPrintEvent PrintEvent;
  53. TInputEvent InputEvent;
  54. TChoiceEvent ChoiceEvent;
  55. TTitleEvent TitleEvent;
  56. TInitEvent InitEvent;
  57. };
  58. };
  59. //---------------------------------------------------------------------------
  60. #endif // ConsoleH