SmartFTP FTP Library
sfFTPLib.idl
Go to the documentation of this file.
1// sfFTPLib.idl : IDL source for sfFTPLib
2//
3// This file will be processed by the MIDL tool to
4// produce the type library (sfFTPLib.tlb) and marshalling code.
5//
6// Notes:
7// - .NET doesn't like defaultvalue(0)
8
9#include <olectl.h> // DISPID_*
10import "oaidl.idl";
11import "ocidl.idl";
12import "propidl.idl"; // REFPROPVARIANT
13#include <WinError.h> // MAKE_HRESULT
14
16// warning MIDL2362 : too many methods in the interface, requires Windows NT 4.0 SP3 or greater.
17midl_pragma warning( disable: 2362 )
19
29typedef [v1_enum] enum FTPProtocol
30{
36 [helpstring("Protocol ftpProtocol Normal")]
38
45 [helpstring("Protocol ftpProtocol SSL Implicit")]
47
55 [helpstring("Protocol ftpProtocol Require TLS")]
57
66 [helpstring("Protocol ftpProtocol Prefer TLS")]
69
70typedef [v1_enum] enum ProxyType
71{
76 [helpstring("ProxyType ftpProxyType None")]
78
84 [helpstring("ProxyType ftpProxyType SOCKS5")]
86
92 [helpstring("ProxyType ftpProxyType SOCKS4")]
94
100 [helpstring("ProxyType ftpProxyType SOCKS4A")]
102
109 [helpstring("ProxyType ftpProxyType HTTP")]
112
128// TODO: rename to FTPPortMode
129typedef [v1_enum] enum PortMode
130{
138 [helpstring("PortMode ftpPortMode Default")]
140
148 [helpstring("PortMode ftpPortMode Manual")]
151
155// TODO: rename to FTPPassiveIPMode
156typedef [v1_enum] enum PassiveMode
157{
166 [helpstring("PassiveMode ftpPassiveMode UseIPFromReply")]
168
176 [helpstring("PassiveMode ftpPassiveMode UseHostIP")]
178
186 [helpstring("PassiveMode ftpPassiveMode Auto")]
189
196// TODO: rename to FTPDataTransferType
197typedef [v1_enum] enum DataTransferType
198{
199 [helpstring("DataTransferType ftpDataTransferType Unknown")]
211 [helpstring("DataTransferType ftpDataTransferType ASCII")]
213
222 [helpstring("DataTransferType ftpDataTransferType Image")]
224
233 [helpstring("DataTransferType ftpDataTransferType EBCDIC")]
236
247 // TODO: rename to FTPDataTransferMode
248typedef [v1_enum] enum DataTransferMode
249{
253 [helpstring("DataTransferMode ftpDataTransferMode Unknown")]
255
267 [helpstring("DataTransferMode ftpDataTransferMode Stream")]
269
284 [helpstring("DataTransferMode ftpDataTransferMode Z")]
287
296// TODO: rename to FTPDataProtection
297typedef [v1_enum] enum DataProtection
298{
299 [helpstring("DataProtection ftpDataProtection Unknown")]
301
305 [helpstring("DataProtection ftpDataProtection Clear")]
307
311 [helpstring("DataProtection ftpDataProtection Private")]
314
315typedef [v1_enum] enum ProtocolFamily
316{
320 [helpstring("ProtocolFamily ftpProtocolFamily UNSPEC")]
322
326 [helpstring("ProtocolFamily ftpProtocolFamily INET4")]
328
332 [helpstring("ProtocolFamily ftpProtocolFamily INET6")]
335
336typedef [v1_enum] enum ServerCapability
337{
338 [helpstring("ServerCapability ftpServerCapability GetFileSize")]
340
341 [helpstring("ServerCapability ftpServerCapability GetModifyTime")]
343
344 [helpstring("ServerCapability ftpServerCapability GetCreateTime")]
346
347 [helpstring("ServerCapability ftpServerCapability SetModifyTime")]
349
350 [helpstring("ServerCapability ftpServerCapability SetCreateTime")]
352
353 [helpstring("ServerCapability ftpServerCapability CopyFile")]
355
356 [helpstring("ServerCapability ftpServerCapability FXPFile")]
358
359 [helpstring("ServerCapability ftpServerCapability Stat")]
361
362 [helpstring("ServerCapability ftpServerCapability MLST")]
364
365 [helpstring("ServerCapability ftpServerCapability SetUnixPermissions")]
367
368 [helpstring("ServerCapability ftpServerCapability Restart")]
370
371 [helpstring("ServerCapability ftpServerCapability UTF8")]
373
374 [helpstring("ServerCapability ftpServerCapability Compression")]
376
377 [helpstring("ServerCapability ftpServerCapability Range")]
379
380 [helpstring("ServerCapability ftpServerCapability MachineReadableList")]
383
384typedef [v1_enum] enum ServerCapabilityState
385{
386 [helpstring("ServerCapabilityState ftpServerCapabilityState Unavailable")]
388
389 [helpstring("ServerCapabilityState ftpServerCapabilityState Available")]
391
392 [helpstring("ServerCapabilityState ftpServerCapabilityState Unknown")]
395
405typedef [v1_enum] enum CaseSensitivity
406{
412 [helpstring("CaseSensitivity ftpCaseSensitivity Unknown")]
414
424 [helpstring("CaseSensitivity ftpCaseSensitivity Yes")]
426
436 [helpstring("CaseSensitivity ftpCaseSensitivity No")]
439
440typedef [v1_enum] enum ParserFormat
441{
442 [helpstring("ParserFormat ftpParserFormat Unknown")] ftpParserFormatUnknown = 0,
443 [helpstring("ParserFormat ftpParserFormat Unix")] ftpParserFormatUnix = 1,
444 [helpstring("ParserFormat ftpParserFormat MLST")] ftpParserFormatMLST = 2,
445 [helpstring("ParserFormat ftpParserFormat VMS")] ftpParserFormatVMS = 3,
446 [helpstring("ParserFormat ftpParserFormat VxWorks")] ftpParserFormatVxWorks = 4,
447 [helpstring("ParserFormat ftpParserFormat DOS")] ftpParserFormatDOS = 5,
448 [helpstring("ParserFormat ftpParserFormat Tandem")] ftpParserFormatTandem = 6,
449 [helpstring("ParserFormat ftpParserFormat VOS")] ftpParserFormatVOS = 7,
450 [helpstring("ParserFormat ftpParserFormat MVS")] ftpParserFormatMVS = 8,
451 [helpstring("ParserFormat ftpParserFormat AS400")] ftpParserFormatAS400 = 9,
452 [helpstring("ParserFormat ftpParserFormat OS2")] ftpParserFormatOS2 = 10,
453 [helpstring("ParserFormat ftpParserFormat Netware")] ftpParserFormatNetware = 11,
454 [helpstring("ParserFormat ftpParserFormat pSOSystem")] ftpParserFormatpSOSystem = 12,
455 [helpstring("ParserFormat ftpParserFormat NT")] ftpParserFormatNT = 13,
456 [helpstring("ParserFormat ftpParserFormat MD11")] ftpParserFormatMD11 = 14,
457 [helpstring("ParserFormat ftpParserFormat BS2000")] ftpParserFormatBS2000 = 15,
458 [helpstring("ParserFormat ftpParserFormat VM")] ftpParserFormatVM = 16,
459 [helpstring("ParserFormat ftpParserFormat ConnectEnterprise")] ftpParserFormatConnectEnterprise = 17,
460 [helpstring("ParserFormat ftpParserFormat GrassValley")] ftpParserFormatGrassValley = 18,
461 [helpstring("ParserFormat ftpParserFormat Simple")] ftpParserFormatSimple = 19,
462 [helpstring("ParserFormat ftpParserFormat GXSEnterprise")] ftpParserFormatGXSEnterprise = 20,
463 [helpstring("ParserFormat ftpParserFormat GXSInformationExchangeFTPGateway")] ftpParserFormatGXSInformationExchangeFTPGateway = 21,
464 [helpstring("ParserFormat ftpParserFormat SecurePortal2000")] ftpParserFormatSecurePortal2000 = 22,
465 [helpstring("ParserFormat ftpParserFormat Meditech")] ftpParserFormatMeditech = 23,
467
482typedef [v1_enum] enum ServerType {
486 [helpstring("ServerType ftpServerType Unknown")]
488
496 [helpstring("ServerType ftpServerType Unix")]
498
503 [helpstring("ServerType ftpServerType Peter Lewis")]
505
512 [helpstring("ServerType ftpServerType VMS")]
514
522 [helpstring("ServerType ftpServerType NT")]
524
528 [helpstring("ServerType ftpServerType Amiga")]
530
534 [helpstring("ServerType ftpServerType MacOS")]
536
541 [helpstring("ServerType ftpServerType MVS")]
543
548 [helpstring("ServerType ftpServerType AS400")]
550
554 [helpstring("ServerType ftpServerType OS2")]
556
560 [helpstring("ServerType ftpServerType Tandem")]
562
566 [helpstring("ServerType ftpServerType VOS")]
568
572 [helpstring("ServerType ftpServerType MD11")]
574
578 [helpstring("ServerType ftpServerType pSOSystem")]
580
585 [helpstring("ServerType ftpServerType Netware")]
587
588 // --- Specialized / Embedded Systems ---
589
590 [helpstring("ServerType ftpServerType TNTEmbeddedToolSuite")]
592
593 [helpstring("ServerType ftpServerType BS2000")]
594 ftpServerTypeBS2000 = 16, // Siemens Mainframe
595
596 [helpstring("ServerType ftpServerType VM")]
597 ftpServerTypeVM = 17, // IBM VM/CMS
598
599 [helpstring("ServerType ftpServerType VxWorks")]
600 ftpServerTypeVxWorks = 18, // Wind River RTOS
601
602 [helpstring("ServerType ftpServerType WindowsCE")]
603 ftpServerTypeWindowsCE = 19, // Embedded Windows
604
605 [helpstring("ServerType ftpServerType GXSEnterprise")]
606 ftpServerTypeGXSEnterprise = 20, // GXS EDI Gateway
607
608 [helpstring("ServerType ftpServerType ICS")]
610
611 [helpstring("ServerType ftpServerType GrassValley")]
612 ftpServerTypeGrassValley = 22, // Broadcast media servers
613
614 [helpstring("ServerType ftpServerType GXSInformationExchangeFTPGateway")]
616
617 [helpstring("ServerType ftpServerType SecurePortal2000")]
619
623 [helpstring("ServerType ftpServerType MudOS")]
625
627
632typedef [v1_enum] enum ServerSoftware
633{
634 [helpstring("Unknown")] ftpServerSoftwareUnknown = 0,
635 [helpstring("RaidenFTPd")] ftpServerSoftwareRaidenFTPd = 1,
636 [helpstring("ServU")] ftpServerSoftwareServU = 2,
637 [helpstring("GSFTPS")] ftpServerSoftwareGSFTPS = 3,
638 [helpstring("WSFTP")] ftpServerSoftwareWSFTP = 4,
639 [helpstring("PureFTPd")] ftpServerSoftwarePureFTPd = 5,
640 [helpstring("GuildFTPd")] ftpServerSoftwareGuildFTPd = 6,
641 [helpstring("Titan")] ftpServerSoftwareTitan = 7,
642 [helpstring("Orenosv")] ftpServerSoftwareOrenosv = 8,
643 [helpstring("DrFTPd")] ftpServerSoftwareDrFTPd = 9,
644 [helpstring("moftpd")] ftpServerSoftwaremoftpd = 10,
645 [helpstring("glftpd")] ftpServerSoftwareglftpd = 11,
646 [helpstring("NcFTPd")] ftpServerSoftwareNcFTPd = 12,
647 [helpstring("SurgeFTP")] ftpServerSoftwareSurgeFTP = 13,
648 [helpstring("Blackmoon")] ftpServerSoftwareBlackmoon = 14,
649 [helpstring("WarFTPd")] ftpServerSoftwareWarFTPd = 15,
650 [helpstring("WFTPD")] ftpServerSoftwareWFTPD = 16,
651 [helpstring("ShareIt")] ftpServerSoftwareShareIt = 17,
652 [helpstring("Gene6")] ftpServerSoftwareGene6 = 18,
653// [helpstring("VxWorks")] ftpServerSoftwareVxWorks = 19,
654 [helpstring("NoFeel")] ftpServerSoftwareNoFeel = 20,
655 [helpstring("MOVEit")] ftpServerSoftwareMOVEit = 21,
656 [helpstring("iNEWS")] ftpServerSoftwareiNEWS = 22,
657 [helpstring("Fastream")] ftpServerSoftwareFastream = 23,
658 [helpstring("ConnectEnterprise")] ftpServerSoftwareConnectEnterprise = 24,
659 [helpstring("MicrosoftFTP")] ftpServerSoftwareMicrosoftFTP = 25,
660 [helpstring("OracleXMLDB")] ftpServerSoftwareOracleXMLDB = 26,
661 [helpstring("FileZilla")] ftpServerSoftwareFileZilla = 27,
662 [helpstring("ProFTPD")] ftpServerSoftwareProFTPD = 28,
663 [helpstring("SnapOS")] ftpServerSoftwareSnapOS = 29,
664 [helpstring("MacOSX")] ftpServerSoftwareMacOSX = 30,
665 [helpstring("cuftpd")] ftpServerSoftwarecuftpd = 31,
666 [helpstring("CerberusFTPServer")] ftpServerSoftwareCerberusFTPServer = 32,
667 [helpstring("zOS")] ftpServerSoftwarezOS = 33,
668 [helpstring("HumaxiCord")] ftpServerSoftwareHumaxiCord = 34,
669 [helpstring("Mtcp")] ftpServerSoftwareMtcp = 35,
670 [helpstring("Ps3")] ftpServerSoftwarePs3 = 36,
671 [helpstring("Meditech")] ftpServerSoftwareMeditech = 37,
672 [helpstring("CleoVLTrader")] ftpServerSoftwareCleoVLTrader = 38,
673 [helpstring("WebMethods")] ftpServerSoftwareWebMethods = 39,
674 [helpstring("JustCloud")] ftpServerSoftwareJustCloud = 40,
675 [helpstring("MultiNet")] ftpServerSoftwareMultiNet = 41,
676 [helpstring("TransCore")] ftpServerSoftwareTransCore = 42,
677 [helpstring("TopfieldPVR")] ftpServerSoftwareTopfieldPVR = 43
679
680typedef [v1_enum] enum OperatingSystem
681{
689 [helpstring("OperatingSystem ftpOperatingSystem Unknown")] ftpOperatingSystemUnknown = 0,
690
694 [helpstring("OperatingSystem ftpOperatingSystem Windows")] ftpOperatingSystemWindows = 1,
695
699 [helpstring("OperatingSystem ftpOperatingSystem Unix")] ftpOperatingSystemUnix = 2,
700
709 [helpstring("OperatingSystem ftpOperatingSystem VMS")] ftpOperatingSystemVMS = 3
711
713
720// TODO: property missing in IFTPConnection
721// Used by FTP::OperationSetModifyTime
722typedef [v1_enum] enum FTPSetFileTimeCommand
723{
727 [helpstring("SetFileTimeCommand ftpSetFileTimeCommand Unknown")]
728 ftpSetFileTimeCommandUnknown = 0,
729
735 [helpstring("SetFileTimeCommand ftpSetFileTimeCommand Auto")]
736 ftpSetFileTimeCommandAuto = 1,
737
742 [helpstring("SetFileTimeCommand ftpSetFileTimeCommand MFMT")]
743 ftpSetFileTimeCommandMFMT = 2,
744
751 [helpstring("SetFileTimeCommand ftpSetFileTimeCommand MDTM")]
752 ftpSetFileTimeCommandMDTM = 3,
753
758 [helpstring("SetFileTimeCommand ftpSetFileTimeCommand MFF")]
759 ftpSetFileTimeCommandMFF = 6
760} SetFileTimeCommand;
762
763typedef [v1_enum] enum StatusEventType
764{
765 [helpstring("StatusEventType ftpStatusEventType LocalCommand")]
767
768 [helpstring("StatusEventType ftpStatusEventType LocalInfo")]
770
771 [helpstring("StatusEventType ftpStatusEventType LocalError")]
773
774 [helpstring("StatusEventType ftpStatusEventType Remote")]
777
778typedef [v1_enum] enum ConnectionStatus
779{
780 [helpstring("ConnectionStatus ftpConnectionStatus Unknown")]
782
783 [helpstring("ConnectionStatus ftpConnectionStatus Connecting")]
785
786 [helpstring("ConnectionStatus ftpConnectionStatus Connected")]
788
789 [helpstring("ConnectionStatus ftpConnectionStatus Disconnecting")]
791
792 [helpstring("ConnectionStatus ftpConnectionStatus Disconnected")]
795
796typedef [v1_enum] enum SFTPConnectionStatus
797{
801 [helpstring("SFTPConnectionStatus ftpSFTPConnectionStatus Unknown")]
803
812 [helpstring("SFTPConnectionStatus ftpSFTPConnectionStatus Init")]
814
823 [helpstring("SFTPConnectionStatus ftpSFTPConnectionStatus Closing")]
826
827typedef [v1_enum] enum LogFormat
828{
829 [helpstring("LogFormat ftpLogFormat Unicode")]
831
832 [helpstring("LogFormat ftpLogFormat UTF8")]
835
836typedef [v1_enum] enum HashAlgo
837{
838 [helpstring("HashAlgo Unknown")] ftpHashAlgoUnknown = 0,
839 [helpstring("HashAlgo CRC32")] ftpHashAlgoCRC32 = 1,
840 [helpstring("HashAlgo MD5")] ftpHashAlgoMD5= 2,
841 [helpstring("HashAlgo SHA1")] ftpHashAlgoSHA1 = 3,
842 [helpstring("HashAlgo SHA256")] ftpHashAlgoSHA256 = 4,
843 [helpstring("HashAlgo SHA384")] ftpHashAlgoSHA384 = 5,
844 [helpstring("HashAlgo SHA512")] ftpHashAlgoSHA512 = 6,
845 [helpstring("HashAlgo Microsoft QuickXorHash")] ftpHashAlgoMicrosoftQuickXorHash = 7
847
849// Internal use only: FTP::OperationTransfer
850typedef [v1_enum] enum FTPDataMethod
851{
852 [helpstring("DataMethod Unknown")]
853 ftpDataMethodUnknown = 0,
854
855 [helpstring("DataMethod Active")]
856 ftpDataMethodActive = 1,
857
858 [helpstring("DataMethod Passive")]
859 ftpDataMethodPassive = 2
860} FTPDataMethod;
862
871typedef [v1_enum] enum KeyExchange
872{
873 [helpstring("KeyExchange Unknown")]
875
885 [helpstring("KeyExchange DiffieHellmanGroup14SHA1")]
887
897 [helpstring("KeyExchange DiffieHellmanGroupExchangeSHA1")]
899
908 [helpstring("KeyExchange DiffieHellmanGroupExchangeSHA256")]
910
919 [helpstring("KeyExchange DiffieHellmanGroup14SHA256")]
921
931 [helpstring("KeyExchange DiffieHellmanGroup16SHA512")]
933
941 [helpstring("KeyExchange ECDH256")]
943
950 [helpstring("KeyExchange ECDH384")]
952
959 [helpstring("KeyExchange ECDH521")]
961
970 [helpstring("KeyExchange Curve25519")]
972
980 [helpstring("KeyExchange Curve25519libssh")]
982
992 [helpstring("KeyExchange MlKem768x25519")]
995
1004typedef [v1_enum] enum Encryption
1005{
1009 [helpstring("Encryption ftpEncryption Unknown")]
1011
1012 // -------------------------------------------------------------------------
1013 // Legacy / Deprecated (Avoid)
1014 // -------------------------------------------------------------------------
1015
1023 [helpstring("Encryption ftpEncryption 3DES")]
1025
1033 [helpstring("Encryption ftpEncryption AES128CBC")]
1035
1040 [helpstring("Encryption ftpEncryption AES192CBC")]
1042
1047 [helpstring("Encryption ftpEncryption AES256CBC")]
1049
1050 // -------------------------------------------------------------------------
1051 // Standard (Safe)
1052 // -------------------------------------------------------------------------
1053
1061 [helpstring("Encryption ftpEncryption AES128CTR")]
1063
1067 [helpstring("Encryption ftpEncryption AES192CTR")]
1069
1073 [helpstring("Encryption ftpEncryption AES256CTR")]
1075
1076 // -------------------------------------------------------------------------
1077 // Modern / High Performance (Recommended)
1078 // -------------------------------------------------------------------------
1079
1087 [helpstring("Encryption ftpEncryption AES128GCM")]
1089
1097 [helpstring("Encryption ftpEncryption AES256GCM")]
1099
1103// [helpstring("Encryption ftpEncryption Chacha20")]
1104// ftpEncryptionChacha20 = 21,
1105
1114// [helpstring("Encryption ftpEncryption Chacha20Poly1305")]
1115// ftpEncryptionChacha20Poly1305 = 22,
1117
1134typedef [v1_enum] enum HMAC
1135{
1136 [helpstring("Unknown")]
1138
1143 [helpstring("hmac-sha1: HMAC SHA1")]
1145
1150 [helpstring("none: HMAC None")]
1152
1157 [helpstring("hmac-sha2-256: HMAC SHA2-256")]
1159
1164 [helpstring("hmac-sha2-512: HMAC SHA2-512")]
1166
1171 [helpstring("hmac-sha2-256-etm@openssh.com: HMAC SHA2-256 EtM")]
1173
1178 [helpstring("hmac-sha2-512-etm@openssh.com: HMAC SHA2-512 EtM")]
1181
1188typedef [v1_enum] enum SSHCompression
1189{
1190 [helpstring("Unknown: Unspecified or invalid compression method.")]
1192
1196 [helpstring("none: No compression.")]
1198
1209 [helpstring("zlib@openssh.com: Delayed zlib compression.")]
1212
1220typedef [v1_enum] enum FeatureDiscoveryMode
1221{
1227 [helpstring("FeatureDiscoveryMode ftpFeatureDiscoveryMode AfterLogin")]
1229
1236 [helpstring("FeatureDiscoveryMode ftpFeatureDiscoveryMode BeforeAndAfterLogin")]
1239
1247[
1248 object,
1249 uuid(05692BAF-A61B-4692-AB93-58108D48994D),
1250 dual,
1251 oleautomation,
1252 nonextensible,
1253 helpstring("IGlobal Interface"),
1254 pointer_default(unique)
1255]
1256interface IGlobal : IDispatch
1257{
1266 [propget, id(1), helpstring("property Version")] HRESULT Version([out, retval] BSTR* retval);
1267
1279 [propput, id(4), helpstring("property FIPS")] HRESULT FIPS([in] VARIANT_BOOL newValue);
1280 [propget, id(4), helpstring("property FIPS")] HRESULT FIPS([out, retval] VARIANT_BOOL* retval);
1281
1290 [propget, id(7), helpstring("property TotalBytesReceived")] HRESULT TotalBytesReceived([out, retval] ULONGLONG *retval);
1291
1300 [propget, id(8), helpstring("property TotalBytesSent")] HRESULT TotalBytesSent([out, retval] ULONGLONG *retval);
1301
1314 [propput, id(9), helpstring("property ActivationUrl")] HRESULT ActivationUrl([in] BSTR newVal);
1315 [propget, id(9), helpstring("property ActivationUrl")] HRESULT ActivationUrl([out, retval] BSTR *retval);
1316
1332 [id(12), helpstring("method LoadLicense")] HRESULT LoadLicense([in] BSTR productKey);
1333
1335// [id(13), helpstring("method GetActivationRequest")] GetActivationRequest([out] BSTR* activationRequest);
1336// [id(14), helpstring("method HandleActivationResponse")] HandleActivationResponse([in] BSTR activationResponse);
1338};
1339
1352[ uuid(2F818839-9A89-4821-BBFA-DCB242646EF2),
1353 object,
1354 oleautomation,
1355 dual,
1356 nonextensible,
1357 helpstring("IFTPPortPool Interface"),
1358 pointer_default(unique)
1359]
1360interface IFTPPortPool : IDispatch
1361{
1370 [propget, id(1), helpstring("property MinPort")]
1371 HRESULT MinPort([out, retval] long* retval);
1372
1381 [propget, id(2), helpstring("property MaxPort")]
1382 HRESULT MaxPort([out, retval] long* retval);
1383
1396 [id(100), helpstring("method NextPort")]
1397 HRESULT NextPort([out, retval] long* retval);
1398
1414 [id(101), helpstring("method SetPortRange")]
1415 HRESULT SetPortRange([in] long minPort, [in] long maxPort);
1416};
1417
1418[
1419 object,
1420 uuid(00EF4F3A-9300-4FB7-BC27-7F13D6E1D9BD),
1421 dual,
1422 oleautomation,
1423 nonextensible,
1424 helpstring("IGlobalSpeedLimit Interface"),
1425 pointer_default(unique)
1426]
1427interface IGlobalSpeedLimit : IDispatch
1428{
1442 [propget, id(1), helpstring("property UploadSpeedLimit")]
1443 HRESULT UploadSpeedLimit([out, retval] long* retval);
1444 [propput, id(1), helpstring("property UploadSpeedLimit")]
1445 HRESULT UploadSpeedLimit([in] long newValue);
1446
1460 [propget, id(2), helpstring("property DownloadSpeedLimit")]
1461 HRESULT DownloadSpeedLimit([out, retval] long* retval);
1462 [propput, id(2), helpstring("property DownloadSpeedLimit")]
1463 HRESULT DownloadSpeedLimit([in] long newValue);
1464};
1465
1478typedef [v1_enum] enum ItemType {
1483 [helpstring("ItemType ftpItemType RegularFile")]
1485
1489 [helpstring("ItemType ftpItemType Directory")]
1491
1496 [helpstring("ItemType ftpItemType SymbolicLink")]
1498
1502 [helpstring("ItemType ftpItemType Special")]
1504
1510 [helpstring("ItemType ftpItemType Unknown")]
1512
1517 [helpstring("ItemType ftpItemType FIFO")]
1519
1525 [helpstring("ItemType ftpItemType CharacterDevice")]
1527
1533 [helpstring("ItemType ftpItemType BlockDevice")]
1535
1540 [helpstring("ItemType ftpItemType Socket")]
1542
1544
1560[
1561 object,
1562 uuid(6E66C7AD-703F-410F-92E6-BB98A702D073),
1563 oleautomation,
1564 dual,
1565 nonextensible,
1566 helpstring("ISecurityConnectionInfo Interface"),
1567 pointer_default(unique)
1568]
1569interface ISecurityConnectionInfo : IDispatch
1570{
1578 [propget, id(1), helpstring("property Protocol")]
1579 HRESULT Protocol([out, retval] long* retval);
1580
1586 [propget, id(2), helpstring("property CipherAlgo")]
1587 HRESULT CipherAlgo([out, retval] BSTR* retval);
1588
1597 [propget, id(3), helpstring("property CipherStrength")]
1598 HRESULT CipherStrength([out, retval] long* retval);
1599
1605 [propget, id(4), helpstring("property HashAlgo")]
1606 HRESULT HashAlgo([out, retval] BSTR* retval);
1607
1613 [propget, id(5), helpstring("property HashStrength")]
1614 HRESULT HashStrength([out, retval] long* retval);
1615
1621 [propget, id(6), helpstring("property ExchangeAlgo")]
1622 HRESULT ExchangeAlgo([out, retval] BSTR* retval);
1623
1630 [propget, id(7), helpstring("property ExchangeStrength")]
1631 HRESULT ExchangeStrength([out, retval] long* retval);
1632};
1633
1634[
1635 object,
1636 uuid(B11A9B35-27A7-4387-B089-B1B632A8059F),
1637 nonextensible,
1638 pointer_default(unique)
1639]
1640interface IStreamFilter : IUnknown
1641{
1642 // Do not use a IStream as argument otherwise the proxy stubs for IStream and ISequentialStream are generated which is not what we want
1643 // This is the case because the manifest adds <comInterfaceExternalProxyStub > for IStream
1644 HRESULT Initialize([in] IStream* stream);
1645 HRESULT Uninitialize();
1646 HRESULT GetStream([out] IStream** stream);
1647};
1648
1649[
1650 object,
1651 uuid(411899B9-5F68-40EF-BE59-044A393C34A2),
1652 nonextensible,
1653 pointer_default(unique)
1654]
1655interface IStreamFilterInfo : IUnknown
1656{
1657 [propget] HRESULT AlignSize([out, retval] long* retval);
1658};
1659
1664[
1665 object,
1666 uuid(44875A47-88B4-4310-A777-5A63261355EE),
1667 oleautomation,
1668 dual,
1669 nonextensible,
1670 helpstring("IFTPClientId Interface"),
1671 pointer_default(unique)
1672]
1673interface IFTPClientId : IDispatch
1674{
1687 [propput, id(1), helpstring("property Name")]
1688 HRESULT Name([in] BSTR newValue);
1689 [propget, id(1), helpstring("property Name")]
1690 HRESULT Name([out, retval] BSTR* retval);
1691
1704 [propput, id(2), helpstring("property Version")]
1705 HRESULT Version([in] BSTR newValue);
1706 [propget, id(2), helpstring("property Version")]
1707 HRESULT Version([out, retval] BSTR* retval);
1708};
1709
1719[
1720 object,
1721 uuid(CDEE9011-5363-455A-BD11-E3C49CECDB3F),
1722 oleautomation,
1723 dual,
1724 nonextensible,
1725 helpstring("IFTPServerId Interface"),
1726 pointer_default(unique)
1727]
1728interface IFTPServerId : IDispatch
1729{
1737 [propget, id(1), helpstring("property Name")]
1738 HRESULT Name([out, retval] BSTR* retval);
1739
1746 [propget, id(2), helpstring("property Version")]
1747 HRESULT Version([out, retval] BSTR* retval);
1748
1756 [propget, id(3), helpstring("property CaseSensitivity")]
1757 HRESULT CaseSensitivity([out, retval] CaseSensitivity* retval);
1758};
1759
1760[
1761 object,
1762 uuid(19D50DD2-F381-4DA0-923D-DA672ABA7824),
1763 oleautomation,
1764 dual,
1765 nonextensible,
1766 helpstring("IFTPServerState Interface"),
1767 pointer_default(unique)
1768]
1769interface IFTPServerState : IDispatch
1770{
1791 [propget, id(1), helpstring("property CodePage")]
1792 HRESULT CodePage([out, retval] long* retval);
1793
1812 [propget, id(2), helpstring("property DataProtection")]
1813 HRESULT DataProtection([out, retval] DataProtection* retval);
1814
1831 [propget, id(15), helpstring("property CommandProtection")]
1832 HRESULT CommandProtection([out, retval] DataProtection* retval);
1833
1842 [propget, id(3), helpstring("property DataTransferType")]
1843 HRESULT DataTransferType([out, retval] DataTransferType* retval);
1844
1856 [propget, id(4), helpstring("property DataTransferMode")]
1857 HRESULT DataTransferMode([out, retval] DataTransferMode* retval);
1858
1869 [propget, id(6), helpstring("property ServerType")]
1870 HRESULT ServerType([out, retval] ServerType* retval);
1871
1886 [propget, id(7), helpstring("property ServerSoftware")]
1887 HRESULT ServerSoftware([out, retval] ServerSoftware* retval);
1888
1899 [propget, id(8), helpstring("property PBSZ")]
1900 HRESULT PBSZ([out, retval] VARIANT_BOOL* retval);
1901
1923 [propget, id(9), helpstring("property SSCN")]
1924 HRESULT SSCN([out, retval] VARIANT_BOOL* retval);
1934 [propget, id(10), helpstring("property WorkingDirectory")]
1935 HRESULT WorkingDirectory([out, retval] BSTR* retval);
1936
1949 [propget, id(16), helpstring("property HomeDirectory")]
1950 HRESULT HomeDirectory([out, retval] BSTR* retval);
1951
1972 [propget, id(11), helpstring("property SYSTReply")]
1973 HRESULT SYSTReply([out, retval] BSTR* retval);
1974
1994 [propget, id(12), helpstring("property FEATReply")]
1995 HRESULT FEATReply([out, retval] BSTR* retval);
1996
2005 [propget, id(13), helpstring("property WelcomeMessage")]
2006 HRESULT WelcomeMessage([out, retval] BSTR* retval);
2007
2032 [propget, id(14), helpstring("property ServerId")]
2033 HRESULT ServerId([out, retval] IFTPServerId ** retval);
2034
2044 [propget, id(103), helpstring("property OperatingSystem")]
2045 HRESULT OperatingSystem([out, retval] OperatingSystem *retval);
2046
2047 [id(101), helpstring("method EvaluateParserFormat")]
2048 HRESULT EvaluateParserFormat([out, retval] ParserFormat *retval);
2064 [id(105), helpstring("method GetCaseSensitivity")]
2065 HRESULT GetCaseSensitivity([out, retval] CaseSensitivity* retval);
2066
2067 [id(108), helpstring("method GetServerCapabilityState")]
2068 HRESULT GetServerCapabilityState([in] ServerCapability capability, [out, retval] ServerCapabilityState* retval);
2084 [id(104), helpstring("method IsHashAlgoAvailable")]
2085 HRESULT IsHashAlgoAvailable([in] HashAlgo algo, [out, retval] VARIANT_BOOL* retval);
2086
2106 [id(106), helpstring("method LookupFeature")]
2107 HRESULT LookupFeature([in] BSTR key, [out] BSTR *value, [out, retval] VARIANT_BOOL *retval);
2108};
2109
2110typedef [v1_enum] enum KeyType
2111{
2112 [helpstring("KeyType ftpKeyType Unknown")]
2114
2118 [helpstring("KeyType ftpKeyType PrivateKey")]
2120
2124 [helpstring("KeyType ftpKeyType PublicKey")]
2127
2128typedef [v1_enum] enum KeyAlgo
2129{
2133 [helpstring("KeyAlgo ftpKeyAlgo Unknown")]
2135
2144 [helpstring("KeyAlgo ftpKeyAlgo RSA")]
2146
2157 [helpstring("KeyAlgo ftpKeyAlgo DSA")]
2159
2170 [helpstring("KeyAlgo ftpKeyAlgo ECDSAP256")]
2172
2181 [helpstring("KeyAlgo ftpKeyAlgo ECDSAP384")]
2183
2192 [helpstring("KeyAlgo ftpKeyAlgo ECDSAP521")]
2194
2201 [helpstring("KeyAlgo ftpKeyAlgo Ed25519")]
2203
2210 [helpstring("KeyAlgo ftpKeyAlgo Ed448")]
2212
2224 [helpstring("KeyAlgo ftpKeyAlgo MlDsa44")]
2226
2238 [helpstring("KeyAlgo ftpKeyAlgo MlDsa65")]
2240
2252 [helpstring("KeyAlgo ftpKeyAlgo MlDsa87")]
2255
2263typedef [v1_enum] enum SSHPublicKeyAlgo
2264{
2265 [helpstring("Unknown: Unspecified or invalid algorithm.")]
2267
2268 // --- RSA Family (Classic) ---
2269
2272 [helpstring("ssh-rsa: Legacy RSA with SHA-1. Deprecated; use SHA-2 variants instead.")]
2274
2276 [helpstring("rsa-sha2-256: RSA with SHA-256.")]
2278
2280 [helpstring("rsa-sha2-512: RSA with SHA-512.")]
2282
2283 // --- Elliptic Curve Family (ECDSA / EdDSA) ---
2284
2286 [helpstring("ecdsa-sha2-nistp256: NIST P-256 Curve. Standard ECDSA variant.")]
2288
2290 [helpstring("ecdsa-sha2-nistp384: NIST P-384 Curve.")]
2292
2294 [helpstring("ecdsa-sha2-nistp521: NIST P-521 Curve.")]
2296
2299 [helpstring("ssh-ed25519: Curve25519 signature.")]
2301
2303 [helpstring("ssh-ed448: EdDSA using the Goldilocks curve.")]
2305
2306 // --- Post-Quantum (ML-DSA / Crystals-Dilithium) ---
2307
2310 [helpstring("ml-dsa-44: NIST Post-Quantum signature.")]
2312
2314 [helpstring("ml-dsa-65: NIST Post-Quantum signature.")]
2316
2318 [helpstring("ml-dsa-87: NIST Post-Quantum signature.")]
2320
2321 // --- X.509 Certificate Variants ---
2322
2324 [helpstring("x509v3-sign-rsa: RSA signatures using X.509v3 certificates.")]
2326
2328 [helpstring("x509v3-ecdsa-sha2-nistp256: ECDSA signatures using X.509v3 certificates.")]
2330
2332 [helpstring("x509v3-ecdsa-sha2-nistp384: ECDSA P-384 signatures using X.509v3 certificates.")]
2334
2336 [helpstring("x509v3-ecdsa-sha2-nistp521: ECDSA P-521 signatures using X.509v3 certificates.")]
2338
2340 [helpstring("x509v3-rsa2048-sha256: RSA-2048 with SHA-256 using X.509v3 certificates.")]
2342
2343 // --- OpenSSH Certificate Variants ---
2344
2346 [helpstring("rsa-sha2-256-cert-v01@openssh.com: OpenSSH Certificate based on RSA SHA-256.")]
2348
2350 [helpstring("rsa-sha2-512-cert-v01@openssh.com: OpenSSH Certificate based on RSA SHA-512.")]
2352
2354 [helpstring("ssh-ed25519-cert-v01@openssh.com: OpenSSH Certificate based on Ed25519.")]
2356
2358 [helpstring("ssh-rsa-cert-v01@openssh.com: Legacy OpenSSH RSA Certificate (SHA-1).")]
2360
2362 [helpstring("ssh-dss-cert-v01@openssh.com: Legacy OpenSSH DSA Certificate.")]
2364
2366 [helpstring("ecdsa-sha2-nistp256-cert-v01@openssh.com: OpenSSH Certificate based on ECDSA P-256.")]
2368
2370 [helpstring("ecdsa-sha2-nistp384-cert-v01@openssh.com: OpenSSH Certificate based on ECDSA P-384.")]
2372
2374 [helpstring("ecdsa-sha2-nistp521-cert-v01@openssh.com: OpenSSH Certificate based on ECDSA P-521.")]
2376
2377 // --- Legacy / Insecure ---
2378
2381 [helpstring("ssh-dss: Legacy Digital Signature Algorithm. Deprecated and insecure.")]
2384
2385typedef [v1_enum] enum CertificateType
2386{
2387 [helpstring("Unknown")]
2389
2398 [helpstring("X.509: Standard Public Key Infrastructure")]
2400
2415 [helpstring("OpenSSH: SSH Proprietary Certificate")]
2418
2431[
2432 uuid(DEA6D5FC-1CA3-4d58-876C-5D0C4C02F835), // IID_IKey
2433 object,
2434 oleautomation,
2435 dual,
2436 nonextensible,
2437 helpstring("IKey Interface"),
2438 pointer_default(unique)
2439]
2440interface IKey : IDispatch
2441{
2451 [propget, id(1), helpstring("property Type")]
2452 HRESULT Type([out, retval] KeyType* retval);
2453
2463 [propget, id(2), helpstring("property Bits")]
2464 HRESULT Bits([out, retval] long* retval);
2465
2476 [propget, id(3), helpstring("property Algo")]
2477 HRESULT Algo([out, retval] KeyAlgo* retval);
2478
2487 [propget, id(4), helpstring("property Certificate")]
2488 HRESULT Certificate([out, retval] VARIANT* retval);
2489
2496 [propget, id(5), helpstring("property CertificateType")]
2497 HRESULT CertificateType([out, retval] CertificateType* retval);
2498
2506 [id(22), helpstring("method ImportBlob")]
2507 HRESULT ImportBlob(
2508 [in] LPCWSTR pszBlobType,
2509 [in, size_is(cbInput)] byte* pbInput,
2510 [in] ULONG cbInput
2511 );
2512
2527 [id(23), helpstring("method Verify")]
2528 HRESULT Verify(
2529 [in] HashAlgo hashAlgo,
2530 [in, size_is(cbSignature)] byte* pbSignature,
2531 [in] ULONG cbSignature,
2532 [in, size_is(cbInput)] byte* pbInput,
2533 [in] ULONG cbInput,
2534 [in] ULONG flags
2535 );
2536
2551 [id(24), helpstring("method ExportKey")]
2552 HRESULT ExportKey(
2553 [in] LPCWSTR pszBlobType,
2554 [out, size_is(*pcbData)] byte* pbData,
2555 [in,out] ULONG *pcbData
2556 );
2557
2576 [id(25), helpstring("method Sign")]
2577 HRESULT Sign(
2578 [in] HashAlgo hashAlgo,
2579 [in, size_is(cbInput)] byte* pbInput,
2580 [in] ULONG cbInput,
2581 [out, size_is(*pcbSignature)] byte* pbSignature,
2582 [in,out] ULONG *pcbSignature,
2583 [in] ULONG flags
2584 );
2585
2598 [id(26), helpstring("method SetProperty")]
2599 HRESULT SetProperty(
2600 [in] LPCWSTR pszProperty,
2601 [in, size_is(cbInput)] byte* pbInput,
2602 [in] ULONG cbInput,
2603 [in] ULONG dwFlags
2604 );
2605};
2606
2613[
2614 object,
2615 uuid(67888DE9-428E-4CCE-B0A5-97D0883142A6),
2616 oleautomation,
2617 dual,
2618 nonextensible,
2619 helpstring("IProxySettings Interface"),
2620 pointer_default(unique)
2621]
2622interface IProxySettings : IDispatch
2623{
2629 [propput, id(1), helpstring("property Host")]
2630 HRESULT Host([in] BSTR newValue);
2631 [propget, id(1), helpstring("property Host")]
2632 HRESULT Host([out, retval] BSTR* retval);
2633
2639 [propput, id(2), helpstring("property Port")]
2640 HRESULT Port([in] long newValue);
2641 [propget, id(2), helpstring("property Port")]
2642 HRESULT Port([out, retval] long* retval);
2643
2650 [propput, id(3), helpstring("property Type")]
2651 HRESULT Type([in] ProxyType newValue);
2652 [propget, id(3), helpstring("property Type")]
2653 HRESULT Type([out, retval] ProxyType* retval);
2660 [propput, id(4), helpstring("property Authentication")]
2661 HRESULT Authentication([in] VARIANT_BOOL newValue);
2662 [propget, id(4), helpstring("property Authentication")]
2663 HRESULT Authentication([out, retval] VARIANT_BOOL* retval);
2664
2670 [propput, id(5), helpstring("property Username")]
2671 HRESULT Username([in] BSTR newValue);
2672 [propget, id(5), helpstring("property Username")]
2673 HRESULT Username([out, retval] BSTR* retval);
2674
2680 [propput, id(6), helpstring("property Password")]
2681 HRESULT Password([in] BSTR newValue);
2682 [propget, id(6), helpstring("property Password")]
2683 HRESULT Password([out, retval] BSTR* retval);
2684
2690 [propput, id(8), helpstring("property ProtocolFamily")]
2691 HRESULT ProtocolFamily([in] long newValue);
2692 [propget, id(8), helpstring("property ProtocolFamily")]
2693 HRESULT ProtocolFamily([out, retval] long* retval);
2694
2700 [propput, id(9), helpstring("property ProtocolFamilyPreference")]
2701 HRESULT ProtocolFamilyPreference([in] long newValue);
2702 [propget, id(9), helpstring("property ProtocolFamilyPreference")]
2703 HRESULT ProtocolFamilyPreference([out, retval] long* retval);
2704};
2705
2706[
2707 object,
2708 uuid(2A36B23A-4D39-47E6-A659-FF457D19AEC1),
2709 oleautomation,
2710 dual,
2711 nonextensible,
2712 helpstring("ISocketSettings Interface"),
2713 pointer_default(unique)
2714]
2715interface ISocketSettings : IDispatch
2716{
2724 [propput, id(114), helpstring("property SendBufferSize")]
2725 HRESULT SendBufferSize([in] long newValue);
2726 [propget, id(114), helpstring("property SendBufferSize")]
2727 HRESULT SendBufferSize([out, retval] long* retval);
2728
2737 [propput, id(115), helpstring("property ReceiveBufferSize")]
2738 HRESULT ReceiveBufferSize([in] long newValue);
2739 [propget, id(115), helpstring("property ReceiveBufferSize")]
2740 HRESULT ReceiveBufferSize([out, retval] long* retval);
2741
2757 [propput, id(164), helpstring("property AutoTuneSendBufferSize")]
2758 HRESULT AutoTuneSendBufferSize([in] VARIANT_BOOL newValue);
2759 [propget, id(164), helpstring("property AutoTuneSendBufferSize")]
2760 HRESULT AutoTuneSendBufferSize([out, retval] VARIANT_BOOL* retval);
2761
2777 [propput, id(163), helpstring("property AutoTuneReceiveBufferSize")]
2778 HRESULT AutoTuneReceiveBufferSize([in] VARIANT_BOOL newValue);
2779 [propget, id(163), helpstring("property AutoTuneReceiveBufferSize")]
2780 HRESULT AutoTuneReceiveBufferSize([out, retval] VARIANT_BOOL* retval);
2781
2801 [propput, id(9), helpstring("property TcpNoDelay")]
2802 HRESULT TcpNoDelay([in] VARIANT_BOOL newValue);
2803 [propget, id(9), helpstring("property TcpNoDelay")]
2804 HRESULT TcpNoDelay([out, retval] VARIANT_BOOL* retval);
2805};
2806
2807[
2808 object,
2809 uuid(43F64D39-D795-43E7-AD13-4AC58A16706E),
2810 oleautomation,
2811 dual,
2812 nonextensible,
2813 helpstring("ISpeedLimitSettings Interface"),
2814 pointer_default(unique)
2815]
2816interface ISpeedLimitSettings : IDispatch
2817{
2823 [propget, id(1), helpstring("property UploadSpeedLimit")]
2824 HRESULT UploadSpeedLimit([out, retval] long* retval);
2825 [propput, id(1), helpstring("property UploadSpeedLimit")]
2826 HRESULT UploadSpeedLimit([in] long newValue);
2827
2833 [propget, id(2), helpstring("property DownloadSpeedLimit")]
2834 HRESULT DownloadSpeedLimit([out, retval] long* retval);
2835 [propput, id(2), helpstring("property DownloadSpeedLimit")]
2836 HRESULT DownloadSpeedLimit([in] long newValue);
2837};
2838
2839[
2840 object,
2841 uuid(E73FB5C8-7B36-49D0-B491-C5C0E34640E3),
2842 pointer_default(unique)
2843]
2844interface ICompletionHandler : IUnknown
2845{
2846 HRESULT OnComplete([in] HRESULT error);
2847}
2848
2849[
2850 object,
2851 uuid(294F6B85-F0F9-4A29-8125-609C20BC4226),
2852 oleautomation,
2853 dual,
2854 nonextensible,
2855 helpstring("ITlsSocket Interface"),
2856 pointer_default(unique)
2857]
2858interface ITlsSocket : IDispatch
2859{
2860 [propget, id(13), helpstring("property Enabled")]
2861 HRESULT Enabled([out, retval] VARIANT_BOOL* retval);
2862
2871 [propput, id(14), helpstring("property ClientCertThumbprint")]
2872 HRESULT ClientCertThumbprint([in] VARIANT thumbprint);
2873 [propget, id(14), helpstring("property ClientCertThumbprint")]
2874 HRESULT ClientCertThumbprint([out, retval] VARIANT* retval);
2875
2883 [propput, id(15), helpstring("property ClientCertStore")]
2884 HRESULT ClientCertStore([in] BSTR newValue);
2885 [propget, id(15), helpstring("property ClientCertStore")]
2886 HRESULT ClientCertStore([out, retval] BSTR* retval);
2887
2896 [propput, id(16), helpstring("property ClientCertStoreLocation")]
2897 HRESULT ClientCertStoreLocation([in] long newValue);
2898 [propget, id(16), helpstring("property ClientCertStoreLocation")]
2899 HRESULT ClientCertStoreLocation([out, retval] long* retval);
2900
2911 [propget, id(20), helpstring("property ConnectionInfo")]
2912 HRESULT ConnectionInfo([out, retval] ISecurityConnectionInfo **retval);
2913
2919 [propget, id(17), helpstring("property RemoteCert")]
2920 HRESULT RemoteCert([out,retval] VARIANT* retval);
2921
2926 [propput, id(21), helpstring("property DisabledProtocols")]
2927 HRESULT DisabledProtocols([in] long newValue);
2928 [propget, id(21), helpstring("property DisabledProtocols")]
2929 HRESULT DisabledProtocols([out, retval] long* retval);
2930};
2931
2932[
2933 object,
2934 uuid(58B37E37-9F86-4348-8698-A3D7A0A81EF5),
2935 dual,
2936 nonextensible,
2937 helpstring("ISFTPExtendedCheckFileResult Interface"),
2938 pointer_default(unique)
2939]
2940interface ISFTPExtendedCheckFileResult : IDispatch
2941{
2951 [propget, id(1), helpstring("property HashAlgo")]
2952 HRESULT HashAlgo([out, retval] HashAlgo* retval);
2953
2969 [propget, id(2), helpstring("property HashAsString")]
2970 HRESULT HashAsString([out, retval] BSTR* retval);
2971};
2972
2973[
2974 object,
2975 uuid(BB665147-7336-47C5-AFF4-DB5819BD29CE),
2976 pointer_default(unique)
2977]
2978interface ILogger : IUnknown
2979{
2980 // midl doesn't support 64-bit SIZE_T for size_is()
2981 HRESULT Log([in] StatusEventType eventType, [in, size_is(textLength)] LPCWSTR text, [in] UINT textLength);
2982};
2983
2984[
2985 object,
2986 uuid(8ABB3C80-5D7E-4C5F-9B9E-41161B498114),
2987 pointer_default(unique)
2988]
2989interface IConnectionWithLogger : IUnknown
2990{
2991 HRESULT SetLogger([in, unique] ILogger* logger);
2992 HRESULT GetLogger([out] ILogger** logger);
2993};
2994
2995[
2996 object,
2997 uuid(BC45DF1A-883F-4CEB-B6EA-9DFC2F0E83B4),
2998 oleautomation,
2999 dual,
3000 nonextensible,
3001 helpstring("IFileLogger Interface"),
3002 pointer_default(unique)
3003]
3004interface IFileLogger : IDispatch
3005{
3010 [propput, id(1), helpstring("property File")]
3011 HRESULT File([in] BSTR newValue);
3012 [propget, id(1), helpstring("property File")]
3013 HRESULT File([out, retval] BSTR* retval);
3014
3019 [propput, id(2), helpstring("property Format")]
3020 HRESULT Format([in] LogFormat newValue);
3021 [propget, id(2), helpstring("property Format")]
3022 HRESULT Format([out, retval] LogFormat* retval);
3023
3024 [id(100), helpstring("method WriteLog")]
3025 HRESULT WriteLog([in] BSTR text);
3026};
3027
3028typedef [v1_enum] enum FTPItemAttribute
3029{
3030 [helpstring("ItemAttribute ftpFTPItemAttribute Size")] ftpFTPItemAttributeSize = 0x1,
3031 [helpstring("ItemAttribute ftpFTPItemAttribute Permissions")] ftpFTPItemAttributePermissions = 0x4,
3032 [helpstring("ItemAttribute ftpFTPItemAttribute AccessTime")] ftpFTPItemAttributeAccessTime = 0x8,
3033 [helpstring("ItemAttribute ftpFTPItemAttribute CreateTime")] ftpFTPItemAttributeCreateTime = 0x10,
3034 [helpstring("ItemAttribute ftpFTPItemAttribute ModifyTime")] ftpFTPItemAttributeModifyTime = 0x20,
3035 [helpstring("ItemAttribute ftpFTPItemAttribute ACL")] ftpFTPItemAttributeACL = 0x40,
3036 [helpstring("ItemAttribute ftpFTPItemAttribute SubSecondTimes")] ftpFTPItemAttributeSubSecondTimes = 0x100,
3037 [helpstring("ItemAttribute ftpFTPItemAttribute Bits")] ftpFTPItemAttributeBits = 0x200,
3038 [helpstring("ItemAttribute ftpFTPItemAttribute AllocationSize")] ftpFTPItemAttributeAllocationSize = 0x400,
3039 [helpstring("ItemAttribute ftpFTPItemAttribute TextHint")] ftpFTPItemAttributeTextHint = 0x800,
3040 [helpstring("ItemAttribute ftpFTPItemAttribute MimeType")] ftpFTPItemAttributeMimeType = 0x1000,
3041 [helpstring("ItemAttribute ftpFTPItemAttribute LinkCount")] ftpFTPItemAttributeLinkCount = 0x2000,
3042 [helpstring("ItemAttribute ftpFTPItemAttribute UntranslatedName")] ftpFTPItemAttributeUntranslatedName = 0x4000,
3043 [helpstring("ItemAttribute ftpFTPItemAttribute CTime")] ftpFTPItemAttributeCTime = 0x8000,
3044 [helpstring("ItemAttribute ftpFTPItemAttribute Extended")] ftpFTPItemAttributeExtended = 0x80000000,
3045 [helpstring("ItemAttribute ftpFTPItemAttribute Owner")] ftpFTPItemAttributeOwner = 0x10000,
3046 [helpstring("ItemAttribute ftpFTPItemAttribute UnixPermissions")] ftpFTPItemAttributeUnixPermissions = 0x20000,
3047 [helpstring("ItemAttribute ftpFTPItemAttribute WindowsAttributes")] ftpFTPItemAttributeWindowsAttributes = 0x40000,
3048 [helpstring("ItemAttribute ftpFTPItemAttribute Group")] ftpFTPItemAttributeGroup = 0x80000,
3050
3054[
3055 object,
3056 uuid(36CE9B15-1CF2-4E76-9D1B-069DDB0E7C9D),
3057 oleautomation,
3058 dual,
3059 nonextensible,
3060 helpstring("IFTPItem Interface"),
3061 pointer_default(unique)
3062]
3063interface IFTPItem : IDispatch
3064{
3068 [propput, id(1), helpstring("property Name")]
3069 HRESULT Name([in] BSTR newValue);
3070 [propget, id(1), helpstring("property Name")]
3071 HRESULT Name([out, retval] BSTR* retval);
3072
3076 [propput, id(2), helpstring("property Type")]
3077 HRESULT Type([in] ItemType newType);
3078 [propget, id(2), helpstring("property Type")]
3079 HRESULT Type([out, retval] ItemType* retval);
3084 [propput, id(3), helpstring("property Owner")]
3085 HRESULT Owner([in] BSTR newValue);
3086 [propget, id(3), helpstring("property Owner")]
3087 HRESULT Owner([out, retval] BSTR* retval);
3088
3092 [propput, id(4), helpstring("property Group")]
3093 HRESULT Group([in] BSTR newValue);
3094 [propget, id(4), helpstring("property Group")]
3095 HRESULT Group([out, retval] BSTR* retval);
3096
3117 [propput, id(5), helpstring("property Size")]
3118 HRESULT Size([in] ULONGLONG newValue);
3119 [propget, id(5), helpstring("property Size")]
3120 HRESULT Size([out, retval] ULONGLONG* retval);
3121
3140 [propget, id(6), helpstring("property SizeLo")]
3141 HRESULT SizeLo([out, retval] long* retval);
3142
3156 [propget, id(7), helpstring("property SizeHi")]
3157 HRESULT SizeHi([out, retval] long* retval);
3158
3175 [propput, id(10), helpstring("property ModifyTime")]
3176 HRESULT ModifyTime([in] FILETIME newValue);
3177 [propget, id(10), helpstring("property ModifyTime")]
3178 HRESULT ModifyTime([out, retval] FILETIME* retval);
3179
3180 [propput, id(9), helpstring("property ModifyTimeAsDate")]
3181 HRESULT ModifyTimeAsDate([in] VARIANT newValue);
3182 [propget, id(9), helpstring("property ModifyTimeAsDate")]
3183 HRESULT ModifyTimeAsDate([out, retval] VARIANT* retval);
3184
3201 [propput, id(16), helpstring("property AccessTime")]
3202 HRESULT AccessTime([in] FILETIME newValue);
3203 [propget, id(16), helpstring("property AccessTime")]
3204 HRESULT AccessTime([out, retval] FILETIME* retval);
3205
3222 [propput, id(17), helpstring("property CreateTime")]
3223 HRESULT CreateTime([in] FILETIME newValue);
3224 [propget, id(17), helpstring("property CreateTime")]
3225 HRESULT CreateTime([out, retval] FILETIME* retval);
3226
3248 [propput, id(28), helpstring("property CTime")]
3249 HRESULT CTime([in] FILETIME newValue);
3250 [propget, id(28), helpstring("property CTime")]
3251 HRESULT CTime([out, retval] FILETIME* retval);
3252
3253 [propput, id(12), helpstring("property CreateTimeAsDate")]
3254 HRESULT CreateTimeAsDate([in] VARIANT newValue);
3255 [propget, id(12), helpstring("property CreateTimeAsDate")]
3256 HRESULT CreateTimeAsDate([out, retval] VARIANT* retval);
3257
3258 [propput, id(15), helpstring("property AccessTimeAsDate")]
3259 HRESULT AccessTimeAsDate([in] VARIANT newValue);
3260 [propget, id(15), helpstring("property AccessTimeAsDate")]
3261 HRESULT AccessTimeAsDate([out, retval] VARIANT* retval);
3262
3263 [propput, id(27), helpstring("property CTimeAsDate")]
3264 HRESULT CTimeAsDate([in] VARIANT newValue);
3265 [propget, id(27), helpstring("property CTimeAsDate")]
3266 HRESULT CTimeAsDate([out, retval] VARIANT* retval);
3267
3284 [propput, id(20), helpstring("property AttributeBits")]
3285 HRESULT AttributeBits([in] long newValue);
3286 [propget, id(20), helpstring("property AttributeBits")]
3287 HRESULT AttributeBits([out, retval] long* retval);
3288
3309 [propput, id(21), helpstring("property ValidAttributeBits")]
3310 HRESULT ValidAttributeBits([in] long newValue);
3311 [propget, id(21), helpstring("property ValidAttributeBits")]
3312 HRESULT ValidAttributeBits([out, retval] long* retval);
3313
3338 [propput, id(22), helpstring("property UnixFilePermissions")]
3339 HRESULT UnixFilePermissions([in] long newValue);
3340 [propget, id(22), helpstring("property UnixFilePermissions")]
3341 HRESULT UnixFilePermissions([out, retval] long* retval);
3342
3363 [propput, id(23), helpstring("property AllocationSize")]
3364 HRESULT AllocationSize([in] ULONGLONG newValue);
3365 [propget, id(23), helpstring("property AllocationSize")]
3366 HRESULT AllocationSize([out, retval] ULONGLONG* retval);
3367
3368 [propput, id(24), helpstring("property MimeType")]
3369 HRESULT MimeType([in] BSTR newValue);
3370 [propget, id(24), helpstring("property MimeType")]
3371 HRESULT MimeType([out, retval] BSTR* retval);
3391 [propput, id(25), helpstring("property LinkPoint")]
3392 HRESULT LinkPoint([in] BSTR newValue);
3393 [propget, id(25), helpstring("property LinkPoint")]
3394 HRESULT LinkPoint([out, retval] BSTR* retval);
3395
3396 [propput, id(26), helpstring("property Unique")]
3397 HRESULT Unique([in] BSTR newValue);
3398 [propget, id(26), helpstring("property Unique")]
3399 HRESULT Unique([out, retval] BSTR* retval);
3400
3414 [propput, id(29), helpstring("property UTC")]
3415 HRESULT UTC([in] VARIANT_BOOL newValue);
3416 [propget, id(29), helpstring("property UTC")]
3417 HRESULT UTC([out, retval] VARIANT_BOOL* retval);
3418
3419 [propput, id(30), helpstring("property TimePrecision")]
3420 HRESULT TimePrecision([in] long newValue);
3421 [propget, id(30), helpstring("property TimePrecision")]
3422 HRESULT TimePrecision([out, retval] long * retval);
3423
3436 [id(101), helpstring("method IsValidAttribute")]
3437 HRESULT IsValidAttribute([in] FTPItemAttribute attribute, [out, retval] VARIANT_BOOL* retval);
3438};
3439
3440[
3441 object,
3442 uuid(9055CECB-7F8F-4B16-AA4D-4D21CC6485E9),
3443 dual,
3444 oleautomation,
3445 nonextensible,
3446 helpstring("IFTPItems Interface"),
3447 pointer_default(unique)
3448]
3449interface IFTPItems : IDispatch
3450{
3459 [propget, id(DISPID_VALUE), helpstring("method Item")]
3460 HRESULT Item( [in] long index, [out,retval] IFTPItem** item);
3462 [propget, id(DISPID_NEWENUM), restricted, helpstring("method _NewEnum")]
3463 HRESULT _NewEnum([out, retval] IUnknown** retval);
3464
3477 [propget, id(1), helpstring("property Count")]
3478 HRESULT Count([out, retval] long* retval);
3479
3480 HRESULT GetAt([in] UINT index, [out,retval] IFTPItem** item);
3481 [propget] HRESULT Size([out, retval] UINT* size);
3482};
3483
3494[
3495 object,
3496 uuid(8C1FDFC9-14A3-478F-88A2-EFF54CA87662),
3497 pointer_default(unique)
3498]
3499interface ITransferProgressEvents : IUnknown
3500{
3516 HRESULT OnTransferProgress([in] ULONGLONG bytesTransferred);
3517};
3518
3519interface ISFTPSpaceAvailable;
3520
3521[ uuid(65D75061-6343-4124-9D64-64F1EABB34C2), // IID_IFTPConnection
3522 object,
3523 oleautomation,
3524 dual,
3525 nonextensible,
3526 helpstring("IFTPConnection Interface"),
3527 pointer_default(unique)
3528]
3529interface IFTPConnection : IDispatch
3530{
3531 // OperationHandler
3535 [propget, id(2), helpstring("property Busy")]
3536 HRESULT Busy([out, retval] VARIANT_BOOL* retval);
3537
3558 [propget, id(119), helpstring("property Aborted")]
3559 HRESULT Aborted([out, retval] VARIANT_BOOL* retval);
3560
3587 [propput, id(117), helpstring("property UseMessageLoop")]
3588 HRESULT UseMessageLoop([in] VARIANT_BOOL newValue);
3589 [propget, id(117), helpstring("property UseMessageLoop")]
3590 HRESULT UseMessageLoop([out, retval] VARIANT_BOOL* retval);
3591
3608 [propput, id(19), helpstring("property Timeout")]
3609 HRESULT Timeout([in] long newValue);
3610 [propget, id(19), helpstring("property Timeout")]
3611 HRESULT Timeout([out, retval] long* retval);
3612
3613 // IConnection
3614
3624 [propget, id(3), helpstring("property ConnectionStatus")]
3625 HRESULT ConnectionStatus([out, retval] ConnectionStatus* retval);
3626
3635 [propput, id(4), helpstring("property Host")]
3636 HRESULT Host([in] BSTR newValue);
3637 [propget, id(4), helpstring("property Host")]
3638 HRESULT Host([out, retval] BSTR* retval);
3639
3654 [propput, id(5), helpstring("property Port")]
3655 HRESULT Port([in] long newValue);
3656 [propget, id(5), helpstring("property Port")]
3657 HRESULT Port([out, retval] long* retval);
3658
3671 [propput, id(22), helpstring("property ProtocolFamilyPreference")]
3672 HRESULT ProtocolFamilyPreference([in] ProtocolFamily newValue);
3673 [propget, id(22), helpstring("property ProtocolFamilyPreference")]
3674 HRESULT ProtocolFamilyPreference([out, retval] ProtocolFamily* retval);
3675
3686 [propget, id(91), helpstring("property ProtocolFamily")]
3687 HRESULT ProtocolFamily([out, retval] ProtocolFamily* retval);
3688
3689 // IFTPConnection
3690
3711 // TODO: rename to EnableLogin/EnableAuthentication
3712 [propput, id(122), helpstring("property Login")]
3713 HRESULT Login([in] VARIANT_BOOL newValue);
3714 [propget, id(122), helpstring("property Login")]
3715 HRESULT Login([out, retval] VARIANT_BOOL * retval);
3716
3740 [propput, id(6), helpstring("property Username")]
3741 HRESULT Username([in] BSTR newValue);
3742 [propget, id(6), helpstring("property Username")]
3743 HRESULT Username([out, retval] BSTR* retval);
3744
3765 [propput, id(7), helpstring("property Password")]
3766 HRESULT Password([in] BSTR newValue);
3767 [propget, id(7), helpstring("property Password")]
3768 HRESULT Password([out, retval] BSTR* retval);
3769
3787 [propput, id(8), helpstring("property Protocol")]
3788 HRESULT Protocol([in] FTPProtocol newValue);
3789 [propget, id(8), helpstring("property Protocol")]
3790 HRESULT Protocol([out, retval] FTPProtocol* retval);
3791
3819 [propput, id(9), helpstring("property PortMode")]
3820 HRESULT PortMode([in] PortMode newValue);
3821 [propget, id(9), helpstring("property PortMode")]
3822 HRESULT PortMode([out, retval] PortMode* retval);
3823
3846 [propput, id(10), helpstring("property PortIP")]
3847 HRESULT PortIP([in] BSTR newValue);
3848 [propget, id(10), helpstring("property PortIP")]
3849 HRESULT PortIP([out, retval] BSTR* retval);
3850
3877 // TODO: rename to UsePassiveMode
3878 [propput, id(11), helpstring("property Passive")]
3879 HRESULT Passive([in] VARIANT_BOOL newValue);
3880 [propget, id(11), helpstring("property Passive")]
3881 HRESULT Passive([out, retval] VARIANT_BOOL* retval);
3882
3895 [propput, id(12), helpstring("property DataTransferType")]
3896 HRESULT DataTransferType([in] DataTransferType newValue);
3897 [propget, id(12), helpstring("property DataTransferType")]
3898 HRESULT DataTransferType([out, retval] DataTransferType* retval);
3899
3900 [propput, id(13), helpstring("property DataProtection")]
3901 HRESULT DataProtection([in] DataProtection newValue);
3902 [propget, id(13), helpstring("property DataProtection")]
3903 HRESULT DataProtection([out, retval] DataProtection* retval);
3904
3905 [propput, id(165), helpstring("property CommandProtection")]
3906 HRESULT CommandProtection([in] DataProtection newValue);
3907 [propget, id(165), helpstring("property CommandProtection")]
3908 HRESULT CommandProtection([out, retval] DataProtection* retval);
3909
3941 [propput, id(106), helpstring("property PROTFallback")]
3942 HRESULT PROTFallback([in] VARIANT_BOOL newValue);
3943 [propget, id(106), helpstring("property PROTFallback")]
3944 HRESULT PROTFallback([out, retval] VARIANT_BOOL* retval);
3945
3946 [propput, id(20), helpstring("property CodePage")]
3947 HRESULT CodePage([in] long newValue);
3948 [propget, id(20), helpstring("property CodePage")]
3949 HRESULT CodePage([out, retval] long* retval);
3950
3978 [propput, id(21), helpstring("property PassiveMode")]
3979 HRESULT PassiveMode([in] PassiveMode newValue);
3980 [propget, id(21), helpstring("property PassiveMode")]
3981 HRESULT PassiveMode([out, retval] PassiveMode* retval);
3982
4011 [propput, id(23), helpstring("property LimitLocalPortRange")]
4012 HRESULT LimitLocalPortRange([in] VARIANT_BOOL newValue);
4013 [propget, id(23), helpstring("property LimitLocalPortRange")]
4014 HRESULT LimitLocalPortRange([out, retval] VARIANT_BOOL* retval);
4015
4047 [propput, id(24), helpstring("property UseMLSD")]
4048 HRESULT UseMLSD([in] VARIANT_BOOL newValue);
4049 [propget, id(24), helpstring("property UseMLSD")]
4050 HRESULT UseMLSD([out, retval] VARIANT_BOOL* retval);
4051
4065 [propput, id(25), helpstring("property DataTransferMode")]
4066 HRESULT DataTransferMode([in] DataTransferMode newValue);
4067 [propget, id(25), helpstring("property DataTransferMode")]
4068 HRESULT DataTransferMode([out, retval] DataTransferMode* retval);
4069
4100 [propput, id(26), helpstring("property LISTOption")]
4101 HRESULT LISTOption([in] long newValue);
4102 [propget, id(26), helpstring("property LISTOption")]
4103 HRESULT LISTOption([out, retval] long* retval);
4104
4124 [propput, id(27), helpstring("property DataTransferSpeedLimit")]
4125 HRESULT DataTransferSpeedLimit([in] long newValue);
4126 [propget, id(27), helpstring("property DataTransferSpeedLimit")]
4127 HRESULT DataTransferSpeedLimit([out, retval] long* retval);
4128
4152 [propput, id(89), helpstring("property SSCN")]
4153 HRESULT SSCN([in] VARIANT_BOOL newValue);
4154 [propget, id(89), helpstring("property SSCN")]
4155 HRESULT SSCN([out, retval] VARIANT_BOOL* retval);
4156
4188 [propput, id(101), helpstring("property FeatureDiscovery")]
4189 HRESULT FeatureDiscovery([in] FeatureDiscoveryMode newValue);
4190 [propget, id(101), helpstring("property FeatureDiscovery")]
4191 HRESULT FeatureDiscovery([out, retval] FeatureDiscoveryMode* retval);
4192
4221 [propput, id(116), helpstring("property FileBufferSize")]
4222 HRESULT FileBufferSize([in] long newValue);
4223 [propget, id(116), helpstring("property FileBufferSize")]
4224 HRESULT FileBufferSize([out, retval] long* retval);
4250 [propget, id(136), helpstring("property IdleKeepAlive")]
4251 HRESULT IdleKeepAlive([out, retval] VARIANT_BOOL* retval);
4252 [propput, id(136), helpstring("property IdleKeepAlive")]
4253 HRESULT IdleKeepAlive([in] VARIANT_BOOL newValue);
4254
4283 [propget, id(137), helpstring("property TransferKeepAlive")]
4284 HRESULT TransferKeepAlive([out, retval] VARIANT_BOOL* retval);
4285 [propput, id(137), helpstring("property TransferKeepAlive")]
4286 HRESULT TransferKeepAlive([in] VARIANT_BOOL newValue);
4287
4313 [propput, id(133), helpstring("property KeepAliveInterval")]
4314 HRESULT KeepAliveInterval([in] long newValue);
4315 [propget, id(133), helpstring("property KeepAliveInterval")]
4316 HRESULT KeepAliveInterval([out, retval] long *retval);
4317
4343 [propput, id(162), helpstring("property ClientId")]
4344 HRESULT ClientId([in] IFTPClientId* newValue);
4345 [propget, id(162), helpstring("property ClientId")]
4346 HRESULT ClientId([out, retval] IFTPClientId** retval);
4347
4375 [propput, id(98), helpstring("property HidePassword")]
4376 HRESULT HidePassword([in] VARIANT_BOOL newValue);
4377 [propget, id(98), helpstring("property HidePassword")]
4378 HRESULT HidePassword([out, retval] VARIANT_BOOL* retval);
4379
4388 [propget, id(43), helpstring("property WorkingDirectory")]
4389 HRESULT WorkingDirectory([out, retval] BSTR* retval);
4390
4412 [propget, id(102), helpstring("property PeerName")]
4413 HRESULT PeerName([out, retval] BSTR* retval);
4414
4426 [propget, id(134), helpstring("property ServerState")]
4427 HRESULT ServerState([out, retval] IFTPServerState **retval);
4428
4439 [propget, id(138), helpstring("property Proxy")]
4440 HRESULT Proxy([out, retval] IProxySettings** retval);
4441
4453 // TODO: rename to ITlsSocket
4454 [propget, id(14), helpstring("property SSLSocketLayer")]
4455 HRESULT SSLSocketLayer([out, retval] ITlsSocket** retval);
4456
4467 [propget, id(15), helpstring("property SocketSettings")]
4468 HRESULT SocketSettings([out, retval] ISocketSettings** retval);
4469
4480 [propget, id(16), helpstring("property SpeedLimitSettings")]
4481 HRESULT SpeedLimitSettings([out, retval] ISpeedLimitSettings** retval);
4482
4496 [propput, id(18), helpstring("property Logger")]
4497 HRESULT Logger([in] ILogger* logger);
4498
4514 [propput, id(139), helpstring("property CompressionLevel")]
4515 HRESULT CompressionLevel([in] long newValue);
4516 [propget, id(139), helpstring("property CompressionLevel")]
4517 HRESULT CompressionLevel([out, retval] long* retval);
4518
4543 [propget, id(47), helpstring("property LastReply")] HRESULT
4544 LastReply([out, retval] BSTR* retval);
4545
4560 [propget, id(48), helpstring("property LastReplyCode")]
4561 HRESULT LastReplyCode([out, retval] long *retval);
4577 [propget, id(112), helpstring("property LastCommand")]
4578 HRESULT LastCommand([out, retval] BSTR* retval);
4579
4600 [propget, id(51), helpstring("property LastError")]
4601 HRESULT LastError([out, retval] HRESULT* retval);
4602
4628 [propget, id(160), helpstring("property LastDataConnectionError")]
4629 HRESULT LastDataConnectionError([out, retval] HRESULT* retval);
4630
4643 [propget, id(55), helpstring("property LastTransferBytes")]
4644 HRESULT LastTransferBytes([out, retval] ULONGLONG *retval);
4645
4657 [propget, id(56), helpstring("property LastTransferBytesLo")]
4658 HRESULT LastTransferBytesLo([out, retval] long *retval);
4659
4674 [propget, id(108), helpstring("property LastTransferBytesHi")]
4675 HRESULT LastTransferBytesHi([out, retval] long *retval);
4676
4689 [propget, id(57), helpstring("property LastTransferTime")]
4690 HRESULT LastTransferTime([out, retval] long *retval);
4691
4709 [propget, id(58), helpstring("property LastTransferSpeed")]
4710 HRESULT LastTransferSpeed([out, retval] long *retval);
4711
4736 [propput, id(93), helpstring("property PassiveAddress")]
4737 HRESULT PassiveAddress([in] BSTR newValue);
4738 [propget, id(93), helpstring("property PassiveAddress")]
4739 HRESULT PassiveAddress([out, retval] BSTR* retval);
4740
4766 [propput, id(110), helpstring("property Account")]
4767 HRESULT Account([in] BSTR newValue);
4768 [propget, id(110), helpstring("property Account")]
4769 HRESULT Account([out, retval] BSTR* retval);
4770
4774 [id(62), helpstring("method Abort")]
4775 HRESULT Abort();
4776
4781 [id(92), helpstring("method Continue")]
4782 HRESULT Continue();
4783
4784 // IFTPConnection
4790 [id(61), helpstring("method Close")]
4791 HRESULT Close();
4792
4796 [id(63), helpstring("method Connect")]
4797 HRESULT Connect();
4798
4809 [id(64), helpstring("method Disconnect")]
4810 HRESULT Disconnect();
4811
4817 [id(65), helpstring("method ChangeDirectory")]
4818 HRESULT ChangeDirectory([in] BSTR directory);
4819
4834 [id(147), helpstring("method UpdateWorkingDirectory")]
4835 HRESULT UpdateWorkingDirectory();
4836
4847 [id(66), helpstring("method DownloadFile")]
4848 HRESULT DownloadFile([in] BSTR remoteFile, [in] BSTR localFile, [in] long startPositionLo, [in] long startPositionHi);
4850 [id(150), helpstring("method DownloadFromCommand")]
4851 HRESULT DownloadFromCommand([in] BSTR command, [in] VARIANT localFile, [in] long remoteStartPosLo, [in] long remoteStartPosHi);
4852
4884 [id(123), helpstring("method DownloadFileEx")]
4885 HRESULT DownloadFileEx([in] BSTR remoteFile, [in] VARIANT localFile, [in] ULONGLONG startPosition, [in] ULONGLONG endPosition, [in] ITransferProgressEvents* progress);
4886
4907 [id(68), helpstring("method UploadFile")]
4908 HRESULT UploadFile([in] BSTR localFile, [in] BSTR remoteFile, [in] long startPositionLo, [in] long startPositionHi);
4909
4938 [id(124), helpstring("method UploadFileEx")]
4939 HRESULT UploadFileEx([in] VARIANT localFile, [in] BSTR remoteFile, [in] ULONGLONG startPosition, [in] ITransferProgressEvents* progress);
4940
4956 [id(121), helpstring("method NewFile")]
4957 HRESULT NewFile([in] BSTR file);
4958
4967 [id(69), helpstring("method ChangeDirectoryUp")]
4968 HRESULT ChangeDirectoryUp();
4969
4986 [id(70), helpstring("method RenameFile")]
4987 HRESULT RenameFile([in] BSTR fileFrom, [in] BSTR fileTo);
4988
4995 [id(71), helpstring("method DeleteFile")]
4996 HRESULT DeleteFile([in] BSTR file);
4997
5014 [id(72), helpstring("method RenameDirectory")]
5015 HRESULT RenameDirectory([in] BSTR directoryFrom, [in] BSTR directoryTo);
5032 [id(73), helpstring("method RemoveDirectory")]
5033 HRESULT RemoveDirectory([in] BSTR directory);
5034
5040 [id(74), helpstring("method Command")]
5041 HRESULT Command([in] BSTR command);
5042
5052 [id(75), helpstring("method MakeDirectory")]
5053 HRESULT MakeDirectory([in] BSTR directory);
5072 [id(76), helpstring("method GetFileSize")]
5073 HRESULT GetFileSize([in] BSTR file, [out, retval] ULONGLONG* retval);
5074
5081 [id(78), helpstring("method GetFileSize32")]
5082 HRESULT GetFileSize32([in] BSTR file, [out, retval] long* retval);
5083
5099 [id(77), helpstring("method ReadDirectory")]
5100 HRESULT ReadDirectory([out, retval] IFTPItems** retval);
5101
5102 [id(153), helpstring("method ReadDirectoryEx")]
5103 HRESULT ReadDirectoryEx([in] ITransferProgressEvents* progress, [out, retval] IFTPItems** retval);
5104
5105 [id(118), helpstring("method ReadDirectoryFromCommand")]
5106 HRESULT ReadDirectoryFromCommand([in] BSTR command, [out, retval] IFTPItems** retval);
5107
5125 [id(79), helpstring("method ReadDirectoryRaw")]
5126 HRESULT ReadDirectoryRaw([in] VARIANT localFile);
5127
5143 [id(80), helpstring("method GetModifyTime")]
5144 HRESULT GetModifyTime([in] BSTR file, [out, retval] FILETIME* retval);
5145
5156 [id(81), helpstring("method GetModifyTimeAsDate")]
5157 HRESULT GetModifyTimeAsDate([in] BSTR file, [out, retval] VARIANT* retval);
5158
5159// [id(139), helpstring("method GetItem")]
5160// HRESULT GetItem([in] BSTR name, [out, retval] IFTPItem** retval);\
5161
5162 [id(140), helpstring("method GetMLST")]
5163 HRESULT GetMLST([in] BSTR name, [out, retval] IFTPItem** retval);
5164
5175 [id(141), helpstring("method Stat")]
5176 HRESULT Stat([in] BSTR name, [out, retval] IFTPItems** retval);
5177
5198 [id(83), helpstring("method SetModifyTime")]
5199 HRESULT SetModifyTime([in] BSTR file, [in] FILETIME time);
5200
5217 [id(85), helpstring("method SetModifyTimeAsDate")]
5218 HRESULT SetModifyTimeAsDate([in] BSTR file, [in] VARIANT date);
5219
5240 [id(170), helpstring("method SetCreateTime")]
5241 HRESULT SetCreateTime([in] BSTR file, [in] FILETIME time);
5242
5259 [id(171), helpstring("method SetCreateTimeAsDate")]
5260 HRESULT SetCreateTimeAsDate([in] BSTR file, [in] VARIANT date);
5261
5285 [id(84), helpstring("method SetUnixPermissions")]
5286 HRESULT SetUnixPermissions([in] BSTR name, [in] long permissions);
5287
5300 [id(86), helpstring("method GetFileHash")]
5301 HRESULT GetFileHash([in] HashAlgo algo, [in] BSTR file, [in] ULONGLONG start, [in] ULONGLONG length, [out, retval] BSTR* retval);
5302
5309 [id(88), helpstring("method ClearCommandChannel")]
5310 HRESULT ClearCommandChannel();
5311
5326 [id(90), helpstring("method InitializeTransfer")]
5327 HRESULT InitializeTransfer();
5328
5368 [id(94), helpstring("method FXPDownloadFile")]
5369 HRESULT FXPDownloadFile([in] BSTR remoteFile, [in] ULONGLONG startPosition);
5370
5410 [id(95), helpstring("method FXPUploadFile")]
5411 HRESULT FXPUploadFile([in] BSTR remoteFile, [in] ULONGLONG startPosition);
5412
5427 [id(174), helpstring("method GetSpaceAvailable")]
5428 HRESULT GetSpaceAvailable([in] BSTR path, [out, retval] ISFTPSpaceAvailable** retval);
5429
5430 [id(176), helpstring("method CopyFile")]
5431 HRESULT CopyFile([in] BSTR sourceFile, [in] BSTR destinationFile);
5432
5448 [id(177), helpstring("method SetFileLogger")]
5449 HRESULT SetFileLogger([out, retval] IFileLogger** fileLogger);
5450};
5451
5452[ object,
5453 uuid(DB80022E-14E3-4af0-B075-46C3889E15EB), // IID_IFTPParser
5454 nonextensible,
5455 pointer_default(unique)
5456]
5457interface IFTPParser : IUnknown
5458{
5459 HRESULT Initialize([in] ParserFormat format);
5460 HRESULT ParseLine([in] LPCWSTR line, [out, retval] IFTPItem** item);
5461};
5462
5470[ object,
5471 uuid(B1798D9B-1282-4A31-BCF3-75609768B745), // IID_IFTPParserD
5472 oleautomation,
5473 nonextensible,
5474 helpstring("IFTPParserD Interface"),
5475 pointer_default(unique)
5476]
5477interface IFTPParserD : IDispatch
5478{
5487 [id(10), helpstring("method Initialize")]
5488 HRESULT Initialize([in] ParserFormat format);
5489
5507 [id(11), helpstring("method ParseLine")]
5508 HRESULT ParseLine([in] BSTR line, [out, retval] IFTPItem** item);
5509};
5510
5511[
5512 object,
5513 uuid(44ABDFAD-4F53-4CB3-8B68-3F70AB7943FB),
5514 oleautomation,
5515 dual,
5516 nonextensible,
5517 helpstring("IFTPFXP Interface"),
5518 pointer_default(unique)
5519]
5520interface IFTPFXP : IDispatch
5521{
5534 [propput, id(3), helpstring("property Source")]
5535 HRESULT Source([in] IFTPConnection *newValue);
5536 [propget, id(3), helpstring("property Source")]
5537 HRESULT Source([out, retval] IFTPConnection** retval);
5538
5551 [propput, id(4), helpstring("property Destination")]
5552 HRESULT Destination([in] IFTPConnection *newValue);
5553 [propget, id(4), helpstring("property Destination")]
5554 HRESULT Destination([out, retval] IFTPConnection** retval);
5555
5587 [id(10), helpstring("method FXPFile")]
5588 HRESULT FXPFile([in] BSTR sourceFile, [in] BSTR destinationFile, [in] long startPositionLo, [in] long startPositionHi);
5589
5590 [local] HRESULT FXPFileEx([in] LPCWSTR sourceFile, [in] LPCWSTR destinationFile, [in] ULONGLONG startPosition, [in] HANDLE cancelEvent);
5591};
5592
5593typedef [v1_enum] enum SSHServerSoftware
5594{
5595 [helpstring("SSHServerSoftware ftpSSHServerSoftware Unknown")] ftpSSHServerSoftwareUnknown = 0,
5596 [helpstring("SSHServerSoftware ftpSSHServerSoftware VShell")] ftpSSHServerSoftwareVShell = 1,
5597 [helpstring("SSHServerSoftware ftpSSHServerSoftware SSHTectia")] ftpSSHServerSoftwareSSHTectia = 2,
5598 [helpstring("SSHServerSoftware ftpSSHServerSoftware OpenSSH")] ftpSSHServerSoftwareOpenSSH = 3,
5599 [helpstring("SSHServerSoftware ftpSSHServerSoftware Titan")] ftpSSHServerSoftwareTitan = 4,
5600 [helpstring("SSHServerSoftware ftpSSHServerSoftware GSFTPS")] ftpSSHServerSoftwareGSFTPS = 5,
5601 [helpstring("SSHServerSoftware ftpSSHServerSoftware WinSSHD")] ftpSSHServerSoftwareWinSSHD = 6,
5602 [helpstring("SSHServerSoftware ftpSSHServerSoftware WSFTP")] ftpSSHServerSoftwareWSFTP = 7,
5603 [helpstring("SSHServerSoftware ftpSSHServerSoftware FTPShell")] ftpSSHServerSoftwareFTPShell = 8,
5604 [helpstring("SSHServerSoftware ftpSSHServerSoftware WeOnlyDo")] ftpSSHServerSoftwareWeOnlyDo = 9,
5605 [helpstring("SSHServerSoftware ftpSSHServerSoftware PragmaFortressSSH")] ftpSSHServerSoftwarePragmaFortressSSH = 10,
5606 [helpstring("SSHServerSoftware ftpSSHServerSoftware JSCAPE")] ftpSSHServerSoftwareJSCAPE = 11,
5607 [helpstring("SSHServerSoftware ftpSSHServerSoftware CoreFTP")] ftpSSHServerSoftwareCoreFTP = 12,
5608 [helpstring("SSHServerSoftware ftpSSHServerSoftware OpenVMS")] ftpSSHServerSoftwareOpenVMS = 13,
5609 [helpstring("SSHServerSoftware ftpSSHServerSoftware FSecure")] ftpSSHServerSoftwareFSecure = 14,
5610 [helpstring("SSHServerSoftware ftpSSHServerSoftware SSHcomOld")] ftpSSHServerSoftwareSSHcomOld = 15,
5611 [helpstring("SSHServerSoftware ftpSSHServerSoftware Sun")] ftpSSHServerSoftwareSun = 16,
5612 [helpstring("SSHServerSoftware ftpSSHServerSoftware ServU")] ftpSSHServerSoftwareServU = 17,
5613 [helpstring("SSHServerSoftware ftpSSHServerSoftware dropbear")] ftpSSHServerSoftwaredropbear = 18,
5614 [helpstring("SSHServerSoftware ftpSSHServerSoftware ReflectionForSecureIT")] ftpSSHServerSoftwareReflectionForSecureIT = 19,
5615 [helpstring("SSHServerSoftware ftpSSHServerSoftware SSHTools")] ftpSSHServerSoftwareSSHTools = 20,
5616 [helpstring("SSHServerSoftware ftpSSHServerSoftware GXSSSHD")] ftpSSHServerSoftwareGXSSSHD = 21,
5617 [helpstring("SSHServerSoftware ftpSSHServerSoftware ProFTPD")] ftpSSHServerSoftwareProFTPD = 22,
5618 [helpstring("SSHServerSoftware ftpSSHServerSoftware zFTPServer")] ftpSSHServerSoftwarezFTPServer = 23,
5619 [helpstring("SSHServerSoftware ftpSSHServerSoftware Maverick")] ftpSSHServerSoftwareMaverick = 24,
5620 [helpstring("SSHServerSoftware ftpSSHServerSoftware SecureTransport")] ftpSSHServerSoftwareSecureTransport = 25,
5621 [helpstring("SSHServerSoftware ftpSSHServerSoftware Xlight")] ftpSSHServerSoftwareXlight = 26
5623
5624typedef [v1_enum] enum SFTPStatus
5625{
5626// --- General Status ---
5627
5632 [helpstring("SFTPStatus ftpSFTPStatus Ok")]
5634
5641 [helpstring("SFTPStatus ftpSFTPStatus EOF")]
5643
5650 [helpstring("SFTPStatus ftpSFTPStatus Failure")]
5652
5658 [helpstring("SFTPStatus ftpSFTPStatus BadMessage")]
5660
5666 [helpstring("SFTPStatus ftpSFTPStatus OpUnsupported")]
5668
5669 // --- Connection State (Client Side) ---
5670
5675 [helpstring("SFTPStatus ftpSFTPStatus NoConnection")]
5677
5682 [helpstring("SFTPStatus ftpSFTPStatus ConnectionLost")]
5684
5685 // --- File & Path Existence ---
5686
5692 [helpstring("SFTPStatus ftpSFTPStatus NoSuchFile")]
5694
5701 [helpstring("SFTPStatus ftpSFTPStatus NoSuchPath")]
5703
5710 [helpstring("SFTPStatus ftpSFTPStatus FileAlreadyExists")]
5712
5719 [helpstring("SFTPStatus ftpSFTPStatus NotADirectory")]
5721
5728 [helpstring("SFTPStatus ftpSFTPStatus FileIsADirectory")]
5730
5736 [helpstring("SFTPStatus ftpSFTPStatus InvalidFilename")]
5738
5744 [helpstring("SFTPStatus ftpSFTPStatus LinkLoop")]
5746
5747 // --- Permissions & Access ---
5748
5754 [helpstring("SFTPStatus ftpSFTPStatus PermissionDenied")]
5756
5762 [helpstring("SFTPStatus ftpSFTPStatus WriteProtect")]
5764
5770 [helpstring("SFTPStatus ftpSFTPStatus CannotDelete")]
5772
5778 [helpstring("SFTPStatus ftpSFTPStatus DirNotEmpty")]
5780
5781 // --- Handles & Parameters ---
5782
5788 [helpstring("SFTPStatus ftpSFTPStatus InvalidHandle")]
5790
5796 [helpstring("SFTPStatus ftpSFTPStatus InvalidParameter")]
5798
5799 // --- Storage & Quotas (SFTP v6) ---
5800
5806 [helpstring("SFTPStatus ftpSFTPStatus NoMedia")]
5808
5814 [helpstring("SFTPStatus ftpSFTPStatus NoSpaceOnFilesystem")]
5816
5822 [helpstring("SFTPStatus ftpSFTPStatus QuotaExceeded")]
5824
5825 // --- Advanced Locking & Principals (SFTP v6) ---
5826
5832 [helpstring("SFTPStatus ftpSFTPStatus UnknownPrincipal")]
5834
5840 [helpstring("SFTPStatus ftpSFTPStatus LocalConflict")]
5842
5848 [helpstring("SFTPStatus ftpSFTPStatus ByteRangeLockConflict")]
5850
5856 [helpstring("SFTPStatus ftpSFTPStatus ByteRangeLockRefused")]
5858
5864 [helpstring("SFTPStatus ftpSFTPStatus DeletePending")]
5866
5872 [helpstring("SFTPStatus ftpSFTPStatus FileCorrupt")]
5874
5880 [helpstring("SFTPStatus ftpSFTPStatus OwnerInvalid")]
5882
5888 [helpstring("SFTPStatus ftpSFTPStatus GroupInvalid")]
5890
5896 [helpstring("SFTPStatus ftpSFTPStatus NoMatchingByteRangeLock")]
5899
5900// Forward declaration
5901interface IKey;
5902
5903[
5904 object,
5905 uuid(6807C542-6AE2-4E14-AF12-84C2E1A39E46),
5906 dual,
5907 nonextensible,
5908 helpstring("ISFTPStatVFS Interface"),
5909 pointer_default(unique)
5910]
5911interface ISFTPStatVFS : IDispatch
5912{
5914 [propget, id(1), helpstring("property bsize")] HRESULT bsize([out, retval] ULONGLONG* retval);
5915
5917 [propget, id(2), helpstring("property frsize")] HRESULT frsize([out, retval] ULONGLONG* retval);
5918
5920 [propget, id(3), helpstring("property blocks")] HRESULT blocks([out, retval] ULONGLONG* retval);
5921
5923 [propget, id(4), helpstring("property bfree")] HRESULT bfree([out, retval] ULONGLONG* retval);
5924
5926 [propget, id(5), helpstring("property bavail")] HRESULT bavail([out, retval] ULONGLONG* retval);
5927
5929 [propget, id(6), helpstring("property files")] HRESULT files([out, retval] ULONGLONG* retval);
5930
5932 [propget, id(7), helpstring("property ffree")] HRESULT ffree([out, retval] ULONGLONG* retval);
5933
5935 [propget, id(8), helpstring("property favail")] HRESULT favail([out, retval] ULONGLONG* retval);
5936
5938 [propget, id(9), helpstring("property fsid")] HRESULT fsid([out, retval] ULONGLONG* retval);
5939
5941 [propget, id(10), helpstring("property flag")] HRESULT flag([out, retval] ULONGLONG* retval);
5942
5944 [propget, id(11), helpstring("property namemax")] HRESULT namemax([out, retval] ULONGLONG* retval);
5945};
5946
5961[
5962 object,
5963 uuid(D117CF34-177D-49AB-BD19-46DC87857947),
5964 dual,
5965 nonextensible,
5966 helpstring("ISFTPVendorId Interface"),
5967 pointer_default(unique)
5968]
5969interface ISFTPVendorId : IDispatch
5970{
5986 [propput, id(1), helpstring("property VendorName")]
5987 HRESULT VendorName([in] BSTR newValue);
5988 [propget, id(1), helpstring("property VendorName")]
5989 HRESULT VendorName([out, retval] BSTR *retval);
5990
6005 [propput, id(2), helpstring("property ProductName")]
6006 HRESULT ProductName([in] BSTR newValue);
6007 [propget, id(2), helpstring("property ProductName")]
6008 HRESULT ProductName([out, retval] BSTR *retval);
6009
6024 [propput, id(3), helpstring("property ProductVersion")]
6025 HRESULT ProductVersion([in] BSTR newValue);
6026 [propget, id(3), helpstring("property ProductVersion")]
6027 HRESULT ProductVersion([out, retval] BSTR *retval);
6028
6044 [propput, id(4), helpstring("property ProductBuild")]
6045 HRESULT ProductBuild([in] ULONGLONG newValue);
6046 [propget, id(4), helpstring("property ProductBuild")]
6047 HRESULT ProductBuild([out, retval] ULONGLONG *retval);
6048};
6049
6050[
6051 object,
6052 uuid(F8D2F36D-B32D-45EF-965E-2DA153B3D523),
6053 dual,
6054 nonextensible,
6055 helpstring("ISFTPServerState Interface"),
6056 pointer_default(unique)
6057]
6058interface ISFTPServerState : IDispatch
6059{
6082 [propget, id(1), helpstring("property EOL")] HRESULT EOL([out, retval] BSTR *retval);
6083
6106 [propget, id(3), helpstring("property VendorId")] HRESULT VendorId([out, retval] ISFTPVendorId **retval);
6107
6133 [id(100), helpstring("method IsExtension")] HRESULT IsExtension([in] BSTR extension, [out, retval] VARIANT_BOOL *retval);
6134};
6135
6136typedef [v1_enum] enum GSSAPIMethod
6137{
6141 [helpstring("GSSAPIMethod Unknown")]
6143
6156 [helpstring("GSSAPIMethod MITKerberos")]
6158
6172 [helpstring("GSSAPIMethod MicrosoftKerberos")]
6175
6176[
6177 object,
6178 uuid(B79FF913-446B-442B-A541-049178F39605),
6179 dual,
6180 nonextensible,
6181 helpstring("ISFTPSpaceAvailable Interface"),
6182 pointer_default(unique)
6183]
6184interface ISFTPSpaceAvailable : IDispatch
6185{
6187 [propget, id(1), helpstring("property BytesOnDevice")]
6188 HRESULT BytesOnDevice([out, retval] ULONGLONG* retval);
6189
6191 [propget, id(2), helpstring("property UnusedBytesOnDevice")]
6192 HRESULT UnusedBytesOnDevice([out, retval] ULONGLONG* retval);
6195 [propget, id(3), helpstring("property BytesAvailableToUser")]
6196 HRESULT BytesAvailableToUser([out, retval] ULONGLONG* retval);
6197
6202 [propget, id(4), helpstring("property UnusedBytesAvailableToUser")]
6203 HRESULT UnusedBytesAvailableToUser([out, retval] ULONGLONG* retval);
6204
6206 [propget, id(5), helpstring("property BytesPerAllocationUnit")]
6207 HRESULT BytesPerAllocationUnit([out, retval] long* retval);
6208};
6209
6217[
6218 object,
6219 uuid(DEE0FBC7-4879-4CA5-83D9-8BF827D6A1D7),
6220 dual,
6221 nonextensible,
6222 helpstring("ISSHConnectionInfo Interface"),
6223 pointer_default(unique)
6224]
6225interface ISSHConnectionInfo : IDispatch
6226{
6230 [propget, id(1), helpstring("property KeyExchangeAlgorithm")] HRESULT KeyExchangeAlgorithm([out, retval] KeyExchange* retval);
6231
6235 [propget, id(2), helpstring("property KeyExchangeHashAlgorithm")] HRESULT KeyExchangeHashAlgorithm([out, retval] HashAlgo* retval);
6236
6237 [propget, id(3), helpstring("property ClientToServerEncryption")] HRESULT ClientToServerEncryption([out, retval] Encryption* retval);
6238
6242 [propget, id(4), helpstring("property ServerToClientEncryption")] HRESULT ServerToClientEncryption([out, retval] Encryption* retval);
6243
6247 [propget, id(5), helpstring("property ClientToServerCompression")] HRESULT ClientToServerCompression([out, retval] SSHCompression* retval);
6248
6252 [propget, id(6), helpstring("property ServerToClientCompression")] HRESULT ServerToClientCompression([out, retval] SSHCompression* retval);
6253
6261 [propget, id(7), helpstring("property ClientToServerMAC")] HRESULT ClientToServerMAC([out, retval] HMAC* retval);
6262
6270 [propget, id(8), helpstring("property ServerToClientMAC")] HRESULT ServerToClientMAC([out, retval] HMAC* retval);
6271
6275 [propget, id(9), helpstring("property HostKeyAlgorithm")] HRESULT HostKeyAlgorithm([out, retval] SSHPublicKeyAlgo* retval);
6276};
6277
6281[
6282 object,
6283 uuid(F63AF79B-4567-40B2-84A9-07F823750AC6),
6284 dual,
6285 nonextensible,
6286 helpstring("ISSHServerState Interface"),
6287 pointer_default(unique)
6288]
6289interface ISSHServerState : IDispatch
6290{
6297 [propget, id(26), helpstring("property ServerSoftware")] HRESULT ServerSoftware([out, retval] SSHServerSoftware* retval);
6298
6309 [propget, id(59), helpstring("property OperatingSystem")] HRESULT OperatingSystem([out, retval] OperatingSystem *retval);
6310
6324 [propget, id(27), helpstring("property RemoteId")] HRESULT RemoteId([out, retval] BSTR* retval);
6325};
6326
6327interface ISFTPConnection;
6328
6329[
6330 object,
6331 uuid(EAFA9ED3-6D11-44F6-B28D-EEA199508903),
6332 dual,
6333 nonextensible,
6334 helpstring("ISSHConnection Interface"),
6335 pointer_default(unique)
6336]
6337interface ISSHConnection : IDispatch
6338{
6339 // OperationHandler
6343 [propget, id(2), helpstring("property Busy")]
6344 HRESULT Busy([out, retval] VARIANT_BOOL* retval);
6345
6356 [propget, id(3), helpstring("property ConnectionInfo")]
6357 HRESULT ConnectionInfo([out, retval] ISSHConnectionInfo** retval);
6358
6368 [propget, id(14), helpstring("property ConnectionStatus")]
6369 HRESULT ConnectionStatus([out, retval] ConnectionStatus* retval);
6370
6397 [propput, id(117), helpstring("property UseMessageLoop")]
6398 HRESULT UseMessageLoop([in] VARIANT_BOOL newValue);
6399 [propget, id(117), helpstring("property UseMessageLoop")]
6400 HRESULT UseMessageLoop([out, retval] VARIANT_BOOL* retval);
6401
6410 [propput, id(4), helpstring("property Host")]
6411 HRESULT Host([in] BSTR newValue);
6412 [propget, id(4), helpstring("property Host")]
6413 HRESULT Host([out, retval] BSTR* retval);
6414
6429 [propput, id(5), helpstring("property Port")]
6430 HRESULT Port([in] long newValue);
6431 [propget, id(5), helpstring("property Port")]
6432 HRESULT Port([out, retval] long* retval);
6433
6444 [propget, id(20), helpstring("property ProtocolFamily")]
6445 HRESULT ProtocolFamily([out, retval] ProtocolFamily* retval);
6446
6459 [propput, id(22), helpstring("property ProtocolFamilyPreference")]
6460 HRESULT ProtocolFamilyPreference([in] ProtocolFamily newValue);
6461 [propget, id(22), helpstring("property ProtocolFamilyPreference")]
6462 HRESULT ProtocolFamilyPreference([out, retval] ProtocolFamily* retval);
6463
6464 // ISSHConnection
6465
6478 [propput, id(6), helpstring("property Username")]
6479 HRESULT Username([in] BSTR newValue);
6480 [propget, id(6), helpstring("property Username")]
6481 HRESULT Username([out, retval] BSTR* retval);
6482
6500 [propput, id(7), helpstring("property Password")]
6501 HRESULT Password([in] BSTR newValue);
6502 [propget, id(7), helpstring("property Password")]
6503 HRESULT Password([out, retval] BSTR* retval);
6504
6522 [propput, id(8), helpstring("property ClientId")]
6523 HRESULT ClientId([in] BSTR newValue);
6524 [propget, id(8), helpstring("property ClientId")]
6525 HRESULT ClientId([out, retval] BSTR* retval);
6526
6543 [propput, id(19), helpstring("property Timeout")]
6544 HRESULT Timeout([in] long newValue);
6545 [propget, id(19), helpstring("property Timeout")]
6546 HRESULT Timeout([out, retval] long* retval);
6547
6563 [propput, id(32), helpstring("property CompressionLevel")]
6564 HRESULT CompressionLevel([in] long newValue);
6565 [propget, id(32), helpstring("property CompressionLevel")]
6566 HRESULT CompressionLevel([out, retval] long* retval);
6567
6580 [propput, id(10), helpstring("property PrivateKey")]
6581 HRESULT PrivateKey([in] IKey *newValue);
6582 [propget, id(10), helpstring("property PrivateKey")]
6583 HRESULT PrivateKey([out, retval] IKey** retval);
6584
6610 [propput, id(40), helpstring("property AgentKeyBlob")]
6611 HRESULT AgentKeyBlob([in] VARIANT* newValue);
6612 [propget, id(40), helpstring("property AgentKeyBlob")]
6613 HRESULT AgentKeyBlob([out, retval] VARIANT* retval);
6640 [propput, id(11), helpstring("property Authentications")]
6641 HRESULT Authentications([in] VARIANT* newValue);
6642 [propget, id(11), helpstring("property Authentications")]
6643 HRESULT Authentications([out, retval] VARIANT* retval);
6644
6680 [propput, id(12), helpstring("property Encryptions")]
6681 HRESULT Encryptions([in] VARIANT* newValue);
6682 [propget, id(12), helpstring("property Encryptions")]
6683 HRESULT Encryptions([out, retval] VARIANT* retval);
6684
6721 [propput, id(13), helpstring("property MACs")]
6722 HRESULT MACs([in] VARIANT* newValue);
6723 [propget, id(13), helpstring("property MACs")]
6724 HRESULT MACs([out, retval] VARIANT* retval);
6725
6755 [propput, id(9), helpstring("property Compressions")]
6756 HRESULT Compressions([in] VARIANT* newValue);
6757 [propget, id(9), helpstring("property Compressions")]
6758 HRESULT Compressions([out, retval] VARIANT* retval);
6759
6797 [propput, id(25), helpstring("property KeyExchanges")]
6798 HRESULT KeyExchanges([in] VARIANT* newValue);
6799 [propget, id(25), helpstring("property KeyExchanges")]
6800 HRESULT KeyExchanges([out, retval] VARIANT* retval);
6801
6828 [propput, id(28), helpstring("property ClientHostKey")]
6829 HRESULT ClientHostKey([in] IKey *newValue);
6830 [propget, id(28), helpstring("property ClientHostKey")]
6831 HRESULT ClientHostKey([out, retval] IKey** retval);
6832
6851 [propput, id(29), helpstring("property ClientHostname")]
6852 HRESULT ClientHostname([in] BSTR newValue);
6853 [propget, id(29), helpstring("property ClientHostname")]
6854 HRESULT ClientHostname([out, retval] BSTR* retval);
6862 [propget, id(30), helpstring("property ServerHostKey")]
6863 HRESULT ServerHostKey([out, retval] IKey** retval);
6864
6896 [propput, id(33), helpstring("property KeepAliveInterval")]
6897 HRESULT KeepAliveInterval([in] long newValue);
6898 [propget, id(33), helpstring("property KeepAliveInterval")]
6899 HRESULT KeepAliveInterval([out, retval] long* retval);
6900
6911 [propget, id(31), helpstring("property Proxy")]
6912 HRESULT Proxy([out, retval] IProxySettings** retval);
6913
6927 [propput, id(18), helpstring("property Logger")]
6928 HRESULT Logger([in] ILogger* logger);
6929
6950 [propput, id(171), helpstring("property Languages")]
6951 HRESULT Languages([in] VARIANT* newValue);
6952 [propget, id(171), helpstring("property Languages")]
6953 HRESULT Languages([out, retval] VARIANT* retval);
6954
7004 [propput, id(172), helpstring("property ServerHostKeyAlgorithms")]
7005 HRESULT ServerHostKeyAlgorithms([in] VARIANT* newValue);
7006 [propget, id(172), helpstring("property ServerHostKeyAlgorithms")]
7007 HRESULT ServerHostKeyAlgorithms([out, retval] VARIANT* retval);
7027 [propput, id(173), helpstring("property GSSAPIMethod")]
7028 HRESULT GSSAPIMethod([in] GSSAPIMethod newValue);
7029 [propget, id(173), helpstring("property GSSAPIMethod")]
7030 HRESULT GSSAPIMethod([out, retval] GSSAPIMethod* retval);
7031
7059 [propput, id(175), helpstring("property UsePasswordForKeyboardInteractive")]
7060 HRESULT UsePasswordForKeyboardInteractive([in] VARIANT_BOOL newValue);
7061 [propget, id(175), helpstring("property UsePasswordForKeyboardInteractive")]
7062 HRESULT UsePasswordForKeyboardInteractive([out, retval] VARIANT_BOOL* retval);
7063
7070 [propget, id(174), helpstring("property ServerState")]
7071 HRESULT ServerState([out, retval] ISSHServerState** retval);
7072
7083 [propget, id(15), helpstring("property SocketSettings")]
7084 HRESULT SocketSettings([out, retval] ISocketSettings** retval);
7085
7096 [propget, id(16), helpstring("property SpeedLimitSettings")]
7097 HRESULT SpeedLimitSettings([out, retval] ISpeedLimitSettings** retval);
7098
7104 [id(61), helpstring("method Close")]
7105 HRESULT Close();
7106
7110 [id(62), helpstring("method Abort")]
7111 HRESULT Abort();
7112
7126 [id(63), helpstring("method Connect")]
7127 HRESULT Connect();
7128
7152 [id(64), helpstring("method Disconnect")]
7153 HRESULT Disconnect();
7154
7169 [id(65), helpstring("method CreateSFTPConnection")]
7170 HRESULT CreateSFTPConnection([out, retval] ISFTPConnection **retval);
7171
7172 HRESULT SendPacket([in, size_is(length)] byte* data, [in] long length);
7173
7189 [id(177), helpstring("method SetFileLogger")]
7190 HRESULT SetFileLogger([out, retval] IFileLogger** fileLogger);
7191};
7192
7193[
7194 object,
7195 uuid(AA8FBBFD-22DF-41EF-83D0-5ECDB6BD47E6),
7196 oleautomation,
7197 dual,
7198 nonextensible,
7199 helpstring("ISFTPConnection Interface"),
7200 pointer_default(unique)
7201]
7202interface ISFTPConnection : IDispatch
7203{
7204 // Connection
7208 [propget, id(2), helpstring("property Busy")]
7209 HRESULT Busy([out, retval] VARIANT_BOOL* retval);
7210
7237 [propput, id(117), helpstring("property UseMessageLoop")]
7238 HRESULT UseMessageLoop([in] VARIANT_BOOL newValue);
7239 [propget, id(117), helpstring("property UseMessageLoop")]
7240 HRESULT UseMessageLoop([out, retval] VARIANT_BOOL* retval);
7241
7258 [propput, id(19), helpstring("property Timeout")]
7259 HRESULT Timeout([in] long newValue);
7260 [propget, id(19), helpstring("property Timeout")]
7261 HRESULT Timeout([out, retval] long* retval);
7262
7263 // SFTP
7264
7271 [propget, id(1), helpstring("property SSHConnection")]
7272 HRESULT SSHConnection([out, retval] ISSHConnection** retval);
7273
7302 [propput, id(24), helpstring("property ProtocolVersionPreference")]
7303 HRESULT ProtocolVersionPreference([in] long newValue);
7304 [propget, id(24), helpstring("property ProtocolVersionPreference")]
7305 HRESULT ProtocolVersionPreference([out, retval] long* retval);
7306
7334 [propput, id(182), helpstring("property SFTPServerCommand")]
7335 HRESULT SFTPServerCommand([in] BSTR newValue);
7336 [propget, id(182), helpstring("property SFTPServerCommand")]
7337 HRESULT SFTPServerCommand([out, retval] BSTR* retval);
7338
7367 [propput, id(183), helpstring("property ServerLineTerminator")]
7368 HRESULT ServerLineTerminator([in] BSTR newValue);
7369 [propget, id(183), helpstring("property ServerLineTerminator")]
7370 HRESULT ServerLineTerminator([out, retval] BSTR* retval);
7371
7384 [propget, id(4), helpstring("property ProtocolVersion")]
7385 HRESULT ProtocolVersion([out, retval] long* retval);
7386
7398 [propget, id(3), helpstring("property Status")]
7399 HRESULT Status([out, retval] SFTPConnectionStatus* retval);
7400
7418 [propget, id(181), helpstring("property VendorId")]
7419 HRESULT VendorId([out, retval] ISFTPVendorId **retval);
7420 [propput, id(181), helpstring("property VendorId")]
7421 HRESULT VendorId([in] ISFTPVendorId *newValue);
7422
7436 [propput, id(53), helpstring("property Logger")]
7437 HRESULT Logger([in] ILogger* logger);
7438
7454 [propget, id(54), helpstring("property LastStatusCode")]
7455 HRESULT LastStatusCode([out, retval] SFTPStatus* retval);
7456
7477 [propget, id(50), helpstring("property LastStatusMessage")]
7478 HRESULT LastStatusMessage([out, retval] BSTR* retval);
7479
7492 [propget, id(14), helpstring("property LastTransferBytes")]
7493 HRESULT LastTransferBytes([out, retval] ULONGLONG* retval);
7494
7506 [propget, id(15), helpstring("property LastTransferBytesLo")]
7507 HRESULT LastTransferBytesLo([out, retval] long* retval);
7508
7523 [propget, id(16), helpstring("property LastTransferBytesHi")]
7524 HRESULT LastTransferBytesHi([out, retval] long* retval);
7525
7538 [propget, id(17), helpstring("property LastTransferTime")]
7539 HRESULT LastTransferTime([out, retval] long *retval);
7540
7558 [propget, id(18), helpstring("property LastTransferSpeed")]
7559 HRESULT LastTransferSpeed([out, retval] long *retval);
7560
7597 [propput, id(37), helpstring("property CodePage")]
7598 HRESULT CodePage([in] long newValue);
7599 [propget, id(37), helpstring("property CodePage")]
7600 HRESULT CodePage([out, retval] long* retval);
7601
7612 [propget, id(170), helpstring("property ServerState")]
7613 HRESULT ServerState([out, retval] ISFTPServerState **retval);
7614
7619 [id(61), helpstring("method Close")]
7620 HRESULT Close();
7621
7625 [id(62), helpstring("method Abort")]
7626 HRESULT Abort();
7627
7638 [id(63), helpstring("method Connect")]
7639 HRESULT Connect();
7640
7655 [id(64), helpstring("method Disconnect")]
7656 HRESULT Disconnect();
7657
7673 [id(81), helpstring("method NewFile")]
7674 HRESULT NewFile([in] BSTR remoteFile);
7675
7710 [id(123), helpstring("method DownloadFile")]
7711 HRESULT DownloadFile([in] BSTR remoteFile, [in] VARIANT localFile, [in] DataTransferType transferType, [in] long startPositionLo, [in] long startPositionHi);
7712
7750 [id(146), helpstring("method DownloadFileEx")]
7751 HRESULT DownloadFileEx([in] BSTR remoteFile, [in] VARIANT localFile, [in] DataTransferType transferType, [in] ULONGLONG startPosition, [in] ULONGLONG endPosition, [in] long flags, [in] ITransferProgressEvents* progress);
7752
7786 [id(124), helpstring("method UploadFile")]
7787 HRESULT UploadFile([in] VARIANT localFile, [in] BSTR remoteFile, [in] DataTransferType transferType, [in] long startPositionLo, [in] long startPositionHi);
7788
7817 [id(125), helpstring("method UploadFileEx")]
7818 HRESULT UploadFileEx([in] VARIANT localFile, [in] BSTR remoteFile, [in] DataTransferType transferType, [in] ULONGLONG startPosition, [in] ITransferProgressEvents* progress);
7819
7855 [id(70), helpstring("method Rename")]
7856 HRESULT Rename([in] BSTR oldPath, [in] BSTR newPath, [in] long flags);
7857
7869 [id(71), helpstring("method RemoveFile")]
7870 HRESULT RemoveFile([in] BSTR file);
7871
7892 [id(73), helpstring("method RemoveDirectory")]
7893 HRESULT RemoveDirectory([in] BSTR directory);
7894
7911 [id(75), helpstring("method MakeDirectory")]
7912 HRESULT MakeDirectory([in] BSTR directory);
7913
7933 [id(77), helpstring("method ReadDirectory")]
7934 HRESULT ReadDirectory([in] BSTR directory, [out, retval] IFTPItems** retval);
7935
7956 [id(78), helpstring("method ReadDirectoryEx")]
7957 HRESULT ReadDirectoryEx([in] BSTR directory, [in] ITransferProgressEvents* progress, [out, retval] IFTPItems** retval);
7958
7978 [id(120), helpstring("method RealPath")]
7979 HRESULT RealPath([in] BSTR original, [out, retval] BSTR* retval);
7980
8014 [id(121), helpstring("method RealPathEx")]
8015 HRESULT RealPathEx([in] BSTR original, [in] long flags, [in] BSTR component, [out, retval] BSTR* retval);
8016
8033 [id(133), helpstring("method Stat")]
8034 HRESULT Stat([in] BSTR path, [in] long flags, [out, retval] IFTPItem** retval);
8035
8055 [id(135), helpstring("method LStat")]
8056 HRESULT LStat([in] BSTR path, [in] long flags, [out, retval] IFTPItem** retval);
8057
8074 [id(134), helpstring("method StatEx")]
8075 HRESULT StatEx([in] BSTR path, [in] long flags, VARIANT_BOOL followLink, [out, retval] IFTPItem** retval);
8076
8097 [id(136), helpstring("method SetStat")]
8098 HRESULT SetStat([in] BSTR path, [in] IFTPItem* item);
8099
8119 [id(140), helpstring("method ReadLink")]
8120 HRESULT ReadLink([in] BSTR path, [out, retval] BSTR* retval);
8121
8154 [id(141), helpstring("method Link")]
8155 HRESULT Link([in] BSTR path, [in] BSTR linkPoint, [in] VARIANT_BOOL symbolicLink);
8156
8174 [id(142), helpstring("method StatVFS")]
8175 HRESULT StatVFS([in] BSTR path, [out,retval] ISFTPStatVFS** retval);
8176
8206 [id(168), helpstring("method GetFileHash")]
8207 HRESULT GetFileHash([in] HashAlgo algo, [in] BSTR path, [in] ULONGLONG offset, [in] ULONGLONG length, [out, retval] ISFTPExtendedCheckFileResult** retval);
8208
8222 [id(174), helpstring("method GetSpaceAvailable")]
8223 HRESULT GetSpaceAvailable([in] BSTR path, [out, retval] ISFTPSpaceAvailable** retval);
8224
8245 [id(176), helpstring("method CopyFile")]
8246 HRESULT CopyFile([in] BSTR sourceFile, [in] BSTR destinationFile, [in] VARIANT_BOOL overwrite);
8247
8263 [id(177), helpstring("method SetFileLogger")]
8264 HRESULT SetFileLogger([out, retval] IFileLogger** fileLogger);
8265};
8266
8267[
8268 object,
8269 uuid(F15D7259-E281-4F1B-8AA0-492AA3BDB7D5),
8270 oleautomation,
8271 dual,
8272 nonextensible,
8273 helpstring("IOpenSSLKey Interface"),
8274 pointer_default(unique)
8275]
8277{
8278 [id(110), helpstring("method Generate")] HRESULT Generate([in] long nid, [in] long bits);
8279};
8280
8281typedef [v1_enum] enum KeyFileFormat
8282{
8283 [helpstring("KeyFileFormat ftpKeyFileFormat Unknown")] ftpKeyFileFormatUnknown = 0,
8284 [helpstring("KeyFileFormat ftpKeyFileFormat PKCS8")] ftpKeyFileFormatPKCS8 = 1,
8285 [helpstring("KeyFileFormat ftpKeyFileFormat PKCS12")] ftpKeyFileFormatPKCS12 = 2,
8286 [helpstring("KeyFileFormat ftpKeyFileFormat VanDyke")] ftpKeyFileFormatVanDyke = 3,
8287 [helpstring("KeyFileFormat ftpKeyFileFormat SSH")] ftpKeyFileFormatSSH = 4,
8288 [helpstring("KeyFileFormat ftpKeyFileFormat OpenSSL")] ftpKeyFileFormatOpenSSL = 5,
8289 [helpstring("KeyFileFormat ftpKeyFileFormat Putty")] ftpKeyFileFormatPutty = 6,
8290 [helpstring("KeyFileFormat ftpKeyFileFormat OpenSSH")] ftpKeyFileFormatOpenSSH = 7
8292
8293[
8294 object,
8295 uuid(9B3D1FFA-EFBD-408B-AA81-B9B186138E24),
8296 oleautomation,
8297 dual,
8298 nonextensible,
8299 helpstring("IKeyManager Interface"),
8300 pointer_default(unique)
8301]
8302interface IKeyManager : IDispatch
8303{
8319 [id(1), helpstring("method LoadFile")] HRESULT LoadFile([in] BSTR file, [in] BSTR password, [out, retval] IKey** retval);
8320
8339 [id(2), helpstring("method SaveFile")] HRESULT SaveFile([in] KeyFileFormat fileFormat, [in] IKey* key, [in] KeyType keyType, [in] BSTR file, [in] BSTR password);
8340
8374 [id(3), helpstring("method LoadFromCertificateStore")] HRESULT LoadFromCertificateStore([in] BSTR thumbprint, [out, retval] IKey** retval);
8375};
8376
8377[
8378 uuid(1975424E-6927-40b2-A479-DE92310E8944), // IID_IConnection
8379 pointer_default(unique)
8380]
8381interface IConnection : IUnknown
8382{
8383 [propget] HRESULT ConnectionStatus([out, retval] ConnectionStatus* retval);
8384}
8385
8386[
8387 object,
8388 uuid(2314C692-2C8A-4168-BB4B-DC26D525A1AE),
8389 nonextensible,
8390 pointer_default(unique)
8391]
8392interface IAES128CTRWriteStream : IUnknown
8393{
8394 HRESULT SetKey([in, size_is(keyLength)] byte* key, [in] ULONG keyLength);
8395};
8396
8397[
8398 object,
8399 uuid(324D5D60-31E1-4D59-887F-96B93BAC3B2B),
8400 nonextensible,
8401 pointer_default(unique)
8402]
8403interface IAES128CTRReadStream : IUnknown
8404{
8405 HRESULT SetKey([in, size_is(keyLength)] byte* key, [in] ULONG keyLength);
8406};
8407
8408[
8409 object,
8410 uuid(14FCCC7F-E60D-4E08-A0D8-B4E01823223D),
8411 nonextensible,
8412 pointer_default(unique)
8413]
8414interface IHashProgress : IUnknown
8415{
8416 HRESULT OnProgress(ULONGLONG chunk);
8417};
8418
8419[
8420 object,
8421 uuid(AC19E8BE-AFFB-4AD4-954E-EDED75F2379E),
8422 dual,
8423 oleautomation,
8424 nonextensible,
8425 helpstring("ICryptoHash Interface"),
8426 pointer_default(unique)
8427]
8428interface ICryptoHash : IDispatch
8429{
8430 [propget, id(1), helpstring("property Type")] HRESULT Type([out, retval] HashAlgo* retval);
8431
8432 [id(10), helpstring("method Initialize")] HRESULT Initialize(HashAlgo hashtype);
8433 [id(12), helpstring("method ReInitialize")] HRESULT ReInitialize();
8434 [id(13), helpstring("method GetSize")] HRESULT GetSize([out, retval] long *retval);
8435 [id(14), helpstring("method AddBSTR")] HRESULT AddBSTR([in] BSTR bstr);
8436 [id(22), helpstring("method AddBlob")] HRESULT AddBlob([in, size_is(cbBlob)] const byte* pbBlob, UINT cbBlob);
8437 [id(15), helpstring("method AddFile")] HRESULT AddFile([in] VARIANT var);
8438 [id(11), helpstring("method AddStream")] HRESULT AddStream([in] IStream* stream, [in] ULONGLONG length, [in] IHashProgress* progress);
8439 [id(16), helpstring("method GetValue")] HRESULT GetValue([out, retval] VARIANT *retval);
8440 [id(17), helpstring("method CompareStringValue")] HRESULT CompareStringValue([in] BSTR value1, [in] BSTR value2, [out, retval] long *retval);
8441 [id(19), helpstring("method GetValueAsString")] HRESULT GetValueAsString([out, retval] BSTR *retval);
8442 HRESULT GetValueEx([out, size_is(*valueLength)] byte* value, [in, out] ULONG* valueLength);
8443};
8444
8445[
8446 object,
8447 uuid(9E58A1EB-F70E-4FA4-A6FD-F6DB4F19EE5F),
8448 nonextensible,
8449 pointer_default(unique)
8450]
8451interface IParserWriteStream : IUnknown
8452{
8453 [propput] HRESULT Format([in] ParserFormat newValue);
8454 [propget] HRESULT Format([out, retval] ParserFormat* retval);
8455 [propput] HRESULT Codepage([in] UINT newValue);
8456 [propget] HRESULT Codepage([out, retval] UINT* retval);
8457 [propget] HRESULT FTPItems([out, retval] IFTPItems** retval);
8458};
8459
8460[
8461 object,
8462 uuid(3FCDE1F6-BB49-490C-B422-B3937D7B7F16),
8463 dual,
8464 nonextensible,
8465 helpstring("IUtils Interface"),
8466 pointer_default(unique)
8467]
8468interface IUtils : IDispatch
8469{
8470 [id(100), helpstring("method HashAlgoToString")] HRESULT HashAlgoToString([in] HashAlgo hashalgo, [out,retval] BSTR *retval);
8471 [id(101), helpstring("method KeyExchangeToString")] HRESULT KeyExchangeToString([in] KeyExchange keyexchange, [out,retval] BSTR *retval);
8472 [id(102), helpstring("method EncryptionToString")] HRESULT EncryptionToString([in] Encryption encryption, [out,retval] BSTR *retval);
8473 [id(103), helpstring("method HMACToString")] HRESULT HMACToString([in] HMAC mac, [out,retval] BSTR *retval);
8474 [id(104), helpstring("method SSHPublicKeyAlgoToString")] HRESULT SSHPublicKeyAlgoToString([in] SSHPublicKeyAlgo keyalgo, [out,retval] BSTR *retval);
8475 [id(105), helpstring("method SSHCompressionToString")] HRESULT SSHCompressionToString([in] SSHCompression compression, [out,retval] BSTR *retval);
8476 [id(106), helpstring("method ProxyTypeToString")] HRESULT ProxyTypeToString([in] ProxyType proxytype, [out,retval] BSTR *retval);
8477 [id(107), helpstring("method ServerSoftwareToString")] HRESULT ServerSoftwareToString([in] ServerSoftware software, [out,retval] BSTR *retval);
8478 [id(108), helpstring("method FileTimeToUnixTime")] HRESULT FileTimeToUnixTime([in] FILETIME filetime, [out, retval] ULONGLONG *retval);
8479 [id(109), helpstring("method UnixTimeToFileTime")] HRESULT UnixTimeToFileTime([in] ULONGLONG unixTime, [out, retval] FILETIME *retval);
8480 [id(110), helpstring("method FileTimeToVariantTime")] HRESULT FileTimeToVariantTime([in] FILETIME filetime, [out, retval] DATE *retval);
8481 [id(111), helpstring("method VariantTimeToFileTime")] HRESULT VariantTimeToFileTime([in] DATE date, [out, retval] FILETIME *retval);
8482 [id(112), helpstring("method MessageFromHRESULT")] HRESULT MessageFromHRESULT([in] HRESULT result, [out, retval] BSTR* retval);
8483};
8484
8485[
8486 object,
8487 uuid(A53A8E57-41F6-49d5-9495-2FF849A06F03),
8488 pointer_default(unique)
8489]
8490interface ISSHChannelClient : IUnknown
8491{
8492 HRESULT OnDetach();
8493 HRESULT OnClose();
8494 HRESULT OnData();
8495 HRESULT OnSend();
8496 HRESULT OnEof();
8497};
8498
8515[
8516 object,
8517 uuid(49D66525-9192-43C3-A767-C047A8168DDB),
8518 pointer_default(unique)
8519]
8520interface ISSHKeyBlobHelper : IUnknown
8521{
8539 HRESULT GetPublicKeyBlob([in] IKey* key, [out, retval] VARIANT* retval);
8540};
8541
8542[
8543 object,
8544 uuid(306E71BD-B532-4F21-9036-41FBBB0DE83B),
8545 pointer_default(unique)
8546]
8547interface IBCryptKey : IKey
8548{
8549 HRESULT Initialize([in] LPCWSTR algorithmName);
8550 HRESULT InitializeEx([in] LPCWSTR algorithmName, [in] LPCWSTR curveName);
8551 HRESULT Generate([in] long bits);
8552};
8553
8554[
8555 object,
8556 uuid(4B53484C-3C6F-4430-BB2B-B16CC220489B),
8557 pointer_default(unique)
8558]
8559interface INCryptKey : IKey
8560{
8561 HRESULT Initialize([in] LPCWSTR provider);
8562 HRESULT CreatePersistedKey([in] LPCWSTR algorithmName);
8563 HRESULT Generate([in] long bits);
8564};
8565
8566[
8567 object,
8568 uuid(EF6EF546-4063-443B-98D7-E360CB31F124),
8569 nonextensible,
8570 pointer_default(unique),
8571 local
8572]
8573interface INCryptKeyCustom : IUnknown
8574{
8575 HRESULT Initialize([in] /*PCCERT_CONTEXT*/void* certContext);
8576 HRESULT GetHandle([out,retval] /*NCRYPT_KEY_HANDLE*/ULONG_PTR *retval);
8577};
8578
8579[
8580 uuid(7A3A786C-EB8C-43b3-BC10-8D09ACF5D195),
8581 version(4.0),
8582 helpstring("SmartFTP FTP Library 4.0 Type Library")
8583]
8585{
8586 importlib(STDOLE_TLB);
8587
8588 typedef [v1_enum] enum _HRESULT
8589 {
8590 [helpstring("Operation pending")] FTPLIB_E_BUSY = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3101),
8591 [helpstring("Not connected")] FTPLIB_E_NOTCONNECTED = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3102),
8592 [helpstring("Timeout")] FTPLIB_E_TIMEOUT = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3103),
8593 [helpstring("No operation to abort")] FTPLIB_E_NOOPERATION = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3104),
8594 [helpstring("Not initialized")] FTPLIB_E_NOTINIT = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3105),
8595 [helpstring("Wrong reply")] FTPLIB_E_WRONGREPLY = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3106),
8596 [helpstring("More data is required to continue")] FTPLIB_E_MOREDATA = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3108),
8597 [helpstring("Paused")] FTPLIB_E_PAUSED = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3109),
8598 [helpstring("Connection setting mismatch")] FTPLIB_E_SETTINGMISMATCH = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x310a),
8599 [helpstring("Connection not disconnected")] FTPLIB_E_NOTDISCONNECTED = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x310b),
8600 [helpstring("Connection is closed")] FTPLIB_E_CONNECTIONCLOSED = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x310c),
8601 [helpstring("Data connection failure")] FTPLIB_E_DATACONNECTION_CONNECT = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x310d),
8602 [helpstring("Authentication failed")] FTPLIB_E_AUTHENTICATION = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x310e),
8603 [helpstring("PORT command failed")] FTPLIB_E_PORTCOMMANDFAILED = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x310f),
8604 [helpstring("Restart not permitted")] FTPLIB_E_RESTARTNOTPERMITTED = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3110),
8605 [helpstring("Server protocol violation")] FTPLIB_E_SERVERPROTOCOLVIOLATION = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3111),
8606 [helpstring("Command not implemented")] FTPLIB_E_COMMANDNOTIMPLEMENTED = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3112),
8607 [helpstring("Not a regular file")] FTPLIB_E_NOTAREGULARFILE = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3113),
8608 [helpstring("Too many connections")] FTPLIB_E_TOOMANYCONNECTIONS = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3114),
8609 [helpstring("PASV command failed")] FTPLIB_E_PASVCOMMANDFAILED = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3115),
8610 [helpstring("TLS not supported")] FTPLIB_E_TLSNOTSUPPORTED = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3116),
8611 [helpstring("Host name expected")] FTPLIB_E_HOSTNAMEEXPECTED = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3117),
8612 [helpstring("Server policy requires TLS")] FTPLIB_E_SERVERPOLICYREQUIRESTLS = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3118),
8613 [helpstring("The IP is banned")] FTPLIB_E_IPBANNED = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3119),
8614 [helpstring("Home directory")] FTPLIB_E_HOMEDIRECTORY = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x311a),
8615 [helpstring("Box: User needs to accept terms of service")] FTPLIB_E_BOX_ACCEPTTERMSOFSERVICE = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x311b),
8616 [helpstring("Box: The application is blocked by your administrator")] FTPLIB_E_BOX_APPLICATIONBLOCKED = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x311c),
8617 [helpstring("Box: Captcha is required")] FTPLIB_E_BOX_CAPTCHAREQUIRED = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x311d),
8618 [helpstring("Local policy requires CCC")] FTPLIB_E_LOCALPOLICYREQUIRESCCC = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x311e),
8619 [helpstring("Not logged in")] FTPLIB_E_NOTLOGGEDIN = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x311f),
8620 [helpstring("The server's user limit has been reached")] FTPLIB_E_TOOMANYUSERS = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3129),
8621 [helpstring("TLS data session token error")] FTPLIB_E_TLSDATASESSIONTOKENERROR = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x312B),
8622 [helpstring("Could not create file")] FTPLIB_E_COULDNOTCREATEFILE = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x312C),
8623
8624 // SSH specific
8625 [helpstring("Unexpected remote id")] FTPLIB_E_SSH_UNEXPECTEDREMOTEID = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3120),
8626 [helpstring("Host authentication failed")] FTPLIB_E_SSH_HOSTAUTHENTICATION = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3121),
8627 [helpstring("Algorithm negotiation failed")] FTPLIB_E_SSH_NEGOTIATION = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3122),
8628 [helpstring("Invalid host key")] FTPLIB_E_SSH_INVALIDHOSTKEY = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3123),
8629 [helpstring("Invalid message")] FTPLIB_E_SSH_INVALIDMESSAGE = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3124),
8630 [helpstring("Failed to request channel")] FTPLIB_E_SSH_CHANNEL_REQUESTFAILURE = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3125),
8631 [helpstring("Failed to open channel")] FTPLIB_E_SSH_CHANNEL_OPENFAILURE = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3126),
8632 [helpstring("Key exchange failed")] FTPLIB_E_SSH_KEYEXCHANGE = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3127),
8633 [helpstring("Channel eof")] FTPLIB_E_SSH_CHANNEL_EOF = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3128),
8634 [helpstring("Invalid host signature")] FTPLIB_E_SSH_INVALIDHOSTSIGNATURE = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x312A),
8635 [helpstring("Host key rejected")] FTPLIB_E_SSH_HOSTKEYREJECTED = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x312D),
8636
8637 [helpstring("Wrong password")] FTPLIB_E_KEYFILE_PASSWORD = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3130),
8638 [helpstring("Invalid format")] FTPLIB_E_KEYFILE_INVALIDFORMAT = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3131),
8639 [helpstring("Key is invalid")] FTPLIB_E_KEY_INVALID = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3132),
8640 [helpstring("Unsupported algorithm")] FTPLIB_E_KEYFILE_UNSUPPORTED = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3133),
8641
8642 // SFTP
8643 [helpstring("Unexpected SFTP packet type")] FTPLIB_E_SFTP_UNEXPECTEDPACKETTYPE = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3140),
8644 [helpstring("SFTP status error")] FTPLIB_E_SFTP_STATUSERROR = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3141),
8645 [helpstring("Invalid message")] FTPLIB_E_SFTP_INVALIDMESSAGE = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3142),
8646
8647 // FTP more
8648 [helpstring("Command not implemented for argument")] FTPLIB_E_COMMANDNOTIMPLEMENTEDFORARGUMENT = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3150),
8649 [helpstring("Character conversion failed")] FTPLIB_E_CHARACTERCONVERSION = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3151),
8650 [helpstring("SSH server detected")] FTPLIB_E_SSHSERVERDETECTED = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3152),
8651
8652 // License
8653 [helpstring("License: Feature not licensed")] FTPLIB_E_LICENSE_FEATURENOTLICENSED = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3200),
8654 [helpstring("License: Product mismatch")] FTPLIB_E_LICENSE_PRODUCTMISMATCH = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3201),
8655 [helpstring("License: Version mismatch")] FTPLIB_E_LICENSE_VERSIONMISMATCH = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3202),
8656 [helpstring("License: MachineId mismatch")] FTPLIB_E_LICENSE_MACHINEIDMISMATCH = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3203),
8657 [helpstring("License: License expired")] FTPLIB_E_LICENSE_EXPIRED = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3204),
8658 [helpstring("License: Maintenance expired")] FTPLIB_E_LICENSE_MAINTENANCEEXPIRED = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x3205),
8659
8660 // License activation error codes
8661 [helpstring("Activation: Unsupported version")] FTPLIB_E_ACTIVATION_UNSUPPORTEDVERSION = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x5500),
8662 [helpstring("Activation: Invalid serial")] FTPLIB_E_ACTIVATION_INVALIDSERIAL = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x5501),
8663 [helpstring("Activation: Product mismatch")] FTPLIB_E_ACTIVATION_PRODUCTMISMATCH = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x5502),
8664 [helpstring("Activation: License inactive")] FTPLIB_E_ACTIVATION_LICENSEINACTIVE = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x5503),
8665 [helpstring("Activation: License expired")] FTPLIB_E_ACTIVATION_LICENSEEXPIRED = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x5504),
8666 [helpstring("Activation: License exhausted")] FTPLIB_E_ACTIVATION_LICENSEEXHAUSTED = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x5505),
8667 [helpstring("Activation: Invalid request")] FTPLIB_E_ACTIVATION_INVALIDREQUEST = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x5506),
8668 [helpstring("Activation: SubLicense not found")] FTPLIB_E_ACTIVATION_SUBLICENSENOTFOUND = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x5507),
8669 [helpstring("Activation: Maintenance expired")] FTPLIB_E_ACTIVATION_MAINTENANCEEXPIRED = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x5508),
8670 [helpstring("Activation: SubLicense disabled")] FTPLIB_E_ACTIVATION_SUBLICENSEDISABLED = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x5509),
8671 [helpstring("Activation: Product version not supported")] FTPLIB_E_ACTIVATION_PRODUCTVERSIONNOTSUPPORTED = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x550A),
8672 [helpstring("Activation: Operating system not supported")] FTPLIB_E_ACTIVATION_OPERATINGSYSTEMNOTSUPPORTED = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x550B)
8673 } _HRESULT;
8674
8691 typedef [v1_enum] enum UnixPermissions
8692 {
8693 // --- Public (World/Other) Permissions ---
8699 [helpstring("UnixPermission ftpUnixPermission PublicExecute")]
8701
8708 [helpstring("UnixPermission ftpUnixPermission PublicWrite")]
8710
8716 [helpstring("UnixPermission ftpUnixPermission PublicRead")]
8718
8719
8720 // --- Group Permissions ---
8726 [helpstring("UnixPermission ftpUnixPermission GroupExecute")]
8728
8734 [helpstring("UnixPermission ftpUnixPermission GroupWrite")]
8736
8742 [helpstring("UnixPermission ftpUnixPermission GroupRead")]
8744
8745
8746 // --- User (Owner) Permissions ---
8752 [helpstring("UnixPermission ftpUnixPermission UserExecute")]
8754
8760 [helpstring("UnixPermission ftpUnixPermission UserWrite")]
8762
8768 [helpstring("UnixPermission ftpUnixPermission UserRead")]
8770
8771
8772 // --- Special Bits ---
8780 [helpstring("UnixPermission ftpUnixPermission SystemSticky")]
8782
8791 [helpstring("UnixPermission ftpUnixPermission SetGID")]
8793
8800 [helpstring("UnixPermission ftpUnixPermission SetUID")]
8802
8803 } UnixPermissions;
8804
8805 // mapped from SSH_FILEXFER_ATTR_FLAGS_
8806 typedef [v1_enum] enum SFTPItemAttributeBit
8807 {
8808 [helpstring("SFTPItemAttributeBit ftpSFTPItemAttributeBit ReadOnly")] ftpSFTPItemAttributeBitReadOnly = 0x1,
8809 [helpstring("SFTPItemAttributeBit ftpSFTPItemAttributeBit System")] ftpSFTPItemAttributeBitSystem = 0x2,
8810 [helpstring("SFTPItemAttributeBit ftpSFTPItemAttributeBit Hidden")] ftpSFTPItemAttributeBitHidden = 0x4,
8811 [helpstring("SFTPItemAttributeBit ftpSFTPItemAttributeBit CaseInsensitive")] ftpSFTPItemAttributeBitCaseInsensitive = 0x8,
8812 [helpstring("SFTPItemAttributeBit ftpSFTPItemAttributeBit Archive")] ftpSFTPItemAttributeBitArchive = 0x10,
8813 [helpstring("SFTPItemAttributeBit ftpSFTPItemAttributeBit Encrypted")] ftpSFTPItemAttributeBitEncrypted = 0x20,
8814 [helpstring("SFTPItemAttributeBit ftpSFTPItemAttributeBit Compressed")] ftpSFTPItemAttributeBitCompressed = 0x40,
8815 [helpstring("SFTPItemAttributeBit ftpSFTPItemAttributeBit Sparse")] ftpSFTPItemAttributeBitSparse = 0x80,
8816 [helpstring("SFTPItemAttributeBit ftpSFTPItemAttributeBit AppendOnly")] ftpSFTPItemAttributeBitAppendOnly = 0x100,
8817 [helpstring("SFTPItemAttributeBit ftpSFTPItemAttributeBit Immutable")] ftpSFTPItemAttributeBitImmutable = 0x200,
8818 [helpstring("SFTPItemAttributeBit ftpSFTPItemAttributeBit Sync")] ftpSFTPItemAttributeBitSync = 0x400,
8819 [helpstring("SFTPItemAttributeBit ftpSFTPItemAttributeBit TranslationErr")] ftpSFTPItemAttributeBitTranslationErr = 0x800
8820 } SFTPItemAttributeBit;
8821
8822 // mapped from SSH_FILEXFER_ATTR_
8823 typedef [v1_enum] enum SFTPItemAttribute
8824 {
8825 [helpstring("SFTPItemAttribute ftpSFTPItemAttribute Size")] ftpSFTPItemAttributeSize = 0x1,
8826 [helpstring("SFTPItemAttribute ftpSFTPItemAttribute UIDGID")] ftpSFTPItemAttributeUIDGID = 0x2,
8827 [helpstring("SFTPItemAttribute ftpSFTPItemAttribute Permissions")] ftpSFTPItemAttributePermissions = 0x4,
8828 [helpstring("SFTPItemAttribute ftpSFTPItemAttribute AccessTime")] ftpSFTPItemAttributeAccessTime = 0x8,
8829 [helpstring("SFTPItemAttribute ftpSFTPItemAttribute CreateTime")] ftpSFTPItemAttributeCreateTime = 0x10,
8830 [helpstring("SFTPItemAttribute ftpSFTPItemAttribute ModifyTime")] ftpSFTPItemAttributeModifyTime = 0x20,
8831 [helpstring("SFTPItemAttribute ftpSFTPItemAttribute ACL")] ftpSFTPItemAttributeACL = 0x40,
8832 [helpstring("SFTPItemAttribute ftpSFTPItemAttribute OwnerGroup")] ftpSFTPItemAttributeOwnerGroup = 0x80,
8833 [helpstring("SFTPItemAttribute ftpSFTPItemAttribute SubSecondTimes")] ftpSFTPItemAttributeSubSecondTimes = 0x100,
8834 [helpstring("SFTPItemAttribute ftpSFTPItemAttribute Bits")] ftpSFTPItemAttributeBits = 0x200,
8835 [helpstring("SFTPItemAttribute ftpSFTPItemAttribute AllocationSize")] ftpSFTPItemAttributeAllocationSize = 0x400,
8836 [helpstring("SFTPItemAttribute ftpSFTPItemAttribute TextHint")] ftpSFTPItemAttributeTextHint = 0x800,
8837 [helpstring("SFTPItemAttribute ftpSFTPItemAttribute MimeType")] ftpSFTPItemAttributeMimeType = 0x1000,
8838 [helpstring("SFTPItemAttribute ftpSFTPItemAttribute LinkCount")] ftpSFTPItemAttributeLinkCount = 0x2000,
8839 [helpstring("SFTPItemAttribute ftpSFTPItemAttribute UntranslatedName")] ftpSFTPItemAttributeUntranslatedName = 0x4000,
8840 [helpstring("SFTPItemAttribute ftpSFTPItemAttribute CTime")] ftpSFTPItemAttributeCTime = 0x8000,
8841 [helpstring("SFTPItemAttribute ftpSFTPItemAttribute Extended")] ftpSFTPItemAttributeExtended = 0x80000000
8842 } SFTPItemAttribute;
8843
8858 typedef [v1_enum] enum LISTOption
8859 {
8865 [helpstring("LISTOption ftpLISTOption Long")]
8867
8873 [helpstring("LISTOption ftpLISTOption All")]
8875
8880 [helpstring("LISTOption ftpLISTOption Links")]
8882
8888 [helpstring("LISTOption ftpLISTOption T")]
8890
8896 [helpstring("LISTOption ftpLISTOption Recursive")]
8898 } LISTOption;
8899
8903 typedef [v1_enum] enum DownloadFlags
8904 {
8912 [helpstring("DownloadFlags ftpDownloadFlag None")]
8914
8927 [helpstring("DownloadFlags ftpDownloadFlag ReadBeyondEnd")]
8929
8930 } DownloadFlags;
8931
8939 typedef [v1_enum] enum SSHAuthentication
8940 {
8941 [helpstring("SSHAuthentication Unknown")]
8943
8953 [helpstring("SSHAuthentication None")]
8955
8962 [helpstring("SSHAuthentication Password")]
8964
8974 [helpstring("SSHAuthentication KeyboardInteractive")]
8976
8985 [helpstring("SSHAuthentication PublicKey")]
8987
8995 [helpstring("SSHAuthentication SecurID")]
8997
9005 [helpstring("SSHAuthentication HostBased")]
9007
9015 [helpstring("SSHAuthentication GSSAPI")]
9017 } SSHAuthentication;
9018
9024 [
9025 uuid(D216FD3A-DAC1-4692-AAE1-EB5551128990),
9026 nonextensible,
9027 helpstring("Event interface for FTPConnection")
9028 ]
9030 {
9031 properties:
9032
9033 methods:
9034 [id(1), helpstring("method OnDisconnect")] void OnDisconnect();
9035 [id(2), helpstring("method OnLogin")] void OnLogin();
9036 [id(3), helpstring("method OnVerifyCert")] void OnVerifyCert([in,out] VARIANT_BOOL* shouldContinue);
9037 };
9038
9039 [
9040 object,
9041 uuid(0B79DE64-B5EB-430E-90F9-291F20ECDC3A),
9042 pointer_default(unique)
9043 ]
9044 interface IFTPConnectionEvents : IUnknown
9045 {
9046 HRESULT OnDisconnect();
9047 HRESULT OnLogin();
9048 HRESULT OnVerifyCert([in,out] VARIANT_BOOL* shouldContinue);
9049 };
9050
9064 [
9065 uuid(50177264-39E2-43EC-8377-E1A97AB63ED2),
9066 helpstring("FTPConnectionSTA Class"),
9067 ]
9069 {
9070 [default] interface IFTPConnection;
9071 [default, source] dispinterface _IFTPConnectionEvents;
9072 };
9073
9089 [
9090 uuid(B32243B2-7D9E-464D-A2A4-4117540E0F70),
9091 helpstring("FTPConnectionMTA Class"),
9092 ]
9094 {
9095 [default] interface IFTPConnection;
9096 [default, source] dispinterface _IFTPConnectionEvents;
9097 [source] interface IFTPConnectionEvents;
9098 interface IConnection;
9099 interface IConnectionWithLogger;
9100 };
9101
9108 [
9109 uuid(614D8CE6-3583-49af-BACE-4B92EB4C4A73),
9110 helpstring("FTPParser Class"),
9111 ]
9113 {
9114 interface IFTPParser;
9115 [default] dispinterface IFTPParserD;
9116 };
9117
9124 [
9125 uuid(D7A7E08A-31B5-4b7b-8908-2F4530349C50),
9126 helpstring("FTPPortPool Class"),
9127 ]
9129 {
9130 [default] interface IFTPPortPool;
9131 };
9132
9138 [
9139 uuid(0BBB9B85-DE7A-4DE5-90C1-82ACF2AE6FA2),
9140 helpstring("FTPFXP Class"),
9141 ]
9142 coclass FTPFXP
9143 {
9144 [default] interface IFTPFXP;
9145 };
9146
9154 [
9155 uuid(B46A15B8-9AA5-41A4-897D-B58A809B2D5B),
9156 helpstring("GlobalSpeedLimit Class"),
9157 ]
9159 {
9160 [default] interface IGlobalSpeedLimit;
9161 };
9162
9169 [
9170 uuid(52D6E699-9256-414F-8FCD-F38FDF6AC8EE),
9171 helpstring("Global Class"),
9172 ]
9173 coclass Global
9174 {
9175 [default] interface IGlobal;
9176 };
9177
9188 [
9189 uuid(2A49E162-7159-4F6F-BA7D-FC110DC0C603),
9190 nonextensible,
9191 helpstring("_ISFTPConnectionEvents Interface")
9192 ]
9194 {
9195 properties:
9196 methods:
9197
9208 [id(3), helpstring("method OnClose")]
9209 void OnClose();
9210 };
9211
9225 [
9226 object,
9227 uuid(1FFFC239-2D50-4049-BF97-F98671CB7EB7),
9228 pointer_default(unique)
9229 ]
9230 interface ISFTPConnectionEvents : IUnknown
9231 {
9242 HRESULT OnClose();
9243 };
9244
9257 [
9258 uuid(066D6AC8-34D6-450b-B92F-17C8F6CC5E44),
9259 nonextensible,
9260 helpstring("_ISSHConnectionEvents Interface")
9261 ]
9263 {
9264 properties:
9265 methods:
9270 [id(3), helpstring("method OnDisconnect")]
9272
9277 [id(11), helpstring("method OnLogin")]
9278 void OnLogin();
9279
9293 [id(13), helpstring("method OnHostKey")]
9294 void OnHostKey([in] VARIANT varHostKey,[in, out] VARIANT_BOOL* accept);
9295
9306 [id(14), helpstring("method OnLoginChallenge")]
9307 void OnLoginChallenge([in] BSTR challenge,[out] BSTR* response);
9308
9314 [id(15), helpstring("method OnUserAuthBanner")]
9315 void OnUserAuthBanner([in] BSTR message);
9316
9324 [id(16), helpstring("method OnPasswordChangeRequest")]
9325 void OnPasswordChangeRequest([in] BSTR prompt,[out] BSTR* newPassword,[in, out] VARIANT_BOOL* handled);
9326
9332 [id(19), helpstring("method OnAuthentication")]
9333 void OnAuthentication([in] BSTR method);
9334
9341 [id(20), helpstring("method OnHostKeys")]
9342 void OnHostKeys([in] VARIANT hostKeys);
9343 };
9344
9345 [
9346 object,
9347 uuid(75B7A9CA-430E-49E7-A5D3-EA371143DA8C),
9348 pointer_default(unique)
9349 ]
9350 interface ISSHConnectionEvents : IUnknown
9351 {
9352 HRESULT OnDisconnect();
9353 HRESULT OnLogin();
9354 HRESULT OnHostKey([in] VARIANT varHostKey, [in, out] VARIANT_BOOL* accept);
9355 HRESULT OnLoginChallenge([in] LPCWSTR challenge, [out] BSTR *response);
9356 HRESULT OnUserAuthBanner([in] LPCWSTR message);
9357 HRESULT OnPasswordChangeRequest([in] LPCWSTR prompt, [out] BSTR *newPassword, [in, out] VARIANT_BOOL* handled);
9358 HRESULT OnAuthentication([in] LPCWSTR method);
9359 HRESULT OnHostKeys([in, size_is(numberOfKeys)] const PROPVARIANT hostKeys[*], [in] UINT numberOfKeys);
9360 };
9361
9382 [
9383 uuid(08E560E0-86E2-4DDE-A397-E7C82DE9CD94),
9384 helpstring("SFTPConnection Class")
9385 ]
9387 {
9391 [default] interface ISFTPConnection;
9392
9396 [default, source] dispinterface _ISFTPConnectionEvents;
9397
9401 [source] interface ISFTPConnectionEvents;
9402 };
9403
9420 [
9421 uuid(DCA42CB3-D61B-4B82-888D-E3D893E28EE8),
9422 helpstring("FTPItem Class")
9423 ]
9424 coclass FTPItem
9425 {
9426 [default] interface IFTPItem;
9427 };
9428
9429 [
9430 uuid(F0B71643-5FE6-4FCA-89F5-525F06F580DD),
9431 helpstring("OpenSSLKey Class")
9432 ]
9434 {
9435 [default] interface IOpenSSLKey;
9436 };
9437
9456 [
9457 uuid(A9A48E15-6303-491D-9E6E-96F0E2418A1E),
9458 helpstring("KeyManager Class")
9459 ]
9461 {
9465 [default] interface IKeyManager;
9466 };
9467
9468 [
9469 uuid(AAC5FE7F-3615-4D42-B913-C22EACEF1363),
9470 helpstring("AES128CTRWriteStream Class")
9471 ]
9473 {
9474 [default] interface IAES128CTRWriteStream;
9475 interface IStreamFilter;
9476 interface IStreamFilterInfo;
9477 };
9478
9479 [
9480 uuid(026F6EBB-0A23-4585-B2E5-E167B0C34D17),
9481 helpstring("AES128CTRReadStream Class")
9482 ]
9484 {
9485 [default] interface IAES128CTRReadStream;
9486 interface IStreamFilter;
9487 interface IStreamFilterInfo;
9488 };
9489
9490 [
9491 uuid(2D7B4FA9-1507-4EE1-9CFD-12159C91EB9C),
9492 helpstring("CryptoHash Class")
9493 ]
9495 {
9496 [default] interface ICryptoHash;
9497 };
9498
9502 [
9503 uuid(1679D561-2D4C-453D-B11A-52BED2E29B12),
9504 helpstring("FTPClientId Class")
9505 ]
9507 {
9511 [default] interface IFTPClientId;
9512 };
9513
9514 [
9515 uuid(B6DFA153-8930-4FB4-8FE3-2D0D76422764),
9516 helpstring("ParserWriteStream Class")
9517 ]
9519 {
9520 [default] interface IParserWriteStream;
9521 };
9522
9523 [
9524 uuid(2AF42C62-29E4-4B68-8EB2-F63B6B5701F3),
9525 helpstring("SFTPVendorId Class")
9526 ]
9528 {
9529 [default] interface ISFTPVendorId;
9530 };
9531
9544 [
9545 uuid(A1B47E91-51FC-42AC-A661-31C78534DF7D),
9546 helpstring("SSHConnection Class")
9547 ]
9549 {
9553 [default] interface ISSHConnection;
9554
9558 [default, source] dispinterface _ISSHConnectionEvents;
9559
9563 [source] interface ISSHConnectionEvents;
9564 };
9565
9566 [
9567 uuid(2D9B03D3-392A-42DB-96F2-37F58A4E98D3),
9568 helpstring("Utils Class")
9569 ]
9570 coclass Utils
9571 {
9572 [default] interface IUtils;
9573 };
9574
9575 [
9576 uuid(21BA1BBB-59C8-4D94-9C59-5F5A73115310),
9577 helpstring("SSHKeyBlobHelper Class")
9578 ]
9580 {
9581 [default] interface ISSHKeyBlobHelper;
9582 };
9583
9584 [
9585 uuid(8640D9C2-8B88-41D6-BA21-414A1561EA59),
9586 helpstring("BCryptKey Class")
9587 ]
9589 {
9590 [default] interface IBCryptKey;
9591 };
9592
9593 [
9594 uuid(06099E23-684A-4D60-8D2C-83D666C75123),
9595 helpstring("NCryptKey Class")
9596 ]
9598 {
9599 [default] interface INCryptKey;
9600 interface INCryptKeyCustom;
9601 };
9602
9603 [
9604 uuid(7AC02032-BBB0-4A4F-BB4F-E92C5A225A28),
9605 helpstring("FileLogger Class")
9606 ]
9608 {
9609 [default] interface IFileLogger;
9610 };
9611};
Definition sfFTPLib.idl:9484
Definition sfFTPLib.idl:9473
Definition sfFTPLib.idl:9589
Definition sfFTPLib.idl:9495
Encapsulates the client application identity sent to the server.
Definition sfFTPLib.idl:9507
Definition sfFTPLib.idl:9094
Definition sfFTPLib.idl:9069
The implementation class for Server-to-Server (FXP) transfers.
Definition sfFTPLib.idl:9143
Represents a single file, directory, or symbolic link within a file system.
Definition sfFTPLib.idl:9425
Definition sfFTPLib.idl:9113
The concrete implementation of the port pool manager.
Definition sfFTPLib.idl:9129
Definition sfFTPLib.idl:9608
The central configuration and licensing manager for the library.
Definition sfFTPLib.idl:9174
The component class responsible for managing global bandwidth usage.
Definition sfFTPLib.idl:9159
Provides a centralized toolkit for creating, loading, and managing SSH user identity keys.
Definition sfFTPLib.idl:9461
Definition sfFTPLib.idl:9598
Definition sfFTPLib.idl:9434
Definition sfFTPLib.idl:9519
The main class for establishing SFTP (SSH File Transfer Protocol) connections.
Definition sfFTPLib.idl:9387
Definition sfFTPLib.idl:9528
The main class for establishing SSH (Secure Shell) sessions for command execution.
Definition sfFTPLib.idl:9549
Definition sfFTPLib.idl:9580
Definition sfFTPLib.idl:9571
Definition sfFTPLib.idl:8404
HRESULT SetKey([in, size_is(keyLength)] byte *key, [in] ULONG keyLength)
Definition sfFTPLib.idl:8393
HRESULT SetKey([in, size_is(keyLength)] byte *key, [in] ULONG keyLength)
Definition sfFTPLib.idl:8548
HRESULT Generate([in] long bits)
HRESULT Initialize([in] LPCWSTR algorithmName)
HRESULT InitializeEx([in] LPCWSTR algorithmName, [in] LPCWSTR curveName)
Definition sfFTPLib.idl:2845
HRESULT OnComplete([in] HRESULT error)
Definition sfFTPLib.idl:8382
ConnectionStatus ConnectionStatus
Definition sfFTPLib.idl:2990
HRESULT GetLogger([out] ILogger **logger)
HRESULT SetLogger([in, unique] ILogger *logger)
Definition sfFTPLib.idl:8429
HRESULT Initialize(HashAlgo hashtype)
HRESULT GetSize([out, retval] long *retval)
HRESULT AddBlob([in, size_is(cbBlob)] const byte *pbBlob, UINT cbBlob)
HRESULT GetValueEx([out, size_is(*valueLength)] byte *value, [in, out] ULONG *valueLength)
HRESULT ReInitialize()
HRESULT GetValue([out, retval] VARIANT *retval)
HashAlgo Type
HRESULT AddStream([in] IStream *stream, [in] ULONGLONG length, [in] IHashProgress *progress)
HRESULT AddBSTR([in] BSTR bstr)
HRESULT GetValueAsString([out, retval] BSTR *retval)
HRESULT AddFile([in] VARIANT var)
HRESULT CompareStringValue([in] BSTR value1, [in] BSTR value2, [out, retval] long *retval)
Encapsulates the client application identity sent to the server via the CSID and CLNT commands.
Definition sfFTPLib.idl:1674
BSTR Name
Gets or sets the application name used in the CSID and CLNT commands.
BSTR Version
Gets or sets the application version used in the CSID and CLNT commands.
Definition sfFTPLib.idl:3530
HRESULT ReadDirectoryEx([in] ITransferProgressEvents *progress, [out, retval] IFTPItems **retval)
ULONGLONG LastTransferBytes
Retrieves the total number of bytes transferred during the last SFTP transfer.
BSTR PortIP
Specifies the IP address sent to the server during Active Mode (PORT) negotiations.
HRESULT GetMLST([in] BSTR name, [out, retval] IFTPItem **retval)
HRESULT Close()
Closes the connection.
long CompressionLevel
Controls the aggressiveness of the zlib compression algorithm.
HRESULT UpdateWorkingDirectory()
Synchronizes the local WorkingDirectory property with the server.
HRESULT RemoveDirectory([in] BSTR directory)
Removes a directory from the server.
HRESULT NewFile([in] BSTR file)
Creates a new, empty (zero-byte) file on the remote server.
DataProtection DataProtection
DataTransferType DataTransferType
Gets or sets the transfer mode (ASCII vs. Binary) for file operations.
VARIANT_BOOL HidePassword
Controls whether the password is masked in the component's log output.
HRESULT RenameFile([in] BSTR fileFrom, [in] BSTR fileTo)
Renames or moves a file on the server.
BSTR WorkingDirectory
Retrieves the current remote working directory.
HRESULT FXPDownloadFile([in] BSTR remoteFile, [in] ULONGLONG startPosition)
Initiates a server-to-server (FXP) file transfer from this server.
PassiveMode PassiveMode
Controls how the client determines the target IP address for Passive Mode data connections.
BSTR Account
Gets or sets the account information used for the ACCT command.
HRESULT ReadDirectoryRaw([in] VARIANT localFile)
Downloads the raw directory listing from the server to a local file.
long FileBufferSize
Sets the size of the internal memory buffer used for local file I/O operations.
HRESULT DeleteFile([in] BSTR file)
Deletes a file from the current working directory on the server.
long LISTOption
Gets or sets the flags used for the FTP LIST command.
BSTR Host
Specifies the destination server address.
ILogger Logger
Attaches a logging mechanism to the FTP session for debugging and auditing.
long LastTransferSpeed
Retrieves the average data transfer rate of the last FTP transfer.
HRESULT LastError
Retrieves the HRESULT error code of the most recent operation.
BSTR PeerName
Retrieves the IP address of the currently connected remote server.
VARIANT_BOOL IdleKeepAlive
Enables automatic "keep-alive" packets to prevent connection timeouts during inactivity.
VARIANT_BOOL Passive
Controls whether the data connection is established in Passive (PASV) or Active (PORT) mode.
VARIANT_BOOL UseMLSD
Controls whether the component uses the MLSD command if supported by the server.
HRESULT GetFileHash([in] HashAlgo algo, [in] BSTR file, [in] ULONGLONG start, [in] ULONGLONG length, [out, retval] BSTR *retval)
Retrieves the hash value of a file or portion specified with start and length.
IProxySettings Proxy
Accesses the proxy configuration settings for the connection.
DataProtection CommandProtection
HRESULT SetCreateTime([in] BSTR file, [in] FILETIME time)
Sets the creation timestamp of a file on the remote server.
HRESULT InitializeTransfer()
Explicitly applies data transfer settings to the server.
HRESULT DownloadFileEx([in] BSTR remoteFile, [in] VARIANT localFile, [in] ULONGLONG startPosition, [in] ULONGLONG endPosition, [in] ITransferProgressEvents *progress)
Downloads a file from the current working directory on the remote server with extended options.
BSTR Password
Gets or sets the password used for authentication.
IFTPClientId ClientId
Gets or sets the client identification information sent to the server via the CSID and CLNT commands.
ProtocolFamily ProtocolFamily
Retrieves the network protocol family (IPv4 or IPv6) used for the active connection.
HRESULT MakeDirectory([in] BSTR directory)
Creates a new directory on the server.
ProtocolFamily ProtocolFamilyPreference
Controls the preference for IPv4 or IPv6 during hostname resolution.
HRESULT GetFileSize([in] BSTR file, [out, retval] ULONGLONG *retval)
Retrieves the size of a specified file on the server.
BSTR LastCommand
Retrieves the raw text of the most recent FTP command sent to the server.
HRESULT RenameDirectory([in] BSTR directoryFrom, [in] BSTR directoryTo)
Renames or moves a directory on the server.
VARIANT_BOOL Busy
Indicates whether the connection is currently executing an operation.
HRESULT CopyFile([in] BSTR sourceFile, [in] BSTR destinationFile)
HRESULT FXPUploadFile([in] BSTR remoteFile, [in] ULONGLONG startPosition)
Initiates a server-to-server (FXP) file transfer to this server.
ISocketSettings SocketSettings
Accesses the low-level TCP socket configuration.
VARIANT_BOOL UseMessageLoop
Controls whether the component processes Windows messages during blocking operations.
FeatureDiscoveryMode FeatureDiscovery
Configures when the FEAT command is sent to discover server capabilities.
HRESULT Command([in] BSTR command)
Sends a raw string command to the server.
HRESULT SetUnixPermissions([in] BSTR name, [in] long permissions)
Sets the Unix permissions (mode) of a remote file or directory.
HRESULT ChangeDirectoryUp()
Changes the current working directory to the parent directory on the remote server.
long DataTransferSpeedLimit
Sets a maximum bandwidth limit for data transfers.
VARIANT_BOOL Aborted
Indicates whether the last operation was explicitly cancelled by the user.
long LastTransferBytesLo
Retrieves the lower 32 bits of the last transfer size.
HRESULT Continue()
Continues a pending operation.
HRESULT SetModifyTimeAsDate([in] BSTR file, [in] VARIANT date)
Sets the modification timestamp of a file using an OLE Automation Date.
HRESULT SetCreateTimeAsDate([in] BSTR file, [in] VARIANT date)
Sets the creation timestamp of a file using an OLE Automation Date.
HRESULT UploadFile([in] BSTR localFile, [in] BSTR remoteFile, [in] long startPositionLo, [in] long startPositionHi)
Uploads a local file to the current working directory on the remote server.
long LastTransferBytesHi
Retrieves the upper 32 bits of the last transfer size.
HRESULT ReadDirectory([out, retval] IFTPItems **retval)
Retrieves the contents of the current working directory on the server.
HRESULT SetModifyTime([in] BSTR file, [in] FILETIME time)
Sets the modification timestamp of a file on the remote server.
HRESULT UploadFileEx([in] VARIANT localFile, [in] BSTR remoteFile, [in] ULONGLONG startPosition, [in] ITransferProgressEvents *progress)
Uploads a file or stream to the remote server with extended options.
VARIANT_BOOL Login
Controls whether the component automatically performs the USER/PASS authentication sequence upon conn...
HRESULT DownloadFile([in] BSTR remoteFile, [in] BSTR localFile, [in] long startPositionLo, [in] long startPositionHi)
Downloads a file from the current working directory on the remote server.
VARIANT_BOOL PROTFallback
Controls whether the client falls back to an unencrypted data channel if encrypted data transfer (PRO...
VARIANT_BOOL LimitLocalPortRange
Enables the use of a specific pool of local ports for data connections.
HRESULT DownloadFromCommand([in] BSTR command, [in] VARIANT localFile, [in] long remoteStartPosLo, [in] long remoteStartPosHi)
HRESULT ClearCommandChannel()
Clears the command channel.
BSTR PassiveAddress
Specifies or retrieves the IP address used for Server-to-Server (FXP) data connections.
HRESULT LastDataConnectionError
Retrieves the specific error code encountered on the Data Channel socket.
long Port
Specifies the TCP port number to connect to.
FTPProtocol Protocol
Gets or sets the security protocol used for the connection.
HRESULT Abort()
Cancels the currently executing blocking operation.
HRESULT Connect()
Establishes a connection to the configured remote host and port.
ITlsSocket SSLSocketLayer
Retrieves the underlying TLS socket object used for secure communication.
HRESULT GetModifyTime([in] BSTR file, [out, retval] FILETIME *retval)
Retrieves the last modified time of a specified file on the server.
HRESULT SetFileLogger([out, retval] IFileLogger **fileLogger)
Creates a file logger sfFTPLib::FileLogger and attaches it to the Logger property.
HRESULT GetSpaceAvailable([in] BSTR path, [out, retval] ISFTPSpaceAvailable **retval)
Retrieves the available disk space information for a specified path on the server.
VARIANT_BOOL TransferKeepAlive
Enables the sending of NOOP commands on the Control Channel during active file transfers.
long KeepAliveInterval
Sets the time interval (in seconds) between automatic keep-alive packets.
HRESULT GetModifyTimeAsDate([in] BSTR file, [out, retval] VARIANT *retval)
Retrieves the last modified time of a specified file on the remote server.
HRESULT Disconnect()
Gracefully disconnects from the remote host.
long Timeout
Sets the maximum time (in seconds) to wait for a network operation to complete.
IFTPServerState ServerState
Retrieves the interface used to inspect the current state of the server session.
long LastReplyCode
Retrieves the numeric status code returned by the FTP server for the most recent command.
BSTR LastReply
Retrieves the raw text response received from the FTP server for the most recent command.
BSTR Username
Gets or sets the username used for authentication.
PortMode PortMode
Controls how the client determines the IP address sent in the PORT command (Active Mode).
VARIANT_BOOL SSCN
Enables or disables the sending of the SSCN command for secure FXP transfers.
ISpeedLimitSettings SpeedLimitSettings
Accesses the bandwidth throttling configuration for this specific connection.
HRESULT Stat([in] BSTR name, [out, retval] IFTPItems **retval)
Retrieves file status or a directory listing using the control connection.
DataTransferMode DataTransferMode
Gets or sets the transmission mode (Stream, Block, or Compressed) used for data transfer.
HRESULT GetFileSize32([in] BSTR file, [out, retval] long *retval)
Retrieves the size of a specified file on the server (for legacy applications).
long LastTransferTime
Retrieves the duration of the last FTP transfer in milliseconds.
HRESULT ChangeDirectory([in] BSTR directory)
Changes the current working directory on the server.
HRESULT ReadDirectoryFromCommand([in] BSTR command, [out, retval] IFTPItems **retval)
ConnectionStatus ConnectionStatus
Retrieves the current state of the SSH connection.
Definition sfFTPLib.idl:5521
HRESULT FXPFile([in] BSTR sourceFile, [in] BSTR destinationFile, [in] long startPositionLo, [in] long startPositionHi)
Transfers a file directly between two remote servers (FXP).
HRESULT FXPFileEx([in] LPCWSTR sourceFile, [in] LPCWSTR destinationFile, [in] ULONGLONG startPosition, [in] HANDLE cancelEvent)
IFTPConnection Source
Sets or retrieves the source connection object.
IFTPConnection Destination
Sets or retrieves the destination connection object.
The IFTPItem interface is a representation of a folder/file.
Definition sfFTPLib.idl:3064
long SizeHi
Retrieves the upper 32 bits of the file size.
VARIANT ModifyTimeAsDate
long ValidAttributeBits
Sets or retrieves the mask of valid file attributes.
VARIANT CTimeAsDate
long UnixFilePermissions
Sets or retrieves the Unix file permissions.
FILETIME CTime
Sets or retrieves the item's metadata change time (Unix ctime).
ItemType Type
Sets or retrieves the type of the item.
FILETIME CreateTime
Sets or retrieves the item's creation time (FILETIME format).
ULONGLONG AllocationSize
Sets or retrieves the number of bytes allocated for the item on the disk.
FILETIME ModifyTime
Sets or retrieves the item's last modification time (FILETIME format).
HRESULT IsValidAttribute([in] FTPItemAttribute attribute, [out, retval] VARIANT_BOOL *retval)
Checks if a specific attribute is available for this item.
long TimePrecision
BSTR LinkPoint
Sets or retrieves the target path of a symbolic link.
BSTR Unique
BSTR Group
Sets or retrieves the group of the item.
VARIANT AccessTimeAsDate
ULONGLONG Size
Sets or retrieves the size of the item in bytes.
FILETIME AccessTime
Sets or retrieves the item's last access time (FILETIME format).
BSTR MimeType
long SizeLo
Retrieves the lower 32 bits of the file size.
BSTR Owner
Sets or retrieves the owner of the item.
long AttributeBits
Sets or retrieves the file attribute flags.
VARIANT_BOOL UTC
Indicates whether the item's timestamps are in Coordinated Universal Time (UTC).
BSTR Name
Sets or retrieves the name of the item.
VARIANT CreateTimeAsDate
Definition sfFTPLib.idl:3450
IFTPItem Item([in] long index)
Retrieves the item at the specified index.
HRESULT GetAt([in] UINT index, [out, retval] IFTPItem **item)
long Count
Retrieves the total number of items in the collection.
IUnknown _NewEnum
Interface for parsing raw FTP directory listings.
Definition sfFTPLib.idl:5478
HRESULT ParseLine([in] BSTR line, [out, retval] IFTPItem **item)
Parses a single line of directory listing text into an item object.
HRESULT Initialize([in] ParserFormat format)
Configures the parser for a specific directory listing format.
Definition sfFTPLib.idl:5458
HRESULT Initialize([in] ParserFormat format)
HRESULT ParseLine([in] LPCWSTR line, [out, retval] IFTPItem **item)
Manages a specific range of local ports for Active FTP data connections.
Definition sfFTPLib.idl:1361
long MaxPort
Retrieves the upper bound of the allowed port range.
HRESULT SetPortRange([in] long minPort, [in] long maxPort)
Defines the range of local ports to use.
long MinPort
Retrieves the lower bound of the allowed port range.
HRESULT NextPort([out, retval] long *retval)
Retrieves the next available port from the configured pool.
Encapsulates the server identification and capability data returned in a CSID reply.
Definition sfFTPLib.idl:1729
BSTR Version
Retrieves the version string of the FTP server software.
BSTR Name
Retrieves the name of the FTP server software. This property identifies the specific server product.
CaseSensitivity CaseSensitivity
Retrieves the filesystem case-sensitivity rules reported by the server.
Definition sfFTPLib.idl:1770
long CodePage
Retrieves the Windows Code Page identifier used for filename encoding.
DataProtection DataProtection
Retrieves the current security level of the data channel.
BSTR WorkingDirectory
Retrieves the current remote working directory.
HRESULT GetCaseSensitivity([out, retval] CaseSensitivity *retval)
Determines if the remote file system distinguishes between uppercase and lowercase filenames.
ServerType ServerType
Retrieves the identified type or operating system of the remote server.
VARIANT_BOOL SSCN
Retrieves the status of the Set Secure Connection Negotiation (SSCN) mode.
HRESULT EvaluateParserFormat([out, retval] ParserFormat *retval)
BSTR FEATReply
Retrieves the raw server response to the FEAT command.
DataTransferType DataTransferType
Retrieves the currently active data transfer mode.
BSTR WelcomeMessage
Retrieves the initial greeting message sent by the server.
HRESULT LookupFeature([in] BSTR key, [out] BSTR *value, [out, retval] VARIANT_BOOL *retval)
Checks if a specific server feature is supported and retrieves its parameters.
HRESULT GetServerCapabilityState([in] ServerCapability capability, [out, retval] ServerCapabilityState *retval)
DataTransferMode DataTransferMode
Retrieves the currently active data transfer mode (Stream, Block, or Compressed).
DataProtection CommandProtection
Retrieves the security level of the Control (Command) channel.
VARIANT_BOOL PBSZ
Indicates whether the Protection Buffer Size (PBSZ) has been successfully negotiated.
IFTPServerId ServerId
Retrieves the server identification details obtained via the CSID command.
HRESULT IsHashAlgoAvailable([in] HashAlgo algo, [out, retval] VARIANT_BOOL *retval)
Checks if the server supports a specific hashing algorithm.
ServerSoftware ServerSoftware
Retrieves the specific server software family detected by the component.
OperatingSystem OperatingSystem
Retrieves the detected operating system family of the remote server.
BSTR HomeDirectory
Retrieves the initial login directory for the user.
BSTR SYSTReply
Retrieves the server's response to the SYST command.
Definition sfFTPLib.idl:3005
BSTR File
Full path to the log file.
HRESULT WriteLog([in] BSTR text)
LogFormat Format
Log file format.
Provides global configuration, statistics, and licensing management for the library.
Definition sfFTPLib.idl:1257
VARIANT_BOOL FIPS
Enables or disables FIPS 140-2 compliant mode.
BSTR ActivationUrl
Sets or retrieves the URL used for online activation.
ULONGLONG TotalBytesSent
Retrieves the total number of bytes sent by all instances of the library.
ULONGLONG TotalBytesReceived
Retrieves the total number of bytes received by all instances of the library.
BSTR Version
Retrieves the version of the library.
HRESULT LoadLicense([in] BSTR productKey)
Applies a product key to license the component.
Definition sfFTPLib.idl:1428
long UploadSpeedLimit
Sets or retrieves the maximum upload speed.
long DownloadSpeedLimit
Sets or retrieves the maximum download speed.
Definition sfFTPLib.idl:8415
HRESULT OnProgress(ULONGLONG chunk)
Encapsulates a cryptographic key pair, public key, or certificate.
Definition sfFTPLib.idl:2441
HRESULT SetProperty([in] LPCWSTR pszProperty, [in, size_is(cbInput)] byte *pbInput, [in] ULONG cbInput, [in] ULONG dwFlags)
Sets advanced or algorithm-specific properties.
CertificateType CertificateType
Indicates the format of the attached certificate.
KeyAlgo Algo
Identifies the cryptographic algorithm used by this key.
HRESULT ImportBlob([in] LPCWSTR pszBlobType, [in, size_is(cbInput)] byte *pbInput, [in] ULONG cbInput)
Loads a key or certificate from a memory buffer.
HRESULT Sign([in] HashAlgo hashAlgo, [in, size_is(cbInput)] byte *pbInput, [in] ULONG cbInput, [out, size_is(*pcbSignature)] byte *pbSignature, [in, out] ULONG *pcbSignature, [in] ULONG flags)
Generates a digital signature for a data blob.
long Bits
Retrieves the strength of the key in bits.
HRESULT Verify([in] HashAlgo hashAlgo, [in, size_is(cbSignature)] byte *pbSignature, [in] ULONG cbSignature, [in, size_is(cbInput)] byte *pbInput, [in] ULONG cbInput, [in] ULONG flags)
Verifies a digital signature against a data blob.
HRESULT ExportKey([in] LPCWSTR pszBlobType, [out, size_is(*pcbData)] byte *pbData, [in, out] ULONG *pcbData)
Serializes the key to a memory buffer.
VARIANT Certificate
Retrieves the raw certificate data associated with this key, if any.
KeyType Type
Retrieves the classification of the key (e.g., Private, Public, or None).
Definition sfFTPLib.idl:8303
HRESULT LoadFromCertificateStore([in] BSTR thumbprint, [out, retval] IKey **retval)
Loads a cryptographic key from the Windows "Personal" (My) Certificate Store.
HRESULT LoadFile([in] BSTR file, [in] BSTR password, [out, retval] IKey **retval)
Loads a cryptographic key from a local file.
HRESULT SaveFile([in] KeyFileFormat fileFormat, [in] IKey *key, [in] KeyType keyType, [in] BSTR file, [in] BSTR password)
Saves a key object to a file in a specified format.
Definition sfFTPLib.idl:2979
HRESULT Log([in] StatusEventType eventType, [in, size_is(textLength)] LPCWSTR text, [in] UINT textLength)
Definition sfFTPLib.idl:8574
HRESULT Initialize([in] void *certContext)
HRESULT GetHandle([out, retval] ULONG_PTR *retval)
Definition sfFTPLib.idl:8560
HRESULT Generate([in] long bits)
HRESULT Initialize([in] LPCWSTR provider)
HRESULT CreatePersistedKey([in] LPCWSTR algorithmName)
Definition sfFTPLib.idl:8277
HRESULT Generate([in] long nid, [in] long bits)
Definition sfFTPLib.idl:8452
ParserFormat Format
IProxySettings Interface.
Definition sfFTPLib.idl:2623
BSTR Host
Gets or sets the proxy host address.
long ProtocolFamily
Gets or sets the allowed protocol family.
BSTR Username
Gets or sets the username for proxy authentication.
VARIANT_BOOL Authentication
Gets or sets whether proxy authentication is enabled.
long ProtocolFamilyPreference
Gets or sets the protocol family preference.
ProxyType Type
Gets or sets the proxy protocol type.
BSTR Password
Gets or sets the password for proxy authentication.
long Port
Gets or sets the proxy server port.
Definition sfFTPLib.idl:7203
ILogger Logger
Attaches a logging mechanism to the SFTP session for debugging and auditing.
long LastTransferBytesHi
Retrieves the upper 32 bits of the last transfer size.
HRESULT StatVFS([in] BSTR path, [out, retval] ISFTPStatVFS **retval)
Retrieves information about the remote file system's capacity and limits.
HRESULT ReadDirectoryEx([in] BSTR directory, [in] ITransferProgressEvents *progress, [out, retval] IFTPItems **retval)
An advanced version of ReadDirectory that supports progress monitoring.
HRESULT SetStat([in] BSTR path, [in] IFTPItem *item)
Updates the attributes of a remote file or directory.
HRESULT RealPathEx([in] BSTR original, [in] long flags, [in] BSTR component, [out, retval] BSTR *retval)
An extended path resolution method supporting SFTP v6 control flags.
HRESULT NewFile([in] BSTR remoteFile)
Creates a new, empty file on the remote server.
ULONGLONG LastTransferBytes
Retrieves the total number of bytes transferred during the last SFTP transfer.
BSTR ServerLineTerminator
Specifies the line ending sequence used by the remote server for text-based operations.
long ProtocolVersion
Retrieves the SFTP protocol version currently in use for the active session.
BSTR SFTPServerCommand
Specifies the command or subsystem name used to initialize the SFTP session on the remote server.
HRESULT MakeDirectory([in] BSTR directory)
Creates a new directory on the remote server.
BSTR LastStatusMessage
Retrieves the human-readable error message returned by the SFTP server for the last operation.
HRESULT StatEx([in] BSTR path, [in] long flags, VARIANT_BOOL followLink, [out, retval] IFTPItem **retval)
An extended attribute retrieval method with explicit symbolic link control.
HRESULT CopyFile([in] BSTR sourceFile, [in] BSTR destinationFile, [in] VARIANT_BOOL overwrite)
Copies a file from one location to another directly on the remote server.
VARIANT_BOOL UseMessageLoop
Controls whether the component processes Windows messages during blocking operations.
HRESULT GetSpaceAvailable([in] BSTR path, [out, retval] ISFTPSpaceAvailable **retval)
Retrieves the available and total disk space for a specific path in bytes.
VARIANT_BOOL Busy
Indicates whether the connection is currently executing an operation.
HRESULT Rename([in] BSTR oldPath, [in] BSTR newPath, [in] long flags)
Renames or moves a file/directory on the remote server.
HRESULT UploadFile([in] VARIANT localFile, [in] BSTR remoteFile, [in] DataTransferType transferType, [in] long startPositionLo, [in] long startPositionHi)
Transfers a file or stream from the local system to the remote server.
long LastTransferTime
Retrieves the duration of the last SFTP transfer in milliseconds.
SFTPConnectionStatus Status
Retrieves the current operational state of the SFTP subsystem.
HRESULT Connect()
Initializes the SFTP subsystem over the existing SSH session.
HRESULT SetFileLogger([out, retval] IFileLogger **fileLogger)
Creates a file logger sfFTPLib::FileLogger and attaches it to the Logger property.
HRESULT Stat([in] BSTR path, [in] long flags, [out, retval] IFTPItem **retval)
Retrieves information and attributes for a file or directory.
HRESULT RemoveDirectory([in] BSTR directory)
Deletes an empty directory from the remote server.
long LastTransferBytesLo
Retrieves the lower 32 bits of the last transfer size.
long CodePage
Specifies the character encoding used to interpret filenames on the remote server.
HRESULT RealPath([in] BSTR original, [out, retval] BSTR *retval)
Resolves a relative or symbolic path into its canonical absolute equivalent on the server.
HRESULT GetFileHash([in] HashAlgo algo, [in] BSTR path, [in] ULONGLONG offset, [in] ULONGLONG length, [out, retval] ISFTPExtendedCheckFileResult **retval)
Calculates a cryptographic hash of a remote file or a specific byte range.
HRESULT DownloadFileEx([in] BSTR remoteFile, [in] VARIANT localFile, [in] DataTransferType transferType, [in] ULONGLONG startPosition, [in] ULONGLONG endPosition, [in] long flags, [in] ITransferProgressEvents *progress)
An advanced method to transfer a file (or file range) from the remote server with progress callbacks ...
HRESULT DownloadFile([in] BSTR remoteFile, [in] VARIANT localFile, [in] DataTransferType transferType, [in] long startPositionLo, [in] long startPositionHi)
Transfers a file from the remote server to the local system.
long Timeout
Sets the maximum time (in seconds) to wait for a network operation to complete.
HRESULT Link([in] BSTR path, [in] BSTR linkPoint, [in] VARIANT_BOOL symbolicLink)
Creates a link (symbolic or hard) on the remote server.
HRESULT RemoveFile([in] BSTR file)
Deletes a specific file from the remote server.
long LastTransferSpeed
Retrieves the average data transfer rate of the last SFTP transfer.
ISFTPVendorId VendorId
Configures the software identification data that the client sends to the server.
HRESULT Abort()
Cancels the currently executing blocking operation.
HRESULT UploadFileEx([in] VARIANT localFile, [in] BSTR remoteFile, [in] DataTransferType transferType, [in] ULONGLONG startPosition, [in] ITransferProgressEvents *progress)
An advanced method to upload data to the remote server with progress tracking.
HRESULT Close()
Closes the connection.
HRESULT ReadDirectory([in] BSTR directory, [out, retval] IFTPItems **retval)
Retrieves a collection of files and subdirectories from a remote directory.
ISSHConnection SSHConnection
Accesses the underlying Secure Shell (SSH) transport interface.
long ProtocolVersionPreference
Controls the preferred version of the SFTP protocol to negotiate with the server.
ISFTPServerState ServerState
Accesses the read-only object describing the capabilities and identity of the connected SFTP server.
SFTPStatus LastStatusCode
Retrieves the most recent protocol-level status code returned by the SFTP server.
HRESULT Disconnect()
Terminates the SFTP subsystem session.
HRESULT LStat([in] BSTR path, [in] long flags, [out, retval] IFTPItem **retval)
Retrieves information for a file, directory, or symbolic link (without following the link).
HRESULT ReadLink([in] BSTR path, [out, retval] BSTR *retval)
Reads the target path of a symbolic link.
Definition sfFTPLib.idl:2941
BSTR HashAsString
Retrieves the computed hash value as a hexadecimal string.
HashAlgo HashAlgo
Retrieves the hashing algorithm used by the server.
Definition sfFTPLib.idl:6059
HRESULT IsExtension([in] BSTR extension, [out, retval] VARIANT_BOOL *retval)
Checks if the connected server supports a specific SFTP protocol extension.
BSTR EOL
Retrieves the line ending sequence explicitly reported by the server's operating system.
ISFTPVendorId VendorId
Retrieves the software identification data reported by the remote SFTP server.
Definition sfFTPLib.idl:6185
ULONGLONG BytesOnDevice
The total capacity of the physical storage device in bytes.
long BytesPerAllocationUnit
The size of a single allocation unit (cluster) in bytes.
ULONGLONG BytesAvailableToUser
The total storage quota or limit assigned to the current user in bytes.
ULONGLONG UnusedBytesOnDevice
The total amount of unused (free) space on the device in bytes.
ULONGLONG UnusedBytesAvailableToUser
The actual amount of space the current user can write to in bytes.
Definition sfFTPLib.idl:5912
ULONGLONG bavail
Number of free blocks available to non-privileged users.
ULONGLONG ffree
Total number of free file nodes.
ULONGLONG bfree
Total number of free blocks.
ULONGLONG flag
Bitmask of mount flags (e.g., ST_RDONLY, ST_NOSUID).
ULONGLONG frsize
Fragment size (the unit of allocation).
ULONGLONG fsid
File system ID.
ULONGLONG favail
Number of free file nodes available to non-privileged users.
ULONGLONG blocks
Total number of blocks on the file system (in units of frsize).
ULONGLONG files
Total number of file nodes (inodes) in the file system.
ULONGLONG namemax
Maximum length of a filename on this file system.
ULONGLONG bsize
File system block size (fundamental file system block size).
Encapsulates the software identification data exchanged during the SFTP version negotiation.
Definition sfFTPLib.idl:5970
BSTR ProductVersion
The display string for the software version.
ULONGLONG ProductBuild
The monotonic build number of the software.
BSTR ProductName
The specific name of the software product.
BSTR VendorName
The name of the software vendor.
Definition sfFTPLib.idl:8491
HRESULT OnDetach()
Definition sfFTPLib.idl:6338
ProtocolFamily ProtocolFamilyPreference
Controls the preference for IPv4 or IPv6 during hostname resolution.
BSTR Password
Specifies the password used for authentication.
VARIANT AgentKeyBlob
Specifies the specific public key from the SSH Agent to use for authentication.
VARIANT_BOOL UseMessageLoop
Controls whether the component processes Windows messages during blocking operations.
ILogger Logger
Attaches a logging mechanism to the SSH session for debugging and auditing.
BSTR Username
Specifies the user account name for authentication.
long KeepAliveInterval
Sets the interval (in seconds) between automatic keep-alive packets.
long CompressionLevel
Controls the aggressiveness of the zlib compression algorithm.
IProxySettings Proxy
Accesses the proxy configuration settings for the connection.
IKey ClientHostKey
Specifies the private host key used for Host-Based authentication.
ISSHServerState ServerState
Accesses the identification and environmental metadata of the connected SSH server.
IKey PrivateKey
Specifies the private key for public-key authentication.
HRESULT Abort()
Cancels the currently executing blocking operation.
IKey ServerHostKey
Retrieves the public host key presented by the remote server.
VARIANT Compressions
Specifies the ordered list of compression algorithms to propose during the handshake.
VARIANT Authentications
Specifies the ordered list of authentication methods to attempt.
BSTR Host
Specifies the destination server address.
GSSAPIMethod GSSAPIMethod
Selects the specific GSSAPI provider library used for Kerberos authentication.
VARIANT Languages
Specifies the ordered list of preferred languages for server messages.
ISpeedLimitSettings SpeedLimitSettings
Accesses the bandwidth throttling configuration for this specific connection.
HRESULT SetFileLogger([out, retval] IFileLogger **fileLogger)
Creates a file logger sfFTPLib::FileLogger and attaches it to the Logger property.
BSTR ClientId
Customizes the client identifier string sent during the SSH handshake.
long Timeout
Sets the maximum time (in seconds) to wait for a network operation to complete.
HRESULT SendPacket([in, size_is(length)] byte *data, [in] long length)
ProtocolFamily ProtocolFamily
Retrieves the network protocol family (IPv4 or IPv6) used for the active connection.
ISocketSettings SocketSettings
Accesses the low-level TCP socket configuration.
HRESULT Disconnect()
Gracefully terminates the SSH session and closes the connection.
BSTR ClientHostname
Specifies the client machine name sent during Host-Based authentication.
VARIANT Encryptions
Specifies the ordered list of symmetric encryption algorithms to propose to the server.
VARIANT_BOOL UsePasswordForKeyboardInteractive
Controls whether the Password property is automatically used to answer Keyboard-Interactive prompts.
VARIANT KeyExchanges
Specifies the ordered list of Key Exchange (KEX) algorithms to propose.
long Port
Specifies the TCP port number to connect to.
HRESULT Connect()
Establishes a secure connection to the remote SSH server.
ISSHConnectionInfo ConnectionInfo
Retrieves the cryptographic parameters negotiated for the current session.
VARIANT ServerHostKeyAlgorithms
Controls the prioritized list of Public Key algorithms accepted during the Server Host Key verificati...
VARIANT_BOOL Busy
Indicates whether the connection is currently executing an operation.
ConnectionStatus ConnectionStatus
Retrieves the current state of the SSH connection.
VARIANT MACs
Specifies the ordered list of Message Authentication Code (MAC) algorithms to propose.
HRESULT CreateSFTPConnection([out, retval] ISFTPConnection **retval)
Initializes the SFTP subsystem over the current SSH session.
HRESULT Close()
Closes the connection.
Provides detailed information about the cryptographic algorithms used in the active SSH session.
Definition sfFTPLib.idl:6226
SSHCompression ClientToServerCompression
Retrieves the compression method used for data sent TO the server.
SSHCompression ServerToClientCompression
Retrieves the compression method used for data received FROM the server.
Encryption ServerToClientEncryption
Retrieves the symmetric encryption algorithm used for data received FROM the server.
HMAC ServerToClientMAC
Retrieves the Message Authentication Code (MAC) algorithm for incoming data.
HMAC ClientToServerMAC
Retrieves the Message Authentication Code (MAC) algorithm for outgoing data.
KeyExchange KeyExchangeAlgorithm
Retrieves the Key Exchange algorithm used to establish the shared secret.
HashAlgo KeyExchangeHashAlgorithm
Retrieves the hashing algorithm used specifically during the Key Exchange.
Encryption ClientToServerEncryption
SSHPublicKeyAlgo HostKeyAlgorithm
Retrieves the algorithm used for the Server Host Key.
Utility interface for extracting the raw SSH public key blob from a key object.
Definition sfFTPLib.idl:8521
HRESULT GetPublicKeyBlob([in] IKey *key, [out, retval] VARIANT *retval)
serialized the public key into the standard SSH binary blob format.
Encapsulates information about the remote SSH server's identity and environment.
Definition sfFTPLib.idl:6290
BSTR RemoteId
Retrieves the raw identification string sent by the server.
OperatingSystem OperatingSystem
Estimates the operating system of the remote server.
SSHServerSoftware ServerSoftware
Identifies the specific SSH server software implementation.
Encapsulates the cryptographic parameters of an active TLS/SSL connection.
Definition sfFTPLib.idl:1570
long CipherStrength
Retrieves the strength (key length) of the cipher algorithm in bits.
long HashStrength
Retrieves the strength (bit length) of the hash algorithm.
long ExchangeStrength
Retrieves the strength of the Key Exchange algorithm in bits.
BSTR ExchangeAlgo
Retrieves the name of the Key Exchange algorithm used to establish the session keys.
long Protocol
Retrieves the specific security protocol used for the connection.
BSTR HashAlgo
Retrieves the name of the hashing algorithm used for message integrity.
BSTR CipherAlgo
Retrieves the name of the symmetric encryption algorithm used for data confidentiality.
Definition sfFTPLib.idl:2716
long SendBufferSize
The size of the send buffer in bytes.
long ReceiveBufferSize
The size of the receive buffer in bytes.
VARIANT_BOOL AutoTuneReceiveBufferSize
Enables or disables the application of the custom receive buffer size.
VARIANT_BOOL TcpNoDelay
Controls the TCP_NODELAY socket option (Nagle's algorithm).
VARIANT_BOOL AutoTuneSendBufferSize
Enables or disables the application of the custom send buffer size.
Definition sfFTPLib.idl:2817
long UploadSpeedLimit
The speed limit in bytes/second for uploads.
long DownloadSpeedLimit
The speed limit in bytes/second for downloads.
Definition sfFTPLib.idl:1641
HRESULT GetStream([out] IStream **stream)
HRESULT Initialize([in] IStream *stream)
HRESULT Uninitialize()
Definition sfFTPLib.idl:1656
Definition sfFTPLib.idl:2859
long ClientCertStoreLocation
The certificate store location where the client certificate can be found.
VARIANT RemoteCert
Contains a the encoded remote certificate.
long DisabledProtocols
A mask of disabled protocols.
VARIANT ClientCertThumbprint
The thumbprint of the client certificate to be used.
BSTR ClientCertStore
The certificate store name where the client certificate can be found.
VARIANT_BOOL Enabled
ISecurityConnectionInfo ConnectionInfo
Retrieves information about the negotiated security parameters of the active connection.
A callback interface for monitoring data transfer progress.
Definition sfFTPLib.idl:3500
HRESULT OnTransferProgress([in] ULONGLONG bytesTransferred)
Called periodically by the component to report transfer progress.
Definition sfFTPLib.idl:8469
HRESULT KeyExchangeToString([in] KeyExchange keyexchange, [out, retval] BSTR *retval)
HRESULT SSHCompressionToString([in] SSHCompression compression, [out, retval] BSTR *retval)
HRESULT VariantTimeToFileTime([in] DATE date, [out, retval] FILETIME *retval)
HRESULT FileTimeToVariantTime([in] FILETIME filetime, [out, retval] DATE *retval)
HRESULT EncryptionToString([in] Encryption encryption, [out, retval] BSTR *retval)
HRESULT ServerSoftwareToString([in] ServerSoftware software, [out, retval] BSTR *retval)
HRESULT UnixTimeToFileTime([in] ULONGLONG unixTime, [out, retval] FILETIME *retval)
HRESULT FileTimeToUnixTime([in] FILETIME filetime, [out, retval] ULONGLONG *retval)
HRESULT SSHPublicKeyAlgoToString([in] SSHPublicKeyAlgo keyalgo, [out, retval] BSTR *retval)
HRESULT HMACToString([in] HMAC mac, [out, retval] BSTR *retval)
HRESULT ProxyTypeToString([in] ProxyType proxytype, [out, retval] BSTR *retval)
HRESULT HashAlgoToString([in] HashAlgo hashalgo, [out, retval] BSTR *retval)
HRESULT MessageFromHRESULT([in] HRESULT result, [out, retval] BSTR *retval)
Definition sfFTPLib.idl:9030
void OnVerifyCert([in, out] VARIANT_BOOL *shouldContinue)
Defines the events fired by the SFTPConnection class.
Definition sfFTPLib.idl:9194
void OnClose()
Fired when the SFTP connection is closed.
Defines the events fired by the SSHConnection class during the session lifecycle.
Definition sfFTPLib.idl:9263
void OnDisconnect()
Fired when the SSH connection is closed or lost.
void OnLogin()
Fired immediately after the user has successfully authenticated.
void OnAuthentication([in] BSTR method)
Fired to notify the client which authentication method was just attempted.
void OnUserAuthBanner([in] BSTR message)
Fired when the server sends a banner message before authentication is complete.
void OnPasswordChangeRequest([in] BSTR prompt,[out] BSTR *newPassword,[in, out] VARIANT_BOOL *handled)
Fired when the server requires the user to change their expired password.
void OnLoginChallenge([in] BSTR challenge,[out] BSTR *response)
Fired when the server requires "Keyboard-Interactive" authentication input.
void OnHostKeys([in] VARIANT hostKeys)
Fired to provide a list of all host keys supported by the server.
void OnHostKey([in] VARIANT varHostKey,[in, out] VARIANT_BOOL *accept)
Fired during the handshake to verify the server's host key.
Definition sfFTPLib.idl:9045
HRESULT OnVerifyCert([in, out] VARIANT_BOOL *shouldContinue)
A callback interface for handling SFTP connection state changes.
Definition sfFTPLib.idl:9231
HRESULT OnClose()
Fired when the SFTP session is terminated.
Definition sfFTPLib.idl:9351
HRESULT OnPasswordChangeRequest([in] LPCWSTR prompt, [out] BSTR *newPassword, [in, out] VARIANT_BOOL *handled)
HRESULT OnLoginChallenge([in] LPCWSTR challenge, [out] BSTR *response)
HRESULT OnAuthentication([in] LPCWSTR method)
HRESULT OnHostKey([in] VARIANT varHostKey, [in, out] VARIANT_BOOL *accept)
HRESULT OnHostKeys([in, size_is(numberOfKeys)] const PROPVARIANT hostKeys[*], [in] UINT numberOfKeys)
HRESULT OnUserAuthBanner([in] LPCWSTR message)
Definition sfFTPLib.idl:8585
SFTPItemAttribute
Definition sfFTPLib.idl:8824
@ ftpSFTPItemAttributeBits
Definition sfFTPLib.idl:8834
@ ftpSFTPItemAttributeCTime
Definition sfFTPLib.idl:8840
@ ftpSFTPItemAttributeSize
Definition sfFTPLib.idl:8825
@ ftpSFTPItemAttributeAccessTime
Definition sfFTPLib.idl:8828
@ ftpSFTPItemAttributePermissions
Definition sfFTPLib.idl:8827
@ ftpSFTPItemAttributeAllocationSize
Definition sfFTPLib.idl:8835
@ ftpSFTPItemAttributeSubSecondTimes
Definition sfFTPLib.idl:8833
@ ftpSFTPItemAttributeLinkCount
Definition sfFTPLib.idl:8838
@ ftpSFTPItemAttributeModifyTime
Definition sfFTPLib.idl:8830
@ ftpSFTPItemAttributeOwnerGroup
Definition sfFTPLib.idl:8832
@ ftpSFTPItemAttributeMimeType
Definition sfFTPLib.idl:8837
@ ftpSFTPItemAttributeTextHint
Definition sfFTPLib.idl:8836
@ ftpSFTPItemAttributeUntranslatedName
Definition sfFTPLib.idl:8839
@ ftpSFTPItemAttributeExtended
Definition sfFTPLib.idl:8841
@ ftpSFTPItemAttributeACL
Definition sfFTPLib.idl:8831
@ ftpSFTPItemAttributeUIDGID
Definition sfFTPLib.idl:8826
@ ftpSFTPItemAttributeCreateTime
Definition sfFTPLib.idl:8829
importlib(STDOLE_TLB)
DownloadFlags
Flags that control the behavior of the ISFTPConnection::DownloadFileEx operation.
Definition sfFTPLib.idl:8904
@ ftpDownloadFlagReadBeyondEnd
Allows the read operation to complete successfully even if the requested range exceeds the file size.
Definition sfFTPLib.idl:8928
@ ftpDownloadFlagNone
Default behavior.
Definition sfFTPLib.idl:8913
SFTPItemAttributeBit
Definition sfFTPLib.idl:8807
@ ftpSFTPItemAttributeBitEncrypted
Definition sfFTPLib.idl:8813
@ ftpSFTPItemAttributeBitCompressed
Definition sfFTPLib.idl:8814
@ ftpSFTPItemAttributeBitSync
Definition sfFTPLib.idl:8818
@ ftpSFTPItemAttributeBitImmutable
Definition sfFTPLib.idl:8817
@ ftpSFTPItemAttributeBitArchive
Definition sfFTPLib.idl:8812
@ ftpSFTPItemAttributeBitHidden
Definition sfFTPLib.idl:8810
@ ftpSFTPItemAttributeBitTranslationErr
Definition sfFTPLib.idl:8819
@ ftpSFTPItemAttributeBitCaseInsensitive
Definition sfFTPLib.idl:8811
@ ftpSFTPItemAttributeBitSystem
Definition sfFTPLib.idl:8809
@ ftpSFTPItemAttributeBitAppendOnly
Definition sfFTPLib.idl:8816
@ ftpSFTPItemAttributeBitSparse
Definition sfFTPLib.idl:8815
@ ftpSFTPItemAttributeBitReadOnly
Definition sfFTPLib.idl:8808
_HRESULT
Definition sfFTPLib.idl:8589
@ FTPLIB_E_KEYFILE_UNSUPPORTED
Definition sfFTPLib.idl:8640
@ FTPLIB_E_NOTAREGULARFILE
Definition sfFTPLib.idl:8607
@ FTPLIB_E_TLSNOTSUPPORTED
Definition sfFTPLib.idl:8610
@ FTPLIB_E_PAUSED
Definition sfFTPLib.idl:8597
@ FTPLIB_E_LOCALPOLICYREQUIRESCCC
Definition sfFTPLib.idl:8618
@ FTPLIB_E_ACTIVATION_OPERATINGSYSTEMNOTSUPPORTED
Definition sfFTPLib.idl:8672
@ FTPLIB_E_ACTIVATION_LICENSEEXPIRED
Definition sfFTPLib.idl:8665
@ FTPLIB_E_PASVCOMMANDFAILED
Definition sfFTPLib.idl:8609
@ FTPLIB_E_SERVERPROTOCOLVIOLATION
Definition sfFTPLib.idl:8605
@ FTPLIB_E_TOOMANYUSERS
Definition sfFTPLib.idl:8620
@ FTPLIB_E_LICENSE_PRODUCTMISMATCH
Definition sfFTPLib.idl:8654
@ FTPLIB_E_TIMEOUT
Definition sfFTPLib.idl:8592
@ FTPLIB_E_LICENSE_FEATURENOTLICENSED
Definition sfFTPLib.idl:8653
@ FTPLIB_E_MOREDATA
Definition sfFTPLib.idl:8596
@ FTPLIB_E_SSH_KEYEXCHANGE
Definition sfFTPLib.idl:8632
@ FTPLIB_E_TLSDATASESSIONTOKENERROR
Definition sfFTPLib.idl:8621
@ FTPLIB_E_ACTIVATION_UNSUPPORTEDVERSION
Definition sfFTPLib.idl:8661
@ FTPLIB_E_SERVERPOLICYREQUIRESTLS
Definition sfFTPLib.idl:8612
@ FTPLIB_E_SSH_INVALIDMESSAGE
Definition sfFTPLib.idl:8629
@ FTPLIB_E_ACTIVATION_INVALIDSERIAL
Definition sfFTPLib.idl:8662
@ FTPLIB_E_ACTIVATION_PRODUCTVERSIONNOTSUPPORTED
Definition sfFTPLib.idl:8671
@ FTPLIB_E_ACTIVATION_SUBLICENSEDISABLED
Definition sfFTPLib.idl:8670
@ FTPLIB_E_NOTDISCONNECTED
Definition sfFTPLib.idl:8599
@ FTPLIB_E_ACTIVATION_LICENSEEXHAUSTED
Definition sfFTPLib.idl:8666
@ FTPLIB_E_SSH_HOSTKEYREJECTED
Definition sfFTPLib.idl:8635
@ FTPLIB_E_SSH_CHANNEL_EOF
Definition sfFTPLib.idl:8633
@ FTPLIB_E_LICENSE_MACHINEIDMISMATCH
Definition sfFTPLib.idl:8656
@ FTPLIB_E_SSH_INVALIDHOSTSIGNATURE
Definition sfFTPLib.idl:8634
@ FTPLIB_E_KEYFILE_INVALIDFORMAT
Definition sfFTPLib.idl:8638
@ FTPLIB_E_SSH_CHANNEL_OPENFAILURE
Definition sfFTPLib.idl:8631
@ FTPLIB_E_SSH_CHANNEL_REQUESTFAILURE
Definition sfFTPLib.idl:8630
@ FTPLIB_E_BOX_APPLICATIONBLOCKED
Definition sfFTPLib.idl:8616
@ FTPLIB_E_KEY_INVALID
Definition sfFTPLib.idl:8639
@ FTPLIB_E_BOX_CAPTCHAREQUIRED
Definition sfFTPLib.idl:8617
@ FTPLIB_E_TOOMANYCONNECTIONS
Definition sfFTPLib.idl:8608
@ FTPLIB_E_NOOPERATION
Definition sfFTPLib.idl:8593
@ FTPLIB_E_ACTIVATION_LICENSEINACTIVE
Definition sfFTPLib.idl:8664
@ FTPLIB_E_HOSTNAMEEXPECTED
Definition sfFTPLib.idl:8611
@ FTPLIB_E_IPBANNED
Definition sfFTPLib.idl:8613
@ FTPLIB_E_HOMEDIRECTORY
Definition sfFTPLib.idl:8614
@ FTPLIB_E_ACTIVATION_PRODUCTMISMATCH
Definition sfFTPLib.idl:8663
@ FTPLIB_E_CONNECTIONCLOSED
Definition sfFTPLib.idl:8600
@ FTPLIB_E_AUTHENTICATION
Definition sfFTPLib.idl:8602
@ FTPLIB_E_KEYFILE_PASSWORD
Definition sfFTPLib.idl:8637
@ FTPLIB_E_NOTCONNECTED
Definition sfFTPLib.idl:8591
@ FTPLIB_E_LICENSE_VERSIONMISMATCH
Definition sfFTPLib.idl:8655
@ FTPLIB_E_LICENSE_MAINTENANCEEXPIRED
Definition sfFTPLib.idl:8658
@ FTPLIB_E_ACTIVATION_MAINTENANCEEXPIRED
Definition sfFTPLib.idl:8669
@ FTPLIB_E_COULDNOTCREATEFILE
Definition sfFTPLib.idl:8622
@ FTPLIB_E_SSH_NEGOTIATION
Definition sfFTPLib.idl:8627
@ FTPLIB_E_LICENSE_EXPIRED
Definition sfFTPLib.idl:8657
@ FTPLIB_E_SFTP_INVALIDMESSAGE
Definition sfFTPLib.idl:8645
@ FTPLIB_E_SFTP_STATUSERROR
Definition sfFTPLib.idl:8644
@ FTPLIB_E_BUSY
Definition sfFTPLib.idl:8590
@ FTPLIB_E_COMMANDNOTIMPLEMENTED
Definition sfFTPLib.idl:8606
@ FTPLIB_E_SSH_HOSTAUTHENTICATION
Definition sfFTPLib.idl:8626
@ FTPLIB_E_SSH_INVALIDHOSTKEY
Definition sfFTPLib.idl:8628
@ FTPLIB_E_SSH_UNEXPECTEDREMOTEID
Definition sfFTPLib.idl:8625
@ FTPLIB_E_RESTARTNOTPERMITTED
Definition sfFTPLib.idl:8604
@ FTPLIB_E_NOTLOGGEDIN
Definition sfFTPLib.idl:8619
@ FTPLIB_E_NOTINIT
Definition sfFTPLib.idl:8594
@ FTPLIB_E_SFTP_UNEXPECTEDPACKETTYPE
Definition sfFTPLib.idl:8643
@ FTPLIB_E_CHARACTERCONVERSION
Definition sfFTPLib.idl:8649
@ FTPLIB_E_COMMANDNOTIMPLEMENTEDFORARGUMENT
Definition sfFTPLib.idl:8648
@ FTPLIB_E_WRONGREPLY
Definition sfFTPLib.idl:8595
@ FTPLIB_E_SSHSERVERDETECTED
Definition sfFTPLib.idl:8650
@ FTPLIB_E_PORTCOMMANDFAILED
Definition sfFTPLib.idl:8603
@ FTPLIB_E_SETTINGMISMATCH
Definition sfFTPLib.idl:8598
@ FTPLIB_E_BOX_ACCEPTTERMSOFSERVICE
Definition sfFTPLib.idl:8615
@ FTPLIB_E_ACTIVATION_INVALIDREQUEST
Definition sfFTPLib.idl:8667
@ FTPLIB_E_DATACONNECTION_CONNECT
Definition sfFTPLib.idl:8601
@ FTPLIB_E_ACTIVATION_SUBLICENSENOTFOUND
Definition sfFTPLib.idl:8668
UnixPermissions
Defines the access permissions for files and directories on Unix-like systems.
Definition sfFTPLib.idl:8692
@ ftpUnixPermissionUserExecute
User Execute (x).
Definition sfFTPLib.idl:8753
@ ftpUnixPermissionGroupExecute
Group Execute (x).
Definition sfFTPLib.idl:8727
@ ftpUnixPermissionGroupWrite
Group Write (w).
Definition sfFTPLib.idl:8735
@ ftpUnixPermissionSystemSetUID
Set User ID (SetUID) (s).
Definition sfFTPLib.idl:8801
@ ftpUnixPermissionPublicWrite
Public Write (w).
Definition sfFTPLib.idl:8709
@ ftpUnixPermissionSystemSetGID
Set Group ID (SetGID) (s).
Definition sfFTPLib.idl:8792
@ ftpUnixPermissionPublicExecute
Public Execute (x).
Definition sfFTPLib.idl:8700
@ ftpUnixPermissionSystemSticky
Sticky Bit (t).
Definition sfFTPLib.idl:8781
@ ftpUnixPermissionPublicRead
Public Read (r).
Definition sfFTPLib.idl:8717
@ ftpUnixPermissionUserRead
User Read (r).
Definition sfFTPLib.idl:8769
@ ftpUnixPermissionUserWrite
User Write (w).
Definition sfFTPLib.idl:8761
@ ftpUnixPermissionGroupRead
Group Read (r).
Definition sfFTPLib.idl:8743
LISTOption
Flags to control the behavior and output of the FTP LIST command.
Definition sfFTPLib.idl:8859
@ ftpLISTOptionLong
Formats the output in "Long" format (detailed).
Definition sfFTPLib.idl:8866
@ ftpLISTOptionT
Sorts by modification time.
Definition sfFTPLib.idl:8889
@ ftpLISTOptionRecursive
Lists subdirectories recursively.
Definition sfFTPLib.idl:8897
@ ftpLISTOptionLinks
Follows symbolic links.
Definition sfFTPLib.idl:8881
@ ftpLISTOptionAll
Includes hidden files in the listing.
Definition sfFTPLib.idl:8874
SSHAuthentication
Identifies the authentication methods defined in the SSH-2 protocol (RFC 4252).
Definition sfFTPLib.idl:8940
@ ftpSSHAuthenticationUnknown
Definition sfFTPLib.idl:8942
@ ftpSSHAuthenticationPublicKey
Public Key authentication.
Definition sfFTPLib.idl:8986
@ ftpSSHAuthenticationSecurID
Legacy RSA SecurID authentication.
Definition sfFTPLib.idl:8996
@ ftpSSHAuthenticationHostBased
Host-Based authentication.
Definition sfFTPLib.idl:9006
@ ftpSSHAuthenticationKeyboardInteractive
Keyboard-Interactive authentication (RFC 4256).
Definition sfFTPLib.idl:8975
@ ftpSSHAuthenticationNone
The "none" authentication method.
Definition sfFTPLib.idl:8954
@ ftpSSHAuthenticationGSSAPI
GSSAPI (Generic Security Services Application Program Interface).
Definition sfFTPLib.idl:9016
@ ftpSSHAuthenticationPassword
Standard password authentication.
Definition sfFTPLib.idl:8963
LogFormat
Definition sfFTPLib.idl:828
@ ftpLogFormatUTF8
UTF-8.
Definition sfFTPLib.idl:833
@ ftpLogFormatUnicode
UTF-16 (little endian).
Definition sfFTPLib.idl:830
DataProtection
Defines the security level of a communication channel (Control or Data).
Definition sfFTPLib.idl:298
@ ftpDataProtectionPrivate
Data protection is enabled (PROT P).
Definition sfFTPLib.idl:312
@ ftpDataProtectionClear
Data protection is disabled (PROT C).
Definition sfFTPLib.idl:306
@ ftpDataProtectionUnknown
Definition sfFTPLib.idl:300
ParserFormat
Definition sfFTPLib.idl:441
@ ftpParserFormatVM
Definition sfFTPLib.idl:458
@ ftpParserFormatGXSEnterprise
Definition sfFTPLib.idl:462
@ ftpParserFormatVMS
Definition sfFTPLib.idl:445
@ ftpParserFormatSimple
Definition sfFTPLib.idl:461
@ ftpParserFormatAS400
Definition sfFTPLib.idl:451
@ ftpParserFormatTandem
Definition sfFTPLib.idl:448
@ ftpParserFormatSecurePortal2000
Definition sfFTPLib.idl:464
@ ftpParserFormatMeditech
Definition sfFTPLib.idl:465
@ ftpParserFormatMD11
Definition sfFTPLib.idl:456
@ ftpParserFormatGrassValley
Definition sfFTPLib.idl:460
@ ftpParserFormatNetware
Definition sfFTPLib.idl:453
@ ftpParserFormatVOS
Definition sfFTPLib.idl:449
@ ftpParserFormatBS2000
Definition sfFTPLib.idl:457
@ ftpParserFormatGXSInformationExchangeFTPGateway
Definition sfFTPLib.idl:463
@ ftpParserFormatOS2
Definition sfFTPLib.idl:452
@ ftpParserFormatNT
Definition sfFTPLib.idl:455
@ ftpParserFormatConnectEnterprise
Definition sfFTPLib.idl:459
@ ftpParserFormatUnix
Definition sfFTPLib.idl:443
@ ftpParserFormatpSOSystem
Definition sfFTPLib.idl:454
@ ftpParserFormatMLST
Definition sfFTPLib.idl:444
@ ftpParserFormatMVS
Definition sfFTPLib.idl:450
@ ftpParserFormatUnknown
Definition sfFTPLib.idl:442
@ ftpParserFormatVxWorks
Definition sfFTPLib.idl:446
@ ftpParserFormatDOS
Definition sfFTPLib.idl:447
FTPProtocol
Specifies the security protocol and encryption mode for the connection.
Definition sfFTPLib.idl:30
@ ftpProtocolNormal
Standard unencrypted FTP.
Definition sfFTPLib.idl:37
@ ftpProtocolSSLImplicit
Legacy Implicit TLS.
Definition sfFTPLib.idl:46
@ ftpProtocolRequireTLS
Explicit TLS (Mandatory).
Definition sfFTPLib.idl:56
@ ftpProtocolPreferTLS
Explicit TLS (Opportunistic).
Definition sfFTPLib.idl:67
PassiveMode
Specifies how the client handles the IP address returned in the FTP server's PASV response.
Definition sfFTPLib.idl:157
@ ftpPassiveModeAuto
Intelligent automatic detection (Recommended).
Definition sfFTPLib.idl:187
@ ftpPassiveModeUseHostIP
Ignore the server's IP; use the Control Connection IP.
Definition sfFTPLib.idl:177
@ ftpPassiveModeUseIPFromReply
Trust the server's PASV response (Standard Protocol Behavior).
Definition sfFTPLib.idl:167
FeatureDiscoveryMode
Determines the timing of the FEAT (Feature Discovery) command.
Definition sfFTPLib.idl:1221
@ ftpFeatureDiscoveryModeAfterLogin
The FEAT command is issued only once, immediately after a successful login.
Definition sfFTPLib.idl:1228
@ ftpFeatureDiscoveryModeBeforeAndAfterLogin
The FEAT command is issued twice: once before login and once after.
Definition sfFTPLib.idl:1237
GSSAPIMethod
Definition sfFTPLib.idl:6137
@ ftpGSSAPIMethodMITKerberos
MIT Kerberos (GSSAPI).
Definition sfFTPLib.idl:6157
@ ftpGSSAPIMethodMicrosoftKerberos
Microsoft SSPI (Security Support Provider Interface) Kerberos.
Definition sfFTPLib.idl:6173
@ ftpGSSAPIMethodUnknown
Unknown or unspecified GSSAPI method.
Definition sfFTPLib.idl:6142
SSHPublicKeyAlgo
Defines the public key algorithms used for server host keys and client authentication.
Definition sfFTPLib.idl:2264
@ ftpSSHPublicKeyAlgox509v3RSA2048SHA256
RSA-2048 key with SHA-256 wrapped in an X.509 certificate.
Definition sfFTPLib.idl:2341
@ ftpSSHPublicKeyAlgoRSASHA2256
RSA with SHA-256 (RFC 8332). Recommended RSA variant.
Definition sfFTPLib.idl:2277
@ ftpSSHPublicKeyAlgox509v3ECDSA384
ECDSA P-384 key wrapped in an X.509 certificate.
Definition sfFTPLib.idl:2333
@ ftpSSHPublicKeyAlgoMlDsa65
NIST Post-Quantum standard. Increased security strength (Category 3).
Definition sfFTPLib.idl:2315
@ ftpSSHPublicKeyAlgoECDSA256CertOpenSSH
OpenSSH Certificate using ECDSA P-256 key.
Definition sfFTPLib.idl:2367
@ ftpSSHPublicKeyAlgoEd25519CertOpenSSH
OpenSSH Certificate using Ed25519 key. Modern, high-speed standard.
Definition sfFTPLib.idl:2355
@ ftpSSHPublicKeyAlgoRSACertOpenSSH
Legacy OpenSSH Certificate using RSA key (SHA-1). Deprecated.
Definition sfFTPLib.idl:2359
@ ftpSSHPublicKeyAlgoDSACertOpenSSH
Legacy OpenSSH Certificate using DSA key. Deprecated.
Definition sfFTPLib.idl:2363
@ ftpSSHPublicKeyAlgoECDSA384CertOpenSSH
OpenSSH Certificate using ECDSA P-384 key.
Definition sfFTPLib.idl:2371
@ ftpSSHPublicKeyAlgoECDSA256
NIST P-256 Curve. Standard balance of speed and security.
Definition sfFTPLib.idl:2287
@ ftpSSHPublicKeyAlgoECDSA521
NIST P-521 Curve. Maximum security strength among standard NIST curves.
Definition sfFTPLib.idl:2295
@ ftpSSHPublicKeyAlgoUnknown
Definition sfFTPLib.idl:2266
@ ftpSSHPublicKeyAlgoRSASHA2512CertOpenSSH
OpenSSH Certificate using RSA key with SHA-512 signature.
Definition sfFTPLib.idl:2351
@ ftpSSHPublicKeyAlgoECDSA521CertOpenSSH
OpenSSH Certificate using ECDSA P-521 key.
Definition sfFTPLib.idl:2375
@ ftpSSHPublicKeyAlgox509v3ECDSA256
ECDSA P-256 key wrapped in an X.509 certificate.
Definition sfFTPLib.idl:2329
@ ftpSSHPublicKeyAlgoDSA
Digital Signature Algorithm.
Definition sfFTPLib.idl:2382
@ ftpSSHPublicKeyAlgoMlDsa87
NIST Post-Quantum standard. Maximum security strength (Category 5).
Definition sfFTPLib.idl:2319
@ ftpSSHPublicKeyAlgoECDSA384
NIST P-384 Curve. Increased security strength over P-256.
Definition sfFTPLib.idl:2291
@ ftpSSHPublicKeyAlgoRSASHA2512
RSA with SHA-512 (RFC 8332). Strongest RSA variant.
Definition sfFTPLib.idl:2281
@ ftpSSHPublicKeyAlgox509v3RSA
RSA key wrapped in an X.509 certificate.
Definition sfFTPLib.idl:2325
@ ftpSSHPublicKeyAlgoMlDsa44
NIST Post-Quantum standard (Module-Lattice-Based Digital Signature). Designed to be secure against fu...
Definition sfFTPLib.idl:2311
@ ftpSSHPublicKeyAlgoRSASHA2256CertOpenSSH
OpenSSH Certificate using RSA key with SHA-256 signature.
Definition sfFTPLib.idl:2347
@ ftpSSHPublicKeyAlgoEd25519
Edwards-curve Digital Signature Algorithm (Curve25519). Highly recommended: Immune to many side-chann...
Definition sfFTPLib.idl:2300
@ ftpSSHPublicKeyAlgox509v3ECDSA521
ECDSA P-521 key wrapped in an X.509 certificate.
Definition sfFTPLib.idl:2337
@ ftpSSHPublicKeyAlgoEd448
Ed448 (Goldilocks curve). Higher security level than Ed25519.
Definition sfFTPLib.idl:2304
@ ftpSSHPublicKeyAlgoRSA
RSA with SHA-1.
Definition sfFTPLib.idl:2273
ServerType
Identifies the operating system or server software type of the remote host.
Definition sfFTPLib.idl:482
@ ftpServerTypeICS
Definition sfFTPLib.idl:609
@ ftpServerTypeMVS
IBM MVS (Multiple Virtual Storage) / z/OS.
Definition sfFTPLib.idl:542
@ ftpServerTypepSOSystem
pSOSystem (Real-time OS).
Definition sfFTPLib.idl:579
@ ftpServerTypeMD11
McDonnell Douglas MD-11 Avionics system.
Definition sfFTPLib.idl:573
@ ftpServerTypeNetware
Novell NetWare.
Definition sfFTPLib.idl:586
@ ftpServerTypeSecurePortal2000
Definition sfFTPLib.idl:618
@ ftpServerTypeMudOS
Multi-User Dungeon Object System (LPMud).
Definition sfFTPLib.idl:624
@ ftpServerTypeUnknown
The system type could not be determined or is not supported.
Definition sfFTPLib.idl:487
@ ftpServerTypeBS2000
Definition sfFTPLib.idl:594
@ ftpServerTypeGrassValley
Definition sfFTPLib.idl:612
@ ftpServerTypeAS400
IBM AS/400 (iSeries / OS/400).
Definition sfFTPLib.idl:549
@ ftpServerTypeGXSEnterprise
Definition sfFTPLib.idl:606
@ ftpServerTypeUnix
Standard Unix-like system (Linux, BSD, AIX, Solaris).
Definition sfFTPLib.idl:497
@ ftpServerTypeNT
Microsoft Windows NT/2000/XP/Server.
Definition sfFTPLib.idl:523
@ ftpServerTypeGXSInformationExchangeFTPGateway
Definition sfFTPLib.idl:615
@ ftpServerTypeMacOS
Legacy Classic Mac OS (pre-OS X).
Definition sfFTPLib.idl:535
@ ftpServerTypePeterLewis
Peter Lewis (Stairways Software) FTP Server.
Definition sfFTPLib.idl:504
@ ftpServerTypeVMS
OpenVMS (Virtual Memory System).
Definition sfFTPLib.idl:513
@ ftpServerTypeTNTEmbeddedToolSuite
Definition sfFTPLib.idl:591
@ ftpServerTypeOS2
IBM OS/2.
Definition sfFTPLib.idl:555
@ ftpServerTypeVxWorks
Definition sfFTPLib.idl:600
@ ftpServerTypeVM
Definition sfFTPLib.idl:597
@ ftpServerTypeWindowsCE
Definition sfFTPLib.idl:603
@ ftpServerTypeTandem
HP NonStop (Tandem).
Definition sfFTPLib.idl:561
@ ftpServerTypeVOS
Stratus VOS (Virtual Operating System).
Definition sfFTPLib.idl:567
@ ftpServerTypeAmiga
Commodore Amiga OS.
Definition sfFTPLib.idl:529
DataTransferMode
Defines the transmission mode for the data connection.
Definition sfFTPLib.idl:249
@ ftpDataTransferModeUnknown
The transfer mode is unknown or not yet negotiated.
Definition sfFTPLib.idl:254
@ ftpDataTransferModeZ
Compressed Mode (MODE Z).
Definition sfFTPLib.idl:285
@ ftpDataTransferModeStream
Standard Stream Mode (MODE S).
Definition sfFTPLib.idl:268
OperatingSystem
Definition sfFTPLib.idl:681
@ ftpOperatingSystemVMS
The server is running OpenVMS.
Definition sfFTPLib.idl:709
@ ftpOperatingSystemUnknown
The operating system is unknown.
Definition sfFTPLib.idl:689
@ ftpOperatingSystemUnix
The server is running a Unix-like OS (Linux, BSD, macOS, Solaris).
Definition sfFTPLib.idl:699
@ ftpOperatingSystemWindows
The server is running a Windows-based operating system.
Definition sfFTPLib.idl:694
ItemType
Categorizes the type of a filesystem object (file, directory, link, etc.).
Definition sfFTPLib.idl:1478
@ ftpItemTypeCharacterDevice
A Character Device.
Definition sfFTPLib.idl:1526
@ ftpItemTypeSpecial
A special system file not covered by other categories.
Definition sfFTPLib.idl:1503
@ ftpItemTypeUnknown
The type could not be determined.
Definition sfFTPLib.idl:1511
@ ftpItemTypeFIFO
A FIFO (First In, First Out) named pipe.
Definition sfFTPLib.idl:1518
@ ftpItemTypeSymbolicLink
A symbolic link (symlink).
Definition sfFTPLib.idl:1497
@ ftpItemTypeSocket
A Unix Domain Socket.
Definition sfFTPLib.idl:1541
@ ftpItemTypeRegularFile
A standard data file.
Definition sfFTPLib.idl:1484
@ ftpItemTypeBlockDevice
A Block Device.
Definition sfFTPLib.idl:1534
@ ftpItemTypeDirectory
A directory (folder) containing other items.
Definition sfFTPLib.idl:1490
KeyAlgo
Definition sfFTPLib.idl:2129
@ ftpKeyAlgoEd448
Ed448 (Edwards-curve Digital Signature Algorithm).
Definition sfFTPLib.idl:2211
@ ftpKeyAlgoRSA
RSA (Rivest–Shamir–Adleman).
Definition sfFTPLib.idl:2145
@ ftpKeyAlgoECDSAP521
ECDSA with NIST P-521 Curve.
Definition sfFTPLib.idl:2193
@ ftpKeyAlgoMlDsa87
ML-DSA-87 (Module-Lattice-Based Digital Signature Standard).
Definition sfFTPLib.idl:2253
@ ftpKeyAlgoEd25519
Ed25519 (Edwards-curve Digital Signature Algorithm).
Definition sfFTPLib.idl:2202
@ ftpKeyAlgoECDSAP256
ECDSA with NIST P-256 Curve.
Definition sfFTPLib.idl:2171
@ ftpKeyAlgoDSA
DSA (Digital Signature Algorithm).
Definition sfFTPLib.idl:2158
@ ftpKeyAlgoMlDsa44
ML-DSA-44 (Module-Lattice-Based Digital Signature Standard).
Definition sfFTPLib.idl:2225
@ ftpKeyAlgoECDSAP384
ECDSA with NIST P-384 Curve.
Definition sfFTPLib.idl:2182
@ ftpKeyAlgoUnknown
Unknown or uninitialized algorithm.
Definition sfFTPLib.idl:2134
@ ftpKeyAlgoMlDsa65
ML-DSA-65 (Module-Lattice-Based Digital Signature Standard).
Definition sfFTPLib.idl:2239
SFTPConnectionStatus
Definition sfFTPLib.idl:797
@ ftpSFTPConnectionStatusInit
The SFTP subsystem is initializing.
Definition sfFTPLib.idl:813
@ ftpSFTPConnectionStatusClosing
The SFTP subsystem is shutting down.
Definition sfFTPLib.idl:824
@ ftpSFTPConnectionStatusUnknown
The SFTP subsystem is not active or is in an indeterminate state.
Definition sfFTPLib.idl:802
FTPItemAttribute
Definition sfFTPLib.idl:3029
@ ftpFTPItemAttributeAccessTime
Definition sfFTPLib.idl:3032
@ ftpFTPItemAttributeCreateTime
Definition sfFTPLib.idl:3033
@ ftpFTPItemAttributeSubSecondTimes
Definition sfFTPLib.idl:3036
@ ftpFTPItemAttributeSize
Definition sfFTPLib.idl:3030
@ ftpFTPItemAttributeUntranslatedName
Definition sfFTPLib.idl:3042
@ ftpFTPItemAttributeTextHint
Definition sfFTPLib.idl:3039
@ ftpFTPItemAttributeBits
Definition sfFTPLib.idl:3037
@ ftpFTPItemAttributeOwner
Definition sfFTPLib.idl:3045
@ ftpFTPItemAttributePermissions
Definition sfFTPLib.idl:3031
@ ftpFTPItemAttributeUnixPermissions
Definition sfFTPLib.idl:3046
@ ftpFTPItemAttributeLinkCount
Definition sfFTPLib.idl:3041
@ ftpFTPItemAttributeWindowsAttributes
Definition sfFTPLib.idl:3047
@ ftpFTPItemAttributeExtended
Definition sfFTPLib.idl:3044
@ ftpFTPItemAttributeCTime
Definition sfFTPLib.idl:3043
@ ftpFTPItemAttributeAllocationSize
Definition sfFTPLib.idl:3038
@ ftpFTPItemAttributeModifyTime
Definition sfFTPLib.idl:3034
@ ftpFTPItemAttributeGroup
Definition sfFTPLib.idl:3048
@ ftpFTPItemAttributeMimeType
Definition sfFTPLib.idl:3040
@ ftpFTPItemAttributeACL
Definition sfFTPLib.idl:3035
ServerSoftware
server software running on the remote server
Definition sfFTPLib.idl:633
@ ftpServerSoftwareWebMethods
Definition sfFTPLib.idl:673
@ ftpServerSoftwareSurgeFTP
Definition sfFTPLib.idl:647
@ ftpServerSoftwareMOVEit
Definition sfFTPLib.idl:655
@ ftpServerSoftwareMultiNet
Definition sfFTPLib.idl:675
@ ftpServerSoftwareWFTPD
Definition sfFTPLib.idl:650
@ ftpServerSoftwarePureFTPd
Definition sfFTPLib.idl:639
@ ftpServerSoftwareConnectEnterprise
Definition sfFTPLib.idl:658
@ ftpServerSoftwareMacOSX
Definition sfFTPLib.idl:664
@ ftpServerSoftwareJustCloud
Definition sfFTPLib.idl:674
@ ftpServerSoftwareFastream
Definition sfFTPLib.idl:657
@ ftpServerSoftwareMeditech
Definition sfFTPLib.idl:671
@ ftpServerSoftwareProFTPD
Definition sfFTPLib.idl:662
@ ftpServerSoftwareCerberusFTPServer
Definition sfFTPLib.idl:666
@ ftpServerSoftwareNcFTPd
Definition sfFTPLib.idl:646
@ ftpServerSoftwareGSFTPS
Definition sfFTPLib.idl:637
@ ftpServerSoftwareRaidenFTPd
Definition sfFTPLib.idl:635
@ ftpServerSoftwareTitan
Definition sfFTPLib.idl:641
@ ftpServerSoftwarezOS
Definition sfFTPLib.idl:667
@ ftpServerSoftwareGuildFTPd
Definition sfFTPLib.idl:640
@ ftpServerSoftwareServU
Definition sfFTPLib.idl:636
@ ftpServerSoftwareSnapOS
Definition sfFTPLib.idl:663
@ ftpServerSoftwareWarFTPd
Definition sfFTPLib.idl:649
@ ftpServerSoftwareiNEWS
Definition sfFTPLib.idl:656
@ ftpServerSoftwareShareIt
Definition sfFTPLib.idl:651
@ ftpServerSoftwareDrFTPd
Definition sfFTPLib.idl:643
@ ftpServerSoftwareFileZilla
Definition sfFTPLib.idl:661
@ ftpServerSoftwareOrenosv
Definition sfFTPLib.idl:642
@ ftpServerSoftwareNoFeel
Definition sfFTPLib.idl:654
@ ftpServerSoftwareTransCore
Definition sfFTPLib.idl:676
@ ftpServerSoftwareHumaxiCord
Definition sfFTPLib.idl:668
@ ftpServerSoftwareglftpd
Definition sfFTPLib.idl:645
@ ftpServerSoftwarePs3
Definition sfFTPLib.idl:670
@ ftpServerSoftwareWSFTP
Definition sfFTPLib.idl:638
@ ftpServerSoftwarecuftpd
Definition sfFTPLib.idl:665
@ ftpServerSoftwareMicrosoftFTP
Definition sfFTPLib.idl:659
@ ftpServerSoftwareOracleXMLDB
Definition sfFTPLib.idl:660
@ ftpServerSoftwareCleoVLTrader
Definition sfFTPLib.idl:672
@ ftpServerSoftwareUnknown
Definition sfFTPLib.idl:634
@ ftpServerSoftwareTopfieldPVR
Definition sfFTPLib.idl:677
@ ftpServerSoftwareGene6
Definition sfFTPLib.idl:652
@ ftpServerSoftwareMtcp
Definition sfFTPLib.idl:669
@ ftpServerSoftwaremoftpd
Definition sfFTPLib.idl:644
@ ftpServerSoftwareBlackmoon
Definition sfFTPLib.idl:648
SSHServerSoftware
Definition sfFTPLib.idl:5594
@ ftpSSHServerSoftwareSun
Definition sfFTPLib.idl:5611
@ ftpSSHServerSoftwareGSFTPS
Definition sfFTPLib.idl:5600
@ ftpSSHServerSoftwareVShell
Definition sfFTPLib.idl:5596
@ ftpSSHServerSoftwareUnknown
Definition sfFTPLib.idl:5595
@ ftpSSHServerSoftwareOpenSSH
Definition sfFTPLib.idl:5598
@ ftpSSHServerSoftwareMaverick
Definition sfFTPLib.idl:5619
@ ftpSSHServerSoftwareSecureTransport
Definition sfFTPLib.idl:5620
@ ftpSSHServerSoftwareJSCAPE
Definition sfFTPLib.idl:5606
@ ftpSSHServerSoftwareReflectionForSecureIT
Definition sfFTPLib.idl:5614
@ ftpSSHServerSoftwareSSHcomOld
Definition sfFTPLib.idl:5610
@ ftpSSHServerSoftwareFSecure
Definition sfFTPLib.idl:5609
@ ftpSSHServerSoftwareCoreFTP
Definition sfFTPLib.idl:5607
@ ftpSSHServerSoftwareProFTPD
Definition sfFTPLib.idl:5617
@ ftpSSHServerSoftwareSSHTools
Definition sfFTPLib.idl:5615
@ ftpSSHServerSoftwareOpenVMS
Definition sfFTPLib.idl:5608
@ ftpSSHServerSoftwareFTPShell
Definition sfFTPLib.idl:5603
@ ftpSSHServerSoftwareSSHTectia
Definition sfFTPLib.idl:5597
@ ftpSSHServerSoftwarezFTPServer
Definition sfFTPLib.idl:5618
@ ftpSSHServerSoftwaredropbear
Definition sfFTPLib.idl:5613
@ ftpSSHServerSoftwareXlight
Definition sfFTPLib.idl:5621
@ ftpSSHServerSoftwareWinSSHD
Definition sfFTPLib.idl:5601
@ ftpSSHServerSoftwareTitan
Definition sfFTPLib.idl:5599
@ ftpSSHServerSoftwareWSFTP
Definition sfFTPLib.idl:5602
@ ftpSSHServerSoftwareGXSSSHD
Definition sfFTPLib.idl:5616
@ ftpSSHServerSoftwarePragmaFortressSSH
Definition sfFTPLib.idl:5605
@ ftpSSHServerSoftwareWeOnlyDo
Definition sfFTPLib.idl:5604
@ ftpSSHServerSoftwareServU
Definition sfFTPLib.idl:5612
HashAlgo
Definition sfFTPLib.idl:837
@ ftpHashAlgoCRC32
CRC32. Length: 32 bit.
Definition sfFTPLib.idl:839
@ ftpHashAlgoMicrosoftQuickXorHash
Microsoft QuickXorHash Reference: Code Snippets: QuickXorHash Algorithm.
Definition sfFTPLib.idl:845
@ ftpHashAlgoSHA384
SHA384.
Definition sfFTPLib.idl:843
@ ftpHashAlgoSHA512
SHA512.
Definition sfFTPLib.idl:844
@ ftpHashAlgoUnknown
Definition sfFTPLib.idl:838
@ ftpHashAlgoMD5
MD5. Length: 128 bit. Reference: RFC 1321.
Definition sfFTPLib.idl:840
@ ftpHashAlgoSHA1
SHA1. Length: 168 bit. Reference: RFC 3174.
Definition sfFTPLib.idl:841
@ ftpHashAlgoSHA256
SHA256.
Definition sfFTPLib.idl:842
ConnectionStatus
Definition sfFTPLib.idl:779
@ ftpConnectionStatusUnknown
Definition sfFTPLib.idl:781
@ ftpConnectionStatusConnecting
Connect() is in progress.
Definition sfFTPLib.idl:784
@ ftpConnectionStatusConnected
Connected.
Definition sfFTPLib.idl:787
@ ftpConnectionStatusDisconnected
Not connected.
Definition sfFTPLib.idl:793
@ ftpConnectionStatusDisconnecting
Disconnect() is in progress.
Definition sfFTPLib.idl:790
CertificateType
Definition sfFTPLib.idl:2386
@ CertificateTypeUnknown
Definition sfFTPLib.idl:2388
@ CertificateTypex509
Standard X.509 Public Key Infrastructure (PKI) certificate.
Definition sfFTPLib.idl:2399
@ CertificateTypeOpenSSH
OpenSSH proprietary certificate format.
Definition sfFTPLib.idl:2416
ServerCapability
Definition sfFTPLib.idl:337
@ ftpServerCapabilityCopyFile
Definition sfFTPLib.idl:354
@ ftpServerCapabilitySetUnixPermissions
Definition sfFTPLib.idl:366
@ ftpServerCapabilityGetFileSize
Definition sfFTPLib.idl:339
@ ftpServerCapabilityGetMLST
Definition sfFTPLib.idl:363
@ ftpServerCapabilitySetCreateTime
Definition sfFTPLib.idl:351
@ ftpServerCapabilitySetModifyTime
Definition sfFTPLib.idl:348
@ ftpServerCapabilityStat
Definition sfFTPLib.idl:360
@ ftpServerCapabilityMachineReadableList
Definition sfFTPLib.idl:381
@ ftpServerCapabilityRange
Definition sfFTPLib.idl:378
@ ftpServerCapabilityRestart
Definition sfFTPLib.idl:369
@ ftpServerCapabilityUTF8
Definition sfFTPLib.idl:372
@ ftpServerCapabilityFXPFile
Definition sfFTPLib.idl:357
@ ftpServerCapabilityCompression
Definition sfFTPLib.idl:375
@ ftpServerCapabilityGetCreateTime
Definition sfFTPLib.idl:345
@ ftpServerCapabilityGetModifyTime
Definition sfFTPLib.idl:342
CaseSensitivity
Defines how the server handles capitalization in filenames.
Definition sfFTPLib.idl:406
@ ftpCaseSensitivityNo
The server is case-insensitive (e.g., Windows/DOS).
Definition sfFTPLib.idl:437
@ ftpCaseSensitivityUnknown
The case sensitivity of the server is unknown.
Definition sfFTPLib.idl:413
@ ftpCaseSensitivityYes
The server is case-sensitive (e.g., Unix/Linux).
Definition sfFTPLib.idl:425
KeyType
Definition sfFTPLib.idl:2111
@ ftpKeyTypeUnknown
Definition sfFTPLib.idl:2113
@ ftpKeyTypePrivateKey
Public Key.
Definition sfFTPLib.idl:2125
@ ftpKeyTypePublicKey
Private Key.
Definition sfFTPLib.idl:2119
ProtocolFamily
Definition sfFTPLib.idl:316
@ ftpProtocolFamilyUNSPEC
The protocol family is unspecified (Default).
Definition sfFTPLib.idl:321
@ ftpProtocolFamilyINET4
Internet Protocol version 4 (IPv4).
Definition sfFTPLib.idl:327
@ ftpProtocolFamilyINET6
Internet Protocol version 6 (IPv6).
Definition sfFTPLib.idl:333
SFTPStatus
Definition sfFTPLib.idl:5625
@ ftpSFTPStatusNoSpaceOnFilesystem
No Space on Filesystem.
Definition sfFTPLib.idl:5815
@ ftpSFTPStatusLinkLoop
Link Loop.
Definition sfFTPLib.idl:5745
@ ftpSFTPStatusInvalidHandle
Invalid Handle.
Definition sfFTPLib.idl:5789
@ ftpSFTPStatusFileAlreadyExists
File Already Exists.
Definition sfFTPLib.idl:5711
@ ftpSFTPStatusPermissionDenied
Permission Denied.
Definition sfFTPLib.idl:5755
@ ftpSFTPStatusUnknownPrincipal
Unknown Principal.
Definition sfFTPLib.idl:5833
@ ftpSFTPStatusFailure
Generic Failure.
Definition sfFTPLib.idl:5651
@ ftpSFTPStatusFileCorrupt
File Corrupt.
Definition sfFTPLib.idl:5873
@ ftpSFTPStatusCannotDelete
Cannot Delete.
Definition sfFTPLib.idl:5771
@ ftpSFTPStatusOk
Success.
Definition sfFTPLib.idl:5633
@ ftpSFTPStatusEOF
End of File.
Definition sfFTPLib.idl:5642
@ ftpSFTPStatusNoMedia
No Media.
Definition sfFTPLib.idl:5807
@ ftpSFTPStatusByteRangeLockRefused
Byte Range Lock Refused.
Definition sfFTPLib.idl:5857
@ ftpSFTPStatusConnectionLost
Connection Lost.
Definition sfFTPLib.idl:5683
@ ftpSFTPStatusLocalConflict
Local Conflict.
Definition sfFTPLib.idl:5841
@ ftpSFTPStatusBadMessage
Bad Message.
Definition sfFTPLib.idl:5659
@ ftpSFTPStatusQuotaExceeded
Quota Exceeded.
Definition sfFTPLib.idl:5823
@ ftpSFTPStatusDirNotEmpty
Directory Not Empty.
Definition sfFTPLib.idl:5779
@ ftpSFTPStatusNoSuchPath
No Such Path (SFTP v4+).
Definition sfFTPLib.idl:5702
@ ftpSFTPStatusNoConnection
No Connection.
Definition sfFTPLib.idl:5676
@ ftpSFTPStatusNotADirectory
Not a Directory.
Definition sfFTPLib.idl:5720
@ ftpSFTPStatusNoSuchFile
No Such File.
Definition sfFTPLib.idl:5693
@ ftpSFTPStatusNoMatchingByteRangeLock
No Matching Byte Range Lock.
Definition sfFTPLib.idl:5897
@ ftpSFTPStatusDeletePending
Delete Pending.
Definition sfFTPLib.idl:5865
@ ftpSFTPStatusFileIsADirectory
File Is a Directory.
Definition sfFTPLib.idl:5729
@ ftpSFTPStatusInvalidParameter
Invalid Parameter.
Definition sfFTPLib.idl:5797
@ ftpSFTPStatusWriteProtect
Write Protect.
Definition sfFTPLib.idl:5763
@ ftpSFTPStatusInvalidFilename
Invalid Filename.
Definition sfFTPLib.idl:5737
@ ftpSFTPStatusOwnerInvalid
Owner Invalid.
Definition sfFTPLib.idl:5881
@ ftpSFTPStatusOpUnsupported
Operation Unsupported.
Definition sfFTPLib.idl:5667
@ ftpSFTPStatusByteRangeLockConflict
Byte Range Lock Conflict.
Definition sfFTPLib.idl:5849
@ ftpSFTPStatusGroupdInvalid
Group Invalid.
Definition sfFTPLib.idl:5889
ServerCapabilityState
Definition sfFTPLib.idl:385
@ ftpServerCapabilityStateUnavailable
Definition sfFTPLib.idl:387
@ ftpServerCapabilityStateAvailable
Definition sfFTPLib.idl:390
@ ftpServerCapabilityStateUnknown
Definition sfFTPLib.idl:393
KeyFileFormat
Definition sfFTPLib.idl:8282
@ ftpKeyFileFormatOpenSSL
Support: Load Private (Yes), Load Public (N/A), Save Private (No), Save Public (N/A).
Definition sfFTPLib.idl:8288
@ ftpKeyFileFormatOpenSSH
Support: Load Private (N/A), Load Public (Yes), Save Private (N/A), Save Public (Yes).
Definition sfFTPLib.idl:8290
@ ftpKeyFileFormatUnknown
Definition sfFTPLib.idl:8283
@ ftpKeyFileFormatPKCS8
Support: Load Private (Yes), Load Public (N/A), Save Private (No), Save Public (N/A).
Definition sfFTPLib.idl:8284
@ ftpKeyFileFormatVanDyke
Support: Load Private (Yes), Load Public (N/A), Save Private (No), Save Public (N/A).
Definition sfFTPLib.idl:8286
@ ftpKeyFileFormatSSH
Support: Load Private (Yes), Load Public (Yes), Save Private (Yes), Save Public (Yes).
Definition sfFTPLib.idl:8287
@ ftpKeyFileFormatPKCS12
Support: Load Private (Yes), Load Public (N/A), Save Private (Yes), Save Public (N/A).
Definition sfFTPLib.idl:8285
@ ftpKeyFileFormatPutty
Support: Load Private (Yes), Load Public (N/A), Save Private (No), Save Public (N/A).
Definition sfFTPLib.idl:8289
DataTransferType
Defines the format used for data transfer.
Definition sfFTPLib.idl:198
@ ftpDataTransferTypeUnknown
Definition sfFTPLib.idl:200
@ ftpDataTransferTypeImage
Data transfer type is Image (Binary).
Definition sfFTPLib.idl:223
@ ftpDataTransferTypeASCII
Data transfer type is ASCII (Text).
Definition sfFTPLib.idl:212
@ ftpDataTransferTypeEBCDIC
Data transfer type is EBCDIC.
Definition sfFTPLib.idl:234
PortMode
Specifies how the client determines the IP address sent in the PORT command (Active Mode).
Definition sfFTPLib.idl:130
@ ftpPortModeManual
Use the custom IP address defined in the IFTPConnection::PortIP property.
Definition sfFTPLib.idl:149
@ ftpPortModeDefault
Use the local machine's IP address.
Definition sfFTPLib.idl:139
HMAC
Defines the Message Authentication Code (HMAC) algorithms available for data integrity.
Definition sfFTPLib.idl:1135
@ ftpHMACNone
Null MAC (No integrity).
Definition sfFTPLib.idl:1151
@ ftpHMACSHA2512Etm
HMAC-SHA2-512 EtM.
Definition sfFTPLib.idl:1179
@ ftpHMACSHA2256Etm
HMAC-SHA2-256 EtM.
Definition sfFTPLib.idl:1172
@ ftpHMACUnknown
Definition sfFTPLib.idl:1137
@ ftpHMACSHA2256
HMAC-SHA2-256.
Definition sfFTPLib.idl:1158
@ ftpHMACSHA1
HMAC-SHA1 (160-bit).
Definition sfFTPLib.idl:1144
@ ftpHMACSHA2512
HMAC-SHA2-512.
Definition sfFTPLib.idl:1165
Encryption
Defines the symmetric encryption algorithms available for the SSH tunnel.
Definition sfFTPLib.idl:1005
@ ftpEncryption3DES
Triple-DES (3DES).
Definition sfFTPLib.idl:1024
@ ftpEncryptionAES128CBC
AES in Cipher Block Chaining (CBC) mode (128-bit).
Definition sfFTPLib.idl:1034
@ ftpEncryptionAES192CTR
AES in Counter (CTR) mode (192-bit).
Definition sfFTPLib.idl:1068
@ ftpEncryptionAES256CBC
AES in Cipher Block Chaining (CBC) mode (256-bit).
Definition sfFTPLib.idl:1048
@ ftpEncryptionUnknown
Unknown or invalid algorithm.
Definition sfFTPLib.idl:1010
@ ftpEncryptionAES192CBC
AES in Cipher Block Chaining (CBC) mode (192-bit).
Definition sfFTPLib.idl:1041
@ ftpEncryptionAES256GCM
AES in Galois/Counter Mode (GCM) (256-bit).
Definition sfFTPLib.idl:1098
@ ftpEncryptionAES256CTR
AES in Counter (CTR) mode (256-bit).
Definition sfFTPLib.idl:1074
@ ftpEncryptionAES128GCM
AES in Galois/Counter Mode (GCM) (128-bit).
Definition sfFTPLib.idl:1088
@ ftpEncryptionAES128CTR
AES in Counter (CTR) mode (128-bit).
Definition sfFTPLib.idl:1062
StatusEventType
Definition sfFTPLib.idl:764
@ ftpStatusEventTypeLocalInfo
Local Info.
Definition sfFTPLib.idl:769
@ ftpStatusEventTypeLocalError
Local Error.
Definition sfFTPLib.idl:772
@ ftpStatusEventTypeLocalCommand
Local Command.
Definition sfFTPLib.idl:766
@ ftpStatusEventTypeRemote
Remote/Server reply.
Definition sfFTPLib.idl:775
SSHCompression
Identifies the compression algorithms available for the SSH connection.
Definition sfFTPLib.idl:1189
@ ftpSSHCompressionUnknown
Definition sfFTPLib.idl:1191
@ ftpSSHCompressionNone
No compression ("none").
Definition sfFTPLib.idl:1197
@ ftpSSHCompressionzlibopenssh
Delayed zlib compression ("zlib@openssh.com").
Definition sfFTPLib.idl:1210
KeyExchange
Identifies the Key Exchange (KEX) algorithms supported by the SSH client.
Definition sfFTPLib.idl:872
@ ftpKeyExchangeDiffieHellmanGroup16SHA512
Diffie-Hellman Group 16 (4096-bit) with SHA-512.
Definition sfFTPLib.idl:932
@ ftpKeyExchangeCurve25519
Curve25519 (X25519) with SHA-256.
Definition sfFTPLib.idl:971
@ ftpKeyExchangeDiffieHellmanGroupExchangeSHA1
Diffie-Hellman Group Exchange with SHA-1.
Definition sfFTPLib.idl:898
@ ftpKeyExchangeECDH256
Elliptic Curve Diffie-Hellman (NIST P-256).
Definition sfFTPLib.idl:942
@ ftpKeyExchangeCurve25519libssh
Legacy libssh-specific Curve25519 identifier.
Definition sfFTPLib.idl:981
@ ftpKeyExchangeECDH384
Elliptic Curve Diffie-Hellman (NIST P-384).
Definition sfFTPLib.idl:951
@ ftpKeyExchangeDiffieHellmanGroup14SHA256
Diffie-Hellman Group 14 (2048-bit) with SHA-256.
Definition sfFTPLib.idl:920
@ ftpKeyExchangeDiffieHellmanGroup14SHA1
Diffie-Hellman Group 14 (2048-bit) with SHA-1.
Definition sfFTPLib.idl:886
@ ftpKeyExchangeECDH521
Elliptic Curve Diffie-Hellman (NIST P-521).
Definition sfFTPLib.idl:960
@ ftpKeyExchangeUnknown
Definition sfFTPLib.idl:874
@ ftpKeyExchangeMlKem768x25519
Hybrid Post-Quantum Key Exchange (ML-KEM-768 + X25519).
Definition sfFTPLib.idl:993
@ ftpKeyExchangeDiffieHellmanGroupExchangeSHA256
Diffie-Hellman Group Exchange with SHA-256.
Definition sfFTPLib.idl:909
ProxyType
Definition sfFTPLib.idl:71
@ ftpProxyTypeHTTP
HTTP Tunneling (CONNECT method).
Definition sfFTPLib.idl:110
@ ftpProxyTypeSOCKS4
SOCKS4 Proxy.
Definition sfFTPLib.idl:93
@ ftpProxyTypeSOCKS5
SOCKS5 Proxy (RFC 1928).
Definition sfFTPLib.idl:85
@ ftpProxyTypeSOCKS4A
SOCKS4A Proxy (SOCKS4 + Domain Names).
Definition sfFTPLib.idl:101
@ ftpProxyTypeNone
Direct connection (No Proxy).
Definition sfFTPLib.idl:77