PuttyIntf.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. //---------------------------------------------------------------------------
  2. #ifndef PuttyIntfH
  3. #define PuttyIntfH
  4. //---------------------------------------------------------------------------
  5. void __fastcall PuttyInitialize();
  6. void __fastcall PuttyFinalize();
  7. //---------------------------------------------------------------------------
  8. void __fastcall DontSaveRandomSeed();
  9. //---------------------------------------------------------------------------
  10. #include "PuttyTools.h"
  11. //---------------------------------------------------------------------------
  12. #define MPEXT
  13. #pragma clang diagnostic push
  14. #pragma clang diagnostic ignored "-Wconversion"
  15. extern "C"
  16. {
  17. #include <putty.h>
  18. // To rename ssh1_cipheralg::new member, what is a keyword in C++
  19. #pragma clang diagnostic push
  20. #pragma clang diagnostic ignored "-Wkeyword-macro"
  21. #define new _new_
  22. #pragma clang diagnostic pop
  23. #include <ssh.h>
  24. #undef new
  25. #include <puttyexp.h>
  26. #include <proxy\proxy.h>
  27. #include <storage.h>
  28. // Defined in misc.h - Conflicts with std::min/max
  29. #undef min
  30. #undef max
  31. // Defined in marshal.h - Conflicts with xml.xmldom.hpp
  32. #undef get_data
  33. }
  34. #pragma clang diagnostic pop
  35. //---------------------------------------------------------------------------
  36. UnicodeString GetCipherName(const ssh_cipher * Cipher);
  37. UnicodeString GetCompressorName(const ssh_compressor * Compressor);
  38. UnicodeString GetDecompressorName(const ssh_decompressor * Decompressor);
  39. void PuttyDefaults(Conf * conf);
  40. int GetCipherGroup(const ssh_cipher * TheCipher);
  41. //---------------------------------------------------------------------------
  42. class TSecureShell;
  43. struct ScpSeat : public Seat
  44. {
  45. TSecureShell * SecureShell;
  46. ScpSeat(TSecureShell * SecureShell);
  47. };
  48. //---------------------------------------------------------------------------
  49. extern std::unique_ptr<TCriticalSection> PuttyStorageSection;
  50. extern THierarchicalStorage * PuttyStorage;
  51. //---------------------------------------------------------------------------
  52. #endif